As iOS 11 no longer supports 32 bit apps, I’ve been revisiting an old app that was built in Flash/ActionScript3 (and packed in 32 bit) and decided it was an opportune moment to migrate it to native iOS Xcode/Swift. Migration was quite an interesting experience, and ultimately gave me a new appreciation for Xcode/Swift, especially auto-layout, size classes, enums and type-strictness.
In general, the app looks and acts virtually identically to its predecessor. Here is the main menu for you:
But in some cases, a change was necessary. As Flash did not have access to native controls, a custom solution was used using a Starling framework called Feathers. Of course from Xcode/Swift native controls were available. I used form builder Eureka to build this up. Here’s the difference:
Charts looked a little differently too. Charts in Flash used a long-dead yahoo framework called Astra. Charts now use Daniel Gindi’s huge Charts framework, which adds some pretty cool features such as pinch to zoom and drag. Here’s the difference:
One problem that I wasn’t able to resolve was detecting data from the old version of the app in new version of the app. I couldn’t find technical information on how Air’s SharedObject was implemented, so unfortunately data has to be reset from this version. Still, better than the app simply not working!
If you’re interested in checking out the new version of the app, you can find it here.
Great job! I find Swift somewhat familiar (and in ‘some’ ways similar) to AS3 development from many years ago. I peaked into Xcode way back when I still clung to hope that Flash would survive the wrath of Steve Jobs – but immediately despised Objective as it felt like I was staring at hieroglyphics and not code. Feeling more and more comfortable with Swift these days. Will def pick up your book.
Nice one, thanks for the comment Rich. Swift is definitely a lot easier to ease into than Objective-C.