What is a web app?
Web applications, web apps, progressive web apps and PWA became a new mainstream in the software development within the last few years.
The common meaning of the term is “Any software that runs in a web browser” (see definition on TechTerms). Right. And we tend to forget about “browser” and see web apps in one line with other applications running on our mobiles and desktops.
As a result , the developers will create web apps that shall be run, supported and sold like native apps, and the users will finally see no difference between. A lot of native apps are expected to be delivered to the web. Therefore, web and browsers will be continuously improved to support this trend.
What do we forget about web apps? They are a result of websites evolution and still consist of separate webpages that primarily are considered as documents. This is the legacy of the Internet early days, when web servers were used to store and publish structured text documents and images. Web evolution has added styles to webpages and then made them dynamically generated by implementation of server-side executable code. Dynamic webpages were extended by forms with interactive elements, such as text fields, pop-ups selectors, submit buttons and etc. This made them much closer to application interfaces than to the documents and, finally the developers have extended good-old webpages again and made a new step for the web app technologies by implementation of JavaScript — a client-side executable code.
Actually, the above-mentioned definition of the web app is not complete and suitable only for very simple cases. It leaves the server-side block completely backstage. The Server-side is not just an addressable place from where a web app is loaded down. It also a data storage (database) and collection of executable scripts or even high-performance native applications to run on a server. Most of modern web apps cannot operate and even cannot exist without this.
Now, when we have remembered a real nature of web apps, we can notice key contradiction between web app development and development of native app: web apps are still considered as documents. We still build them as documents and use at least three different languages HTML, CSS and JavaScript, to say nothing about database and server-side languages like SQL, PHP, Perl, Python, Ruby, Java or whatever depending on your taste.
Such complexity can be observed, in comparison with native applications for which a single programming language is enough to build-up an application, requiring more specific developers, such as front-end and back-end, or full-stack geniuses can be used as a solution. As a result, migration of your mobile application to the web will require substantially more efforts, time and money than you have expected before.
In Aplextor we revise and improve the concept of the web app to avoid this complexity and to make web app programming process more simple, quicker and cheaper. Aplextor technology allows forgetting about browsers, servers, databases, markup, styles and protocols and focusing on building of the app using a single programming language (select any you like), a set of reusable frameworks, development patterns, like Model-View-Controller, and graphics interface builder.