Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Is Native iOS Dev Always Best?

58 views

Published on

I gave a talk at 360iDev in 2018 and discussed the different ways to build mobile apps for both the Android and iOS platforms. In doing so, I compared the three major categories of mobile development: web-based, cross-platform, and native, and explore the question: Is Native iOS Dev Always Best?

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Is Native iOS Dev Always Best?

  1. 1. Is Native iOS Dev Always Best? Vui Nguyen sunfishempire.com @sunfishgurl
  2. 2. Building a Mobile App for Two Platforms: What Are Your Choices?Web-Based/Wrapper Cordova/PhoneGap, Ionic Cross Platform Titanium, Xamarin, React Native 2 Fully Native Apps Objective-C, Swift, Java, Kotlin
  3. 3. How do you choose? It depends on your situation Entrepreneur Freelance dev Corporate dev what you’re building my recommendations
  4. 4. Why Am I Talking About This Topic?
  5. 5. My Journey as a Mobile Dev (Highlights) Laid off from corporate job as Java dev in 2009 We were still in the throes of the Great Recession …. Did web design, and learned I was not a designer! Then “smartphones” came out
  6. 6. I wanted to be an Entrepreneur I wanted to have it all! Build an app that can run on all the platforms - make lots of $$ from residuals Work as a freelancer so I can be my own boss “All” I had to do was convince companies to build Cross-Platform Apps! Easy, right? Right??
  7. 7. Going All In on Titanium
  8. 8. But Titanium Was Ahead of Its Time
  9. 9. Returning to Corporate Dev With Titanium ahead of its time and not making enough $$ as a freelance dev, I went back to being a corporate dev aka “corporate shill”
  10. 10. Web-Based/Wrapper Pro: Web-based apps make a lot of sense here Con: UI may not provide a Native user experience Con: Not good for apps that require heavy hardware usage (SLOW) Con: Expected to know about both platforms Con: More responsibility != greater pay if working for entrepreneur Con: Getting all the test devices if freelancer Pro: Great for building MVP / limited distribution Con: SDKs /library/community support not good as native Pro: Can leverage existing knowledge of previous languages
  11. 11. Cross Platform Pro: Useful for apps with 80% or more shared code base Pro: A “Native-Looking” user experience Pro: Good for apps that require heavy hardware usage (high-performance) Con: Expected to know about both platforms, even MORE so than for Hybrid/Wrapper Con: More responsibility != greater pay if working for entrepreneur Con: Getting all the test devices if freelancer Con: SDKs /library/community support not good as native Pro: Can leverage existing knowledge of previous languages Con: Approached by “entrepreneurs” to build “great ideas” for equity
  12. 12. Cross Platform Con: You MUST build and test apps for both platforms in parallel!
  13. 13. NativeCon: challenging maintaining 2 code bases and feature parity with other platform Con: difficult to fund for entrepreneurs testing out ideas Con: May have to find dev on other platform to provide “full solution” if freelancing Con: On legacy projects, may have to program in 2 languages for 1 platform! (Objective-C and Swift) Pro: Provide best user experience for projects that are fully funded Pro: For devs, can focus on 1 platform and do it well Pro: Great SDK/library and community support Con: Not great for web-based apps - example: PDF.js
  14. 14. Go Deep or Go Broad? Go deep, dev-wise, with 1 platform: “become an expert” Or go broad with developing for 2 platforms: “jack of all trades”
  15. 15. My RecommendationsMixing / matching cross platform & native technologies may be ideal compromise If have access to variety of talent For best native mobile user experience Code reuse where possible Titanium: add native code modules React Native: add React Native modules to native apps Native if fully funded Cross Platform if building 1 baseline correctly knowing limitations Web-based/Wrapper if plan on rewriting anyway :) Regardless of technology, helpful to know how to run business / fill market need if entrepreneur
  16. 16. At the End of The Day My freelance hustle was more famine than feast My personal apps didn’t make much money Maybe I needed a business partner to help procure gigs and develop ideas to fill a market need! But …. I’ve built and released my own apps, which run on both platforms Might run my own business again someday, who knows? Right now, career stability is a higher priority but at least I’m still a mobile developer In spite of hardships, my Titanium freelancing days led to my present career: working as an native iOS developer from home
  17. 17. Conclusions
  18. 18. Thank you! I’m Vui Nguyen Follow me: @sunfishgurl sunfishempire.com

×