Hello, I am Justin Tindle a Senior Consultant at KiZAN Technologies and I will be providing a guest entry on “Building Mobile Apps Native VS Hybrid.” This post builds on top of Mike Branstein’s “5 Ways to Get Started with Mobile Apps Today” post. There is a lot of confusion around building mobile apps and what path to take for development. In this post, you will learn about building mobile app native vs hybrid, how you could build your next mobile app, and help make the right decisions for your business.
Native
Native mobile apps are built using the native tools for that platform. Each platform has its own language and own tools for building these mobile apps. Native apps will perform better than hybrid apps and will have full access to the functionality of a given device.
Technologies
The following table will list the platforms and the associated development tools and languages.
Platform | IDE | Language |
iOS | Xcode | Objective-c and Swift |
Android | Eclipse, IntelliJ, Android Studio, etc. | Java |
Windows Phone | Visual Studio | C# |
Pros
- Unrestricted access to the platform
- UI specific to each platform
- Maximum performance – you are working directly on the metal
- Only limits are the platform and your imagination
Cons
- Most expensive, least flexible for cross-platform development
- Need to learn language and tools for each platform
- Shortage of developers
- Low code reuse between platforms
Best For
- Single-platform mobile app
- App’s requirements exceed capabilities of hybrid framework
- Performance optimized apps
- Graphic intensive games / Unique Interfaces
Hybrid
Hybrid mobile apps are built using web technologies and skills most developers already have. A single hybrid app can be built that can be ran on multiple platforms with nearly 100% code reuse. Basically, you deploy an app in a native container and your web assets are loaded into a web view. At this point your hybrid application is running in an internal browser on that platform. There are many frameworks, platforms, and technologies that can assist you with building a hybrid app since you are utilizing your web development skills.
Technologies
At the core of this hybrid app revolution is a framework known as Adobe PhoneGap (aka Apache Cordova) that allows a developer to access native APIs via JavaScript using a mechanism known as a foreign function interface.
Technology | IDE | Language | Platforms |
Telerik Platform (No Mac required) | Web browser, desktop client, Visual Studio, Sublime Text | HTML, JavaScript, CSS | iOS, Android, Windows Phone |
Xamarin (Mac required) | Xamarin Studio, Visual Studio | Native App – C#Hybrid App – HTML, JavaScript, CSS | iOS, Android, Windows, Mac, and more |
Pros
- Familiar technologies for developers – HTML, JavaScript, and CSS.
- Use your web IDE of choice
- Cheaper to build – even cheaper across multiple platforms
- Mostly common code base – high amount of code reuse across platforms
- Many, many web based frameworks available to help build hybrid apps
Cons
- Native apps have better performance than hybrid
- Your application is running at a layer above native within the browser of that platform
- Takes a lot of experience and knowledge to build a hybrid app that is near native performance
- Cross browser issues still exist
- Doesn’t always look or feel native
Best For
- Developers with web development experience
- Quick to market apps
- Cross-platform apps
- Line of Business apps
- Simple apps
What Next?
When building your next mobile app you need to take into consideration what platforms you are building for and what you and your team’s skillsets are. You will want to leverage the skillsets that match the appropriate native or hybrid app technologies. Also, consider what type of app you are building, how quickly you need to get to market, and how much do you want to spend on development. These requirements can affect whether you build a native or hybrid app. Please feel free to comment on your experiences with building mobile apps native VS hybrid!
Thanks for the guest post, Justin!
Great Post !! Share worthy info.