Mobile web site or mobile application?

    This essay gives an overview of the arguments presented in various articles for deciding which platform to choose when developing projects for mobile devices. At the end, an attempt is made to draw up a schematic summary algorithm for selecting a platform.


    Definitions



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

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

    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 native OS code, giving maximum performance.

    There is another 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. Ordinary users often cannot distinguish such an option from a native mobile application.

    Arguments



    Interface


    One of the first arguments that proponents of applications cite is the interface that is closest to the OS and familiar to users. A truly mobile application is most closely integrated with the platform and makes it possible to implement the familiar responsive interface. On the other hand, a web site using good formatting and using JavaScript can provide a completely understandable method of interaction. At the moment, the review of the web site 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, various versions of mobile operating systems can dictate their standards, which must be adhered to. However, some of the innovations may not be completely clear to ordinary users. The essential thing in this case is that the most active users (those who rate and make comments in application stores) are those who “fan” from the latest innovations of the mobile OS. You should pay attention to this when promoting the project - they can be used as allies that help spread.

    Performance


    A Web site, and especially an interactive one, is significantly inferior to the application in terms of speed. Browsers of mobile devices cannot 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 “large” browsers in any way, so you can put up with that). However, the application can not always please with good performance - excessive animation, a complicated interface significantly reduce the “response”. In addition, for complex graphics and animation, you have to use lower-level languages, develop or buy separate specialized libraries.

    Platform integration


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

    Internet availability


    The web site is launched from the browser, therefore it requires a permanent connection to the network. It does not matter if the project is implemented exclusively as online. However, even in this case, due to the features of mobile Internet access, the transition between parts of the application (navigation) is associated with unpleasant delays for the user. Perhaps using the API to store local data will solve this problem, but so far no examples of this application have been found. Mobile applications can work without a connection, caching and updating data, if necessary, when a connection appears. But nevertheless, the application needs a connection in the vast majority of business solutions.

    Fragmentation


    To implement a project on all or some specific platforms, it is required to develop an application for each of the platforms separately, each with its own environment and development language, its own interface standards. In the case of a mobile site, one version should cover the needs of all platforms. It looks like this in theory. But in practice, it turns out that browsers on different platforms function differently. It is necessary to support either several versions of one 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 the development of 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 is required. While web developers are many and their services are relatively less expensive. Apparently it all depends on the specific situation and the specific place. If there is a web developer, then it will be most profitable to develop a web site, if there are mobile developers, it may well be not too costly to develop an application. But again, it depends on the project - if the server part is required (and it will most likely be required), then again a web developer will be needed, although it may not be of such high qualification and the laboriousness 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, then users are still used to finding applications in stores (Google Play). Such stores impose significant restrictions on the functions of applications (primarily in the field of paid services), in addition, considerable time is required for the approval of each new version. For its part, the web site is accessible immediately, it’s enough just to open a browser and enter the address (although if you look closely, this can be a rather time-consuming action). A 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 very peculiar - on the one hand, restriction and slow publication in the store, on the other, the store already has a huge number of users and ready-made systems for providing paid services. Whereas 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 been paid recently to the acronym HTML5. 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 taken towards a more structured presentation than the display format. Great multimedia features for playing audio and video have been added to the language. 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, and multimedia content. The language itself has been substantially redesigned to increase performance. The HTML5 standard is still under development and continues to be expanded.

    From a marketing point of view, HTML5 is a much broader concept. By it we understand many more additional APIs to one degree or another supported by various browsers, many interesting CSS extensions (primarily in the field 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 makes no sense to separate a regular web site from a site using HTML5. In fact, interactivity to one degree or another, implemented using JavaScript and new APIs, is becoming the standard of any site. It is not advisable to separate web site developers and HTML5 developers separately - the web developer should be fluent in HTML5 technologies and use them if the project is conveniently implemented using the latest developments.

    conclusions


    As it turns out, none of the above arguments tilts 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 at the same time gives rise to new ones. Therefore, in each case, a decision must be made based on the current situation.

    From the point of view of saving resources, web development seems to be the most preferable option. The main thing is not to get bogged down in the intricacies of the implementation, to provide the most useful functions to users. Remember that the main thing is the content, and the "prettiness" (animation, graphics) fade into the background.

    If you plan online work of the project as the main option for interacting with the user, you definitely need to start from a site that can cover not only mobile clients, but also users of stationary computers. 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 it is worth giving preference to applications. However, as mentioned above, perhaps a web developer will still be required.
    For the implementation of games and other applications requiring high-performance interfaces, it is probably more far-sighted to implement through applications. There are cross-platform libraries for developing games that allow you to implement native applications for different platforms on the same code (or with minimal changes).

    Also popular now: