[quote=210185:@Beatrix Willius]@Michel Bujardet : I’d love to agree with you. I really dread redoing all my code. However, in the last years we have been taught by both Xojo AND Apple to start conversion early and to just do it. My trust in both companies just isn’t there.
Tomorrow Apple comes and says that a new library needs to be used for signing apps. Or there is a crash bug in folderitems. And Xojo says “oh, we can only do the change for the new framework”. It’s not like we haven’t had this before.
[/quote]
Contrary to you, my experience with RB/Xojo has been for 13 years one of remarkable stability, throughout all the crazy moves Apple has done, changing twice hardware base (68000 -> PPC -> Intel -> God knows what tomorrow ARM ?). If I had stayed with other tools, I would have had to rewrite large portions of code every time. I am not unique here, with many people here having such code that bonified with age instead of decaying.
As you say, it is a question of trust. I cannot change your feelings. Just share my experience.
About trust, I would not trust Apple even if they pretended being nice. All counts for them is bottom line, and when one is the most profitable company ever, to hell with those pesky developers small fish anyway. At every iteration of their system, would that be on Mac or iOS, they make sure something is not compatible. I don’t believe it is because they hate us byte crafters, but because programmed obsolescence is an integral part of their marketing ploy. Every year like clockwork they deprecate hardware by the use of a new system. That makes users feel inadequate, and they pull their credit card.
OK. I do hate when they do that. BUT I do profit from it. Lets face it, every new system is an opportunity to sell a new version, upgrades and service.
I believe Xojo is prepping indeed for the next storm, and that indeed the new framework is their best tarp against Apple whims and follies. After all, one of the main advantages of Xojo is to abstract us from the meanders of the framework in the first place. My point was not to ignore the new framework, it was not to transition too early. Becoming familiar with the new framework and experimenting with it to make sure that when needed we master it is paramount. But baking the cake weeks before birthday may be kind of unnecessary.
When you say [quote]What I’m missing is how I’m supposed to convert my 50kloc+ application to the new framework. [/quote] I am just trying to share how I would approach it. None of us has an infinite amount of time, and days are only 16 hours work ;). Setting priorities seems to me : first make sure money keeps flowing in, then prepare the transition. And on that last point, I tend to have a contingent approach : if it ain’t broke, don’t fix it. That does not mean in any way I cannot little by little update my code.
Among the possibilities you mentioned [quote]What I’m missing is how I’m supposed to convert my 50kloc+ application to the new framework. Go class by class? Go framework class by framework class like convert the memoryblocks first, then the timers and so on? Go bottom up or top down?[/quote] I would venture as saying it is probably far easier to go class by class. OOP is your friend. Also, when applicable, wrapping new framework in methods that support the older syntax saves a lot of aggravation refactoring innumerable lines of code. I have not experimented that, but it even seems feasible to create a myMemoryBlock that wraps Xojo.Core.MutableMemoryBlock or myTimer that wraps Xojo.Core.Timer and are just a replacement away to update older code. Of course, in the enchanted world of programming, not everything is ever that simple. But is it not the reason why we get paid ?