I see that more and more people who have experienced ordering a website for their own business want to order a mobile application as well. Today we would like to discuss a topical issue. We are talking about the differences in work with the custom web application development company and the site development for the customer.
Website development and application development are different things, and there are a number of differences that can become key when ordering an application. In this article, I will analyze the details and pitfalls that can make it difficult to order an application, even if you have experience ordering a site.
The site, roughly speaking, is just a set of files that are uploaded to the server. After uploading it to the domain, you can make changes at any time, which will be instantly displayed on the site itself.
The mobile application is compiled: before users can see the changes made to it, the programmer must build it, upload it to the store, which moderates it, which takes about two days, and only after that customers will be able to see the updates by installing the latest version of the application. What does it mean?
When developing a site (especially if we are not talking about a large, constantly developing portal, but about simple corporate sites, landing pages, and online stores), the customer may ask the programmer to make changes to it after placement. And a programmer can easily do this several times a day, uploading new files to the hosting.
This will not work with the application: the update must be compiled into an apk file for Android, a link must be made for the iOS device, and you can see all the changes, but they will be available to users only after moderation in the store. Therefore, it is important:
- allow additional time for moderation;
- collect all wishes for improvement, bugs and updates in a single update.
Consider all this in terms of marketing, testing and expectation: remember that when developing an application, fixing even the smallest error will take ~ two days – even if the programmer fixes it in the same minute.
2. No separation of the server and client parts.
The site has only a server part. It is fully uploaded to the hosting, all software developments are a site. When the browser accesses the site, the frontend is generated and loaded.
The mobile application consists of two parts: the client, which is installed directly on the user’s device, and the server, but unlike the site, it is not loaded on the hosting, but on a separate server. The client part connects to the server part and data is exchanged. The first usually includes interface issues and simple calculations, the server is responsible for data storage and global calculations that affect many users.
What are the advantages of the application in this regard?
Firstly, you can do some of the work without the Internet. The most frequent example of my practice is the entry of any data in a logistics product for drivers. Let’s say a person is driving along the highway somewhere in Irkutsk, where communication is at best near settlements.
The application in this case will be local: the driver simply does not have the Internet, but even in this case, he can continue to use it: record how much fuel he spent, how many kilometers traveled, etc. The application saves this data and then sends it to the server when the network appears .
It is almost impossible to do this with the site: this requires a complex revision, and it will still crash when the page is updated. Such local use of the application is provided almost everywhere – except for those that are designed for exclusive use in cities with broadband coverage.
Secondly, you have access to GPS and you can send push notifications. Through the application, you can get anything: take a picture, phone book data and much more that the OS security settings do not allow you to get through the site.
3. Error correction
In addition to delays in posting the corrected version, not one or two specialists in Peiko Company work during the development of the application (a programmer + layout designer, which can easily be combined in one person during full-stack development), but several.
Someone is responsible for the server part, someone for the client part, and it makes no sense to file claims for bugs in the server part with the client programmer. And this is normal, because there are completely different languages, so it is extremely difficult to find a full stack of an application developer who understands both the client and server parts.
There are many more development languages than in website development. Websites use PHP in 95% of cases. Yes, there are different content management systems, but PHP remains. Python is rare, and everything else is even rarer.
In mobile development, everything is more complicated. It can be native (the application is written separately for Android and iOS, i.e. two different people work on it), cross-platform, including Angular, React, Dart and less popular ones. Separately, webview development stands out: when a mobile site is made and turned around as an application.
The server part can also be implemented in different form factors: in PHP, if there are no super-high data processing requirements, in C ++, C #, Node.JS, etc. The distribution is huge: if PHP is a monopolist in web development, then there is no main monopolist in mobile development. Not only is a mobile developer already 10 times harder to find, it’s also hard to find them in the right stack.