Web, Cross-platform, Hybrid or Native? What's the difference?
January 9, 2007: Apple announces to reinvent the phone with the introduction of the iPhone. A groundbreaking day for not only consumers, but for app developers as well. The iPhone was launched with an advanced webbrowser for mobile called Safari. Those who wanted to build an app had to choose between four different options from this day on. Going for the development of a completely native app or choosing for a web, cross-platform or hybrid app? The differences? You read them below.
A web app is a website that is optimized for mobile, viewed in a web browser. This means that a connection to the internet is a requirement for its use.
How do web apps work?
As soon as a user goes to the website (web app) in his browser, his mobile asks the server for the corresponding website. The server will then respond with a mobile-optimized website. Here, the server (also webserver) is usually owned by the app developer himself.
The pros of web apps
One of the biggest advantages of web apps is that they can be developed very quickly. This is because a web app is developed with a single code, which can then be used on multiple devices and operating systems. This single code development can thus keep the costs down. But, this simplicity entails a number of drawbacks as well.
The cons of web apps
to the Internet is required, web apps also take a long time to load. In addition, they have very limited access to external APIs and internal functionalities of a users phone.
An API gives external applications access to information and data from an app. So it is a way in which different apps provide each other with access and exchange information.
Another disadvantage is that web apps are 'trapped' in a web browser. They are therefore not available in the app stores, where app developers can provide their target group with additional information about the app. Users are not likely to find your web app easily, since the competition on search engines like Google is way bigger than in the app stores.
How do hybrid apps work?
What are the pros of hybrid apps?
An important advantage is the development costs. As we have explained before, developing a web page is less time-consuming than native pages. App developers can therefore choose to only develop the main pages of an app natively and implement the additional pages as web pages. In addition, you do not have to upload web pages to the app store again when adjustments are required. Finally, a hybrid app does have access to the native functions of a mobile, such as the camera. Yet, a hybrid app also have some cons.
What are the cons of hybrid apps?
At first glance, users will not see the difference between a hybrid and native app. However, there is a big difference in the user experience. Hybrid apps not only have a longer loading time than native apps, but are also the same on all platforms. So you can not use the unique user functions per platform.
What is a cross-platform app? The name says it all: cross-platform apps are written with a single programming language, but are available across multiple platforms. Unlike web apps, cross-platform apps are available in the app stores and can thus be downloaded as an actual app. We are seeing more and more developers making use of an increasing number of cross-platform solutions. Can they nowadays offer the same experience as native apps? And how could we use them within M2mobi?
How do cross-platform apps work?
Once the code is written, it’s forwarded to the so-called middleware. The middleware then translates the code into the native APIs of platforms such as iOS and Android.
The pros of cross-platform apps
Because of the fact that cross-platform apps are written with a single code, they are very cost-effective and easy to implement. As an app-developer you can easily offer an app for both iOS and Android. Cross-platform apps are downloaded from the app stores and thus have their own app icon on a users mobile.
The cons of cross-platform apps
A major disadvantage of cross-platform apps is that they depend on the middleware that translates the written code into a native environment. Because of this middleware it can sometimes take pretty long before an update can be implemented. In addition, cross-platform apps are very vulnerable to bugs. In some cases, an update of the middleware is required before a bug can be fixed. Thus, you depend on the middleware, which is often out of your hands.
A bug is an error in a program, app or website that prevents it from functioning properly.
Cross-platform apps have a somewhat slower performance and often experience problems due to device fragmentation. This occurs when users use an older version of an operating system, while other users use the app on newer versions.
What is a native app? The name says it all: native apps are written in the native language of an operating system, such as Java, Objective-C or Swift. Native apps are downloaded from the appstore and function as an independent app on a device. In addition, native apps have full access to all platform APIs.
How do native apps work?
Developers write a source code for the both the iOS and Android version of the app. They add files such as photos, audio and video. Once ready to upload the app in the Apple Appstore and Google Playstore, the source-code should be compiled together with the files and delivered in a so-called package. An iOS package is called an IPA file and an Android package is called an APK file. These files can be uploaded to the app stores.
The pros of native apps
Native apps are characterized by a very good performance, better than cross-platform or web apps. Because they are written in the language of each individual operating system, an optimized UX design can be created. In addition, native apps have full access to all functionalities and sensors of a users phone. Not only push notifications, but also the camera, audio, network, storage, GPS, bluetooth or WiFi can be used.
The cons of native apps
Developing a native app requires a larger budget and takes considerably more time than a cross-platform or web app. A unique code is written for each operating system, which means that an app developer must master all programming languages. Because of these unique codes, it takes longer for a native app to be uploaded in the app stores as well.
When choosing for web, cross-platform, native or hybrid apps, there are a number of factors that you should take into account. The most important consideration is to what extent you are prepared to open a budget for an optimal user experience. Does your app serve as an online business card? Then a web app is sufficient. If you have more specific requirements, then a hybrid or cross-platform app can be a good solution. But if you want to develop an optimal user experience and there’s a large budget available, a native app offers the right solution.
M2mobi develops native apps for national and international leading customers. For each project we work with a team in which all disciplines come together. From iOS and Android, to Backend and UX Design. Go to our projects for an overview of our native apps.