In the first two blog posts of this series we took a look at four different application types: native and cross platform, and hybrid and progressive web applications. We will now spend some time working through a comparison of all of these application types and how you might be able to make an informed decision on your next development effort.
We will be presenting our thoughts on four different aspects of application development that can impact several aspects of the application development effort. Those four aspects are:
- Time to Market (TTM)
- Ease of Use and Customer Satisfaction
- Stability and Platform Support
- Developer Happiness
Time to Market
Progressive web applications and hybrid applications are likely going to give you the shortest duration to a shippable product. This is because they build off of the simplicity of web development and the efficiencies that exist in creating web applications.
Quite far behind PWAs and hybrid applications would be cross platform applications. The main benefit cross platform applications have over native applications is you can write code once and deploy to multiple platforms.
Bringing up the rear would be native applications as they tend to take the most time to correctly develop due to the configuration and slightly tedious process of setting up the application.
Ease of Use
Native applications are designed to support the given platform first and foremost, so they would be the best option if ease of use and stability are at the top of mind for your development effort.
Cross platform applications would be a close second in this area as they will have the same user interface as a native application, but there will be some degradation in performance which could result in some slightly lower customer satisfaction reports.
Coming in slightly behind cross platform applications would be both hybrid applications and PWAs. These application types are generally just not up to par when it comes to usability and stability.
Stability and Platform Support
When developing a mobile application, you will run into issues that will require help to resolve. There exist several amazing communities of developers for all different flavors of application development, which are invaluable in the development process.
Native application development leads the pack in this area as Android and iOS have great support and documentation on their APIs, libraries, and hundreds upon thousands of questions and discussions available for developers to use to resolve issues they are facing.
Cross platform applications are not far behind when it comes to developer support, but they do require the added layer of the Cross platform framework (Xamarin, for example) that results in needing to understand more documentation and tooling than you would if you were developing a native application.
PWAs and hybrid applications offer great documentation and support as well, but they are much newer technologies and don’t have as large of a user base as native and cross platform. We’ve put PWAs slightly ahead of Hybrid Applications due to the fact that hybrid applications have a slightly more complex deployment process that will require research and understanding.
Traditionally, mobile development tends to be a bit slower moving than other types of development. The introduction of things like hybrid applications and PWAs open a door to a faster paced environment where new frameworks and features are being launched all the time. Because of this, developers can leverage skills they may already have, or learn new skills quickly. This makes me put hybrid applications and PWAs at the top of the list when it comes to developer happiness.
I’d put native applications on the list next because of the new operating systems, APIs, and other add on libraries that are being introduced frequently. Native applications also have great developer documentation and a large user base, so you always have a community of developers who have likely already encountered and solved the same issue you’re facing.
Cross platform applications come in last primarily because the cross platform tools themselves update fairly regularly, but as we discussed in the previous post, there is significant overhead in managing a cross platform application that can be draining on team members.
Wrap-up and final thoughts
As with any blog or informational post, the content shared previously will not answer the question of what type of mobile application you need. There are many strengths and weaknesses for each application type, so the question really comes down to who your end users are and what you are looking to gain from the development process.
If you want a quick time to market and to reach as many users as possible, a hybrid application or PWA is likely a good choice. If you need a stunning user interface, native application is the way to go. If you want your team members to develop skills for the future and to be able to be generalists, a cross platform application might be the direction you want to go.
In the end, you can make any of these choices work for your needs, though there should be a clear indication as to which option is likely the best choice for you. Take the information presented above and see if that guides you to your answer. If it does, great! If not, consider reaching out to us on our contact page and we would be happy to chat with you and potentially give some insight into what we think you should do to build the best mobile application with the resources at hand.
Lastly, be on the lookout for more detailed posts on each of these different application types in the future as we dive into developing applications in each of these technologies!
Do you need help determining the path forward for your mobile app? Join in the conversation below or Contact Us.