This Week’s Topic — Hybrid and Native Apps
I’m interested in building a mobile app, but I hear one of the big choices I need to make is whether to build a “hybrid” app or a “native” app. What’s the difference?
Native apps are written using the tools and frameworks provided by the platform vendor.
A native iOS app is typically written in either Objective-C or Swift, and developers use the Xcode app to write the code.
Native Android apps are written using Kotlin (if they’re newer) or Java (if they’re older), and most developers choose to use the Android Studio app to compose the code.
A hybrid app’s code, on the other hand, is written in one language and then compiled to native code in order to run on multiple platforms.
For example, if you’re using the hybrid tool Xamarin, you would write the code using C#, and then access libraries provided by Microsoft. Once the code is written, you would use the Xamarin app to compile the code down into an iOS app or an Android app.
When should I use a hybrid tool to build an app?
There are a few use cases for building on a hybrid platform:
Faster development time
Building an MVP with a hybrid tool can be a quick way to get your product to market to test out your idea.
Lower upfront costs
Because you’re writing the code one time and shooting it out everywhere, there’s lower initial costs to get your idea up and running.
Pre-existing team’s skillset
Some hybrid development tools are more comfortable for web developers to pick up instead of having to learn how to do true native app development. As a result, your current team can make progress without needing to invest the time in learning new platforms.
Why should I invest in a native solution?
Given the advantages listed above for building a hybrid app, you’ve probably deduced that building native apps requires a larger investment of resources and lengthier development time. But there are many pros to natively built apps:
Better user experience
Because you’re building with system-specific tools, features work the way users expect them to.
When you build a hybrid app, oftentimes the platform you use requires a little layer between the code you’re writing and the operating system. That little layer acts as a Rosetta Stone that translates the code you wrote into code that the phone understands. As a result, your phone needs more memory and more resources to run, making your app slower.
For the most part, a hybrid platform’s performance is pretty similar to a native experience these days. The only differences you’ll see are when you’re doing really intensive processing, like if you have a map feature in your app. Performance with maps is still something that is noticeably slower on a hybrid solution versus a native solution.
Because you don’t have a middleman between you and the phone with a natively built app, there’s one less security vulnerability.
Let’s say iOS 15 comes out next year with some fancy new feature you really want to implement in your app. If your app is built natively, you can download the SDK as soon as Apple announces it, and you can get going right away. If your app was built with a hybrid tool, you have to wait for that new fancy feature to be implemented by React Native or Xamarin or Ionic before you can implement it into your app.
Now this isn’t to say native apps are all blue skies and sunshine. For the pitfalls of native apps, as well as some quirks and limitations of hybrid apps, check out this podcast episode.
More About Our Sponsor
This week’s FAQ Friday is sponsored by The Jed Mahonis Group. The Jed Mahonis Group helps businesses strategize, design, develop, and deploy custom iOS and Android mobile applications. The company has partnered with many startups and large brands over the years to deliver software that is used by millions of people around the world, including companies such as Great Clips, Green Mill, VSI Labs, and Kwikly.
Meet Our FAQ Expert
Tim Bornholdt, Partner at The Jed Mahonis Group | @timbornholdt
Tim got his start in web development in the first grade, so he’s been building websites and apps for more than 20 years. In addition to being an accomplished software developer, Tim is also an award-winning videographer and podcaster. He currently edits the C Tolle Run podcast hosted by Olympian Carrie Tollefson, and he hosts the Constant Variables podcast where he breaks down complex mobile app development topics for entrepreneurs and product managers.
Looking for more tips on app development? Ask Tim and The Jed Mahonis Group team questions on privacy and more on Twitter at @timbornholdt.