iOS native app vs. AIR app
After I had published previous blog post about my plans with weather app I led a few interesting discussions with other experienced developers on social networks about pros and cons of development of complex apps with Adobe AIR.
Before I led these discussions I was completely convinced that new version of my weather app will be again AIR app and again as many of my apps before developed with Starling framework and Feathers.
But my plans completely changed. And there are main 5 reasons why I decided to go native way this time.
1. I plan only iOS version of app so necessarily I don’t need cross platform technology.
2. For app monetization I plan to use subscription model. So to minimize problems with future app support it’s wise to minimize dependences on third party tools and libraries (like AIR, Starling, Feathers & AIR native extensions). For example for this app I need 8 AIR native extensions so it’s quite a lot dependencies.
3. Native app gives me possibility to:
- use all native features and all future features immediately without using another native extensions
- better & quicker react on sudden changes (like new version of iOS, critical system issues).
4. Apple users are very familiar with native UI components and features. So in my case is wiser and faster to use native UI components than try to reproduce similar UI and functionality with AIR & Feathers.
5. For some time I’m thinking about to learn native iOS development with Swift so this is great opportunity to finally do it.
I know that I picked more difficult and longer way because I don’t have experience with native iOS development & Swift yet but I believe that it’s good investment to the future. And finally I will be able to reliably compare native iOS development vs. AIR development based on own experience.
My first touch with native iOS development with Swift
If you have great knowledge and some real world experience with one programming language learn syntax of another language usually isn’t so hard but to get basic orientation and experience with IDE, all native APIs and app architecture is still quite time consuming (mostly always). It’s same now when I’m learning development of iOS native apps with Swift. Swift earned my sympathy on first sight. It has really clean and good readable syntax compares to Objective-C so for now I like it.
In the past when I was learning new language I usually I bought some book with good reviews, read official documentation, complete some tutorials and after that I start with development but these days there is another great and much enjoyable way how to learn new things – it’s online courses. During last 2 years I completed a few development courses on Coursera and Udemy…and all were quite good (some more some less). So about 2 weeks ago I bought this quite good looking course The Complete iOS and Swift Course: Learn by Building 15 Real World Apps and started with learning.
Now when I finished about 50% of course I have to say it’s was good investment and I’m sure that it saves me much time. Course contains almost all needed topics for finishing my weather app (for example UI, GPS, Maps, Parsing of Data, Databases, Push notifications etc.). 15 small apps which you’ll create during course give you great basics for future development. Of course with finishing this course everything only begins to become pro with Swift will take much more time but this is great start I think.
So that’s all for today. Stay tuned for next project update which will be more about app development because I’m finally starting with development of app core.