All Articles
Web, Native or Hybrid? All you confused to ask your contractor about
Mobile applications are a part of our everyday routine. We don’t think of them much, we just use them, until the time comes when we need to develop an app. And at this moment of truth, we realize that we lack even basic knowledge about mobile applications.
If you wanted to develop a mobile application then one of the first things your contractor would ask you is, “what type of mobile application are you interested in developing?” The reason why is because it greatly influences the mobile application development lifecycle. In order to speak the same language with your developers, we offer this brief guide to help you get a better understanding of the different types of mobile applications that you can choose from.
Actually, it is not very complicated. Mobile applications can be web, hybrid or native.
Web applications
Web applications are those that don’t depend on a user’s device. They are loaded from the Internet. They are server-based and usually do not store users’ data on a device. Web applications simply are websites. They mainly provide users with some information using a form factor compatible with a mobile phone (or a tablet). The technologies of modern browsers together with HTML5 standard make it possible for developers to create not just a website, but an application that will interact with users, send notifications, and even work in some sort of offline mode.
It is a so-called progressive web application. Nevertheless, there are still web technologies behind this type of application. The downside of web applications is their restrictions when it comes to working with a device’s hardware like GPS, gyroscope, compass, etc. For example, it is impossible to send a text message to a friend via a web app because access to the contact list stored on the device is restricted.To build such a web app, a developer does not need to have any knowledge of mobile Operation Systems (iOS for example) and does not need any Development Kit (SDK). He needs to know HTML5, CSS3, and modern JS technologies. Contemporary web applications will work on all existing platforms. Any hypothetical platform featuring a browser that could be created in the future is compatible with modern web apps. A web application is easy to update because a developer does not need to release the app to the app store after each revision. He just updates the server-side where the app is hosted. Therefore, users will always be working with the web application’s newest version. Even more, any migration will be easy and smooth.
Users most commonly search and install an app via special app stores. To run a web application, a user needs a device, a browser, Internet connection, and a link. Then a user can store this link as a bookmark on their Home Screen and use it like an app. However, it is not common for a user to save an app as a bookmark on their Home Screen. Furthermore, one of the main problems with a web application is that they are in fact not actually apps.
Why a web application may be necessary for your business
It may be a simple and a quick-to-start way to validate a business idea. Web applications are cheaper to develop compared to mobile, and it takes less time to build one from scratch. You will have only one version of the app and a single codebase. Moreover, web applications are easier to update. When the time is right, you may decide to take the next step and make a mobile app from the web application. It is not only possible to do, but it is a reasonable way to think when you are checking the potential of your idea.
Hybrid applications
Hybrid applications, similar to web applications, render HTML pages, but they use a lightweight (embedded to the app) browser for this. That is why hybrid apps are more like apps. They are installed from stores, they can work offline and even access your contacts list or other device-stored information. In hybrid applications, the page shown to a user can either be loaded via the Internet or be a part of the app itself. Such applications can even have some native modules to work with the device’s hardware. Yet, a hybrid app’s performance may be sluggish in comparison to a native one. Moreover, the UI will not look “native.” A developer will need some additional time and effort to work on the UI so that it “feels” and interacts like in a native app.
To make it simple, a hybrid app is a web app with a native covering. Subsequently, the expenses that come with creating a hybrid application are less than the creation of a native app, plus its time-to-market is shorter. Still, somewhere down the line, you may need to support several versions of your app for different platforms.
What is the use of a hybrid application?
Most of the modern applications actually can be considered as hybrid ones. The main reason is that it is much easier, in some cases, to involve an HTML page into your native app than it is to develop a platform-depended solution. The most common use cases of web pages in the apps are the “Terms of Use” screens and any other Legacy page. Another example is, you may have some reports that are already developed for the web and you do not want to rebuild them for mobile. The same goes for web applications. A hybrid may be used as a method to verify the strength of a business idea and to see where it may potentially lead. In the majority of cases, a hybrid application will not be a final solution for a worthy business idea.
Native mobile applications
Native mobile apps are intended to interact with a device’s unique features and provide the best user experience. They are platform-and user-centered. It means that native mobile apps use a device and OS features as much as possible. A user loads the app from various marketplaces (iTunes for iOS, Google Play for Android, Windows Store for Windows Phone, etc.), or in some cases from special corporate websites. A native app stores data mostly on a device and if needed synchronizes it with a cloud storage. It can work completely offline if a business model requires such a mode. It performs fast, is secure and reliable, and responds naturally.
You may be asking yourself, why then are all apps not native if everything about them works like a charm? A good question, indeed. The answer is simple. To build a native mobile application a developer should use a native platform language and a software development kit (SDK) for each selected platform. So, every feature that you have in mind should be developed from scratch, as many times as there are platforms that you would like to support. Thus, each platform — Android, iOS or Windows Phone, requires a separate version. Sometimes even a different OS version of one platform needs additional development. Usually, separate teams of developers code for different platforms because it is really hard to be an expert across all platforms. For the project’s lifecycle, such a separation means a necessity of adding some stage and time for communication and synchronization between several devs. That is why native applications are quite expensive to develop and have a longer time-to-market in comparison to any other types of apps.
Why should you choose a native application?
Native mobile applications are the most engaging and pleasant way to interact with your customer. They give your client a unique experience with your brand and product. They can send push notifications, and remind users about your company. Native apps can entertain users, they have a pleasant UI, they can use swipe gestures, and simply provide an enjoyable UX. They are reliable and usually worth every penny spent on the development. Businesses that care for their customers’ experience and are interested in nurturing long-term business relations with them often choose native mobile applications.
Cross-platform native mobile applications
A cross-platform native app is a very new solution that has been available on the market only for a few years now. The reasons why it was invented, again, are to save the resources and efforts and to provide common functionality. The drawback is that native apps are pretty expensive owing to the development of several entirely different codebases for each platform. While a cross-platform native app should resolve this problem, it is not always a guarantee.
The main idea of this type of app is to have a single codebase and use it for different platforms, and at the same time, use all of the native features: UI, animation and so on. We can say that all of the disadvantages associated with this type of mobile app are related to this main idea: It takes thorough work to create a solution that will work well enough on different platforms, that is written in different languages, and uses different UIs and hardware paradigms. Due to this, there are only a few cross-platform native solutions today. They all are not complete win-win solutions and possess both advantages and disadvantages. However, this type of mobile application is growing and it may become a new standard of a mobile app in a few years.
Why a cross-platform native application may fit your goals
Development costs and time-to-market are not the key reasons here. The development of a cross-platform native app usually takes about 20% less time and resources than that of a native app. Still, it allows you to reduce your support and maintenance costs. Any possible future bugs or small changes are much easier to fix. So, if you want to try something new, if you want to be innovative and follow a trend, then a cross-platform native app is for you. On the other hand, if you prefer a stable solution — our suggestion is to develop a native app.
Why, How, and Who for a mobile app
A mobile application, like any other product or service, consists of your strategy, goals you suppose it would reach, ways to achieve the desired result, and your target audience. Furthermore, it covers all other factors like budget, time-to-market, platforms compatibility, application features, a number of versions to support, etc. The truth is, it is you who makes the decisions, and it is again you who bears all the possible responsibilities. It is concurrently true for choosing the most appropriate type of the mobile application. A good contractor will provide you with all the possible help and information, but it is you who ultimately decides and pays. Here is a table to systemize some knowledge about the types of mobile application which we hope will help you better understand the application development lifecycle.
Web applications | Mobile applications | |||
Progressive web | Hybrid | Native | Cross-platform native | |
Distribution | Websites | Marketplaces (iTunes for iOS, Google Play for Android, Windows Store for Windows Phone, etc.) | ||
UX & UI* | Acceptable to Good | Satisfying to Good | Perfect | Good to Perfect |
Device Features | Partially Available | Available | ||
Time to market & Cost | Cheap & fast | Up to 40% cheaper and faster than native | Expensive & long | ~20% cheaper and faster than native |
Codebase | One | Up to 80% matching | One | Up to 90% matching |
Number of Versions | Single | Multiple | ||
Native features (gyroscope, compass, GPS, proximity & light sensors, etc.) | Non-available | Available | ||
Offline Mode | Available | |||
Technologies | JavaScript, HTML5 and CSS | CSS, Leaps, HTML5 and JavaScript + Native APIs and SDKs | Xcode, Swift, and Objective-C with iOS; Android Studio and Java, Kotlin with Android; Native APIs and SDKs | C#, JS, + Native (Xcode, Swift, and Objective-C with iOS; Android Studio and Java, Kotlin with Android; Native APIs and SDKs) |
Platforms | Browsers | PhoneGap, Cordova, Titanium | iOS SDK, Android SDK | Xamarin, React Native |
Existing Apps | Twitter, MailChimp, | Gmail, Uber, Yelp | Pokemon Go, Waze, Periscope | eBay, Airbnb, Facebook, Instagram, UberEATS |
* When talking about UX & UI in this table, we mean the potential opportunities that mobile developers have. We are fully aware that the final result depends on a number of factors such as technologies available, developers and designers skills & knowledge, application features and customer demands.
Here at Rozdoum, we have mobile experts who develop mobile applications with social features, geolocation, as well as security and protection of sensitive data. Receive a Quote today for your mobile application!
Stay on Top of the Latest IT Software Development Tips, Newest Offshore Trends, and Best Outsourcing Practices.