Thoughts & Articles
App development: Hybrid, Native, or JS (React Native)
There are 3 types of apps we can create for you at Slabmedia. All of them have upsides and downsides, and all of them have different price ranges.
1. Hybrid App.
This type of app is a set of code on the phone or tablet that serves as a wrapper for a mobile optimized web site - accessed through a special url. This website carries all your content. When it is created correctly, it grabs content from a website and displays it like it would any app. The app would have an icon on the device and be available in the Apple Store and Google Play, just like any other app, and modifications on the website would automatically be available on the app without re-coding and reissuing a new version.
- The speed of roll out and flexibility of changes makes this approach attractive, as does its price point.
- These are the least expensive apps to develop.
- Many popular apps like Uber, Facebook and Twitter started as hybrid apps.
- This format can be a good place to begin because it lets you test your user interface and make quick changes without having to rework the code.
- Access to special features like geolocation and the camera of the phone are all available in the latest builds of these hybrid apps, but newer features such as force touch may lag behind in availability.
- When created correctly, the app will feel like any other app, but some people notice slight lags in screen loads, or button behavior, although that is usually due to an older, slower device, or a slow internet connection.
- All of the data with the exception of a homepage splash screen, static pages, and "please wait" spinner require an internet connection to access the information online, however, in most cases, even in a native built app (option 2), your information will load from a remote server.
- The code the wraps the mobile site can sometimes lag behind the latest iOS or Android release causing the app to behave poorly until the wrapper software is updated.
Cost range to develop and deploy: $10K - $20K (avg)
2. Native App.
This type of app is created twice, once in Swift for iPhones, and once in Java for Android phones, a third app would need to be created for Windows Mobile, but that is hardly ever done anymore. A native built app makes use of all the native processes of the phone at the time of the app's release. This type of app may also make use of calls to a server for the latest information, but the layout of the app, and basic features will be stored in the app itself. These apps appear as an icon on the phone and are available in the app stores (same for all options here) but unlike the other methods, they can make use of the widest variety of special features of each phone because they run in the phone's native environment directly, without a wrapper.
- The performance of native apps is optimized for the device environment.
- The speed of launch and load will be better than other methods, though some will argue for the Pure JS method below.
- These apps will always have the best user experience just for the fact that most of the functionality in them runs directly from the device itself.
- When you want to adjust the features of the app, you need to go back to the developer and add them in a new release.
- This adds cost beyond the basic starting cost, as each new feature you add will need to be coded in twice; once for the iPhone and once for Android.
Cost range to develop and deploy: $25K - $50K (avg)
3. JS App.
- JS apps have combined advantages of the Native and Hybrid methods, allowing for optimal user experience, without double development and updates.
- They also rely upon a growing library of scripts to access advanced functionalities for new device features such as force-touch.
- These apps are still very expensive to develop and require revisions and new releases to add functionality, like the Native apps.
Cost range to develop and deploy: $80K+ (at the time of this article)