Mobile Website or Mobile App?
This article provides an overview of arguments made in various articles for deciding which platform to choose when developing projects for mobile devices. Finally, an attempt was made to create a final schematic algorithm for platform selection.
There are two areas of technical implementation of mobile projects: mobile website and mobile application.
In this case, that implementation is called a web application. Also, to avoid confusion, any option executed in a mobile device’s browser would be called a website.
A mobile app is an application developed specifically for a specific mobile platform (iOS, Android, Windows Phone). The application is usually developed in a high-level language and compiled into native operating system code to maximize performance.
There is a third option – a mobile application that includes a browser component. In this case, the mobile app part is often used for navigation and OS integration, and the web component is used to display the content. Regular users often cannot tell this option apart from the native mobile app.
One of the first arguments that app advocates give is the interface that is closer to the operating system and familiar to users. The mobile app is tightly integrated with the platform and allows you to implement the familiar responsive interface.
Also, different versions of mobile operating systems may impose their own standards that must be followed. At the same time, some innovations may not be entirely clear to ordinary users.
The main thing in this case is that the most active users (those who rate and comment on the app stores) are the “fanatics” for the latest innovations in mobile operating systems. It is worth keeping an eye on this when publicizing the project – they can be used as allies to help publicize.
The website, especially the interactive website, is far inferior to the app in terms of performance.
Mobile browsers still cannot please with high performance, moreover, web developers do not use the most optimized versions of libraries (poor implementation of these libraries does not affect “big” browsers, so you can put up with it there).
However, the application cannot always please with good performance – excessive animation and a complex interface significantly reduce its “responsiveness”.
Also, for complex graphics and animations, you should use low-level languages, develop or purchase separate specialized libraries.
In this area, apps are way ahead of the website. The app has more options to access the device.
However, the third option has already been mentioned above, when the browser component is embedded in the application, in which case this difference is smoothed out.
In addition, the level of providing access to device resources from the browser through a growing set of APIs is constantly increasing.
The site runs from a browser, so it requires a permanent network connection. It doesn’t matter if the project is carried out exclusively on the Internet.
However, even in this case, due to the peculiarities of mobile Internet access, the transition between parts of the application (browsing) is associated with unpleasant delays for the user.
Using the local datastore API might solve this problem, but I haven’t been able to find any examples of this usage yet.
Mobile apps can work offline, caching data and updating it if necessary when a connection appears. But still the application needs to be connected in the vast majority of business solutions.
To deploy a project on all or some of the specified platforms, an application needs to be developed for each of the platforms separately, each with its own development environment, language, and interface standards.
In the case of a mobile site, one version should cover the needs of all platforms. This is what it looks like in theory. But in practice, browsers on different platforms work differently.
You must support multiple versions of the same site or in your code to define the output content for the current request. Significant differences in screen sizes also affect site layout.
There is such an argument as the existence of specialists. It is believed that it is very difficult to find a specialist in mobile application development and requires very high payments.
We also took into account the fact that for each platform a separate developer is likely to be needed. Although there are many web developers and the cost of their services is comparatively less.
It seems that it all depends on the specific situation and the specific location. If there is a web developer available, it will be more profitable to develop a website, and if there are mobile developers, it may be that developing an application is not very expensive.
But again it depends on the project – if the server part is needed (which it probably is) then again a web developer will be needed, although he may not be as skilled and the labor intensity on his part is a lot. smaller .
Apps for some platforms are “linked” to a specific store (AppStore, Windows Store). Even when there is no such physical link, users are still used to finding apps in stores (Google Play).
These stores impose significant restrictions on the functionality of applications (mainly in the area of paid services), in addition, approval of each new version takes a lot of time.
For its part, the site is available instantly, just open a browser and type in the address (although if you look closely, this can be a rather tedious procedure). The new version of the website is immediately available upon publication.
The possibility of providing paid services is not limited in any way. Again, the argument is very strange – on the one hand, limitations and slow deployment in the store, on the other hand, the store already has a huge number of users and ready-made systems for providing paid services.
While it is necessary to bring users to the site and pay through the site on a mobile device, it remains a time-consuming procedure.
Lately a lot of attention has been paid to the acronym HTML5. This concept is very different if you look at it from a technical or marketing point of view.
Technologically, HTML5 is a further development of the HTML markup language. However, an important step was taken towards a greater structuring of the show, rather than a show format.
Greater multimedia features have been added to the language for audio and video playback. Added the ability to work with graphics. The CSS formatting language has been greatly expanded.
The HTML5 standard is still under development and continues to evolve.
From a marketing point of view, HTML5 is a much broader concept. It is understood that many additional APIs are more or less supported by different browsers, many interesting CSS extensions (mainly in the field of interactive rendering).
The basis of the concept is the high interactivity of the site, which allows users to take it to native applications. From a mobile development perspective, it doesn’t make much sense to significantly separate a regular website from one with HTML5.
It turns out that none of these arguments tip the balance one way or the other. Each argument has advantages and disadvantages for both solutions.
The third grouping option can also solve some problems, but at the same time generate new problems. Therefore, in each case, it is necessary to make a decision based on the current situation.
From the point of view of saving resources, web development seems to be the best choice. The main thing is not to get bogged down in the intricacies of implementation, to provide users with the most useful functionality. Remember that the main thing is the content, and the “beautiful things” (animation, graphics) take a backseat.
If you plan to work via the Internet as your main user interaction option, then of course you need to start with a site that caters not only to mobile clients, but also to stationary computer users. If successful, you can deploy mobile apps separately for specific platforms. For most business applications, this is the best option.
If the project provides more offline work and is aimed at mobile users, apps should be preferred. However, as mentioned above, a web developer may still be required.
For implementing games and other applications that require high interface performance, implementing through applications is probably a better consideration.
There are cross-platform libraries for game development that allow using a single code (or minimal changes) to implement native applications for different platforms.