⬆️ ⬇️

Mobile website or mobile app?

This essay gives an overview of the arguments cited in various articles for deciding which platform to choose when developing projects for mobile devices. At the end is an attempt to make a schematic final algorithm for choosing a platform.





Definitions





There are two directions for the technical implementation of projects for mobile devices: a mobile web site and a mobile application.

')

A mobile website will be a specialized website adapted for viewing and functioning on a mobile device. The site may include interactive components using JavaScript, HTML5, new browser APIs. In this case, this implementation is called a web application. Further, to avoid confusion, any option that works inside the browser of a mobile device will be called a web site.



A mobile application is a specially developed application for a specific mobile platform (iOS, Android, Windows Phone). Typically, an application is developed in a high-level language and compiled into a native OS code that gives maximum performance.



There is a third option - a mobile application that includes a browser component. In this case, part of the mobile application is most often used for navigation and integration with the OS, and the web component is used to display content. Regular users can often not distinguish this option from the native mobile application.



Arguments





Interface




One of the first arguments that proponents of applications bring is closest to the OS and familiar to users. Indeed, the mobile application is most closely integrated with the platform and allows you to implement the usual responsive interface. On the other hand, a web site using good formatting and using JavaScript can provide an understandable method of interaction. At the moment, the web site review is significantly inferior to the application, but the power of mobile devices continues to grow and the browsers themselves are significantly changing for the better. In addition, different versions of mobile OS can dictate their standards, which have to adhere. However, some innovations may not be clear to ordinary users. Essential in this case is that the most active users (those who put the rating and makes comments in the app stores) are those who are “fanatic” from the latest innovations of the mobile OS. It is worth paying attention to when promoting the project - they can be used as allies to help the spread.



Speed ​​performance




A web site, especially interactive, is significantly inferior to the application in terms of speed. Browsers of mobile devices can not yet please with high performance, in addition, web developers use not the most optimized versions of libraries (poor implementation of these libraries does not affect the "big" browsers, so you can put up with it there). However, the application can not always be happy with good speed - excessive animation, a complex interface significantly reduces the "response". In addition, for complex graphics and animation, you have to use languages ​​of a lower level, to develop or buy separate specialized libraries.



Platform Integration




In this area, applications are far ahead of the site. The application has much more opportunities to access the device. However, the third option was mentioned above, when the browser component is embedded in the application and in this case such a difference is leveled. In addition, the level of providing access to device capabilities from the browser through an expanding set of APIs is constantly growing.



Internet availability




A web site is launched from a browser, therefore it requires a constant connection to the network. It does not matter if the project is implemented exclusively as an online one. However, even in this case, the transition between parts of the application (navigation) is associated with unpleasant delays for the user due to the peculiarities of mobile Internet access. Perhaps the use of the API for storing local data will solve this problem, but so far no examples of this use have been found. Mobile applications can perform work without connection, performing caching and updating data, if required, when a connection appears. But still, the application needs to connect to the vast majority of business decisions.



Fragmentation




To implement a project on all or any specific platforms, it is required to develop an application for each of the platforms separately, and each has its own development environment and language, its own interface standards. In the case of a mobile site, one version should cover the needs of all platforms. It looks like in theory. But in practice, it turns out that browsers on different platforms function differently. It is necessary to support either several versions of the same site, or in the code to adjust the output content to the current request. Significant differences in screen sizes also affect the layout of the site.



Resources




There is such an argument as the availability of specialists. It is believed that a specialist for developing mobile applications is very difficult to find and requires a very high payment. We also take into account the fact that, under each platform, most likely, a separate developer will be required. While web developers are very much and their services are relatively less worth. Apparently it all depends on the specific situation and specific location. If there is a web-developer, the most beneficial would be to develop a web site, if there are mobile developers, then it may well be not too expensive to develop an application. But again, it depends on the project - if the server part is needed (and it will most likely be needed), then again a web developer will be needed, although it is possible that not such high qualification and the complexity of its part will be significantly lower.



Publication




Applications of some platforms are tied to a specific store (AppStore, Windows Store). Even if there is no such tight binding, users are still used to finding applications in stores (Google Play). These stores impose significant restrictions on the functions of the applications (primarily in the field of paid services), and it also takes much time to approve each new version. For its part, the web site is accessible immediately, just open the browser and enter the address (although if you look closely, this can be quite a laborious action). The new version of the web site is available immediately at the time of publication. The possibility of providing paid services is not limited in any way. Again, the argument is quite peculiar - on the one hand there is a limitation and slow publication in the store, on the other - the store already has a huge number of users and ready-made systems for the provision of paid services. While it is necessary to bring users to the site and payment through the site on a mobile device remains a very time-consuming procedure.



HTML5





Much attention has recently been paid to the HTML5 abbreviation. This concept is significantly different when viewed from a marketing or technical point of view.



Technologically, HTML5 is a further development of the HTML markup language. However, a significant step has been made towards a more structural presentation than the display format. The language added great multimedia features for playing audio and video. Added the ability to work with graphics. Significantly expanded CSS formatting language. Several APIs have been added to the JavaScript language for working with graphics, local data, multimedia content. The language itself has been significantly reworked in the direction of increasing speed. The HTML5 standard is still in development and continues to be expanded.



From a marketing point of view, HTML5 is a much broader concept. Under it, there are many more additional APIs that are supported to a varying degree by various browsers, many interesting CSS extensions (primarily in the area of ​​interactive display). The basis of the concept is the high interactivity of the site, which allows users to take it for native applications.

From the point of view of mobile development, it is essential to separate a regular web site and a site using HTML5 does not make sense. In fact, interactivity in one way or another, implemented using JavaScript and new APIs, becomes the standard of any site. It is not advisable to single out HTML5 website developers and HTML5 developers separately - a web developer should be fluent in HTML5 technologies and use them if the project is conveniently implemented using the latest developments.



findings




As it turns out, none of these arguments tip the scales in one direction or another. Each argument has both advantages and disadvantages of both solutions. The third, combined, option can also solve some of the problems, but it also creates new ones. Therefore, in each case it is necessary to make a decision based on the current situation.



From the point of view of saving resources, the most preferred option is web development. The main thing is not to get bogged down with the intricacies of implementation, to provide the most useful functions to users. Remember that the main thing is content, and the “beautiful” (animation, graphics) fade into the background.



If an online project is planned to work as a main user interaction option, of course, you need to start from a site that can cover not only mobile clients, but also desktop users. If successful, you can further implement separately mobile applications on selected platforms. For most business applications, this option is most suitable.



If the project provides more offline work and is aimed at mobile users, then you should give preference to applications. However, as mentioned above, a web developer may still be required.

To implement games and other applications that require high interface performance, it is likely to be more far-reaching to implement through applications. There are cross-platform game development libraries that allow using native code (or with minimal changes) to implement native applications for various platforms.

Source: https://habr.com/ru/post/168843/



All Articles