How to create a web application?
To begin with, you must decide for what task this application will be used. To get an effective custom web application, both the customer and the contractor must clearly understand the requirements for the product.
How will this application be developed?
There are different ways how to build a web app.
The most modern of which is the implementation of the frontend as a single page application, where contact with the backend is implemented through the REST API. This path to creating a web application is achieved in 8 steps.
1. Working with backend business logic
There are two ways to do this: you can group the backend business logic in one service (monolithic logic), or you can implement each of its components in a separate microservice. When working with a small project, use the first method, and when working with a large project, the second is ideal.
2. Choosing a programming language
If the performance of a web application is less important to you, write in Python (frameworks Django, Flask), Node JS (frameworks Express JS, Koa JS, Gatsby JS), Ruby (frameworks Ruby on Rails, Grape). If application speed is a priority, use Golang (frameworks Gingonic, Beego, Revel). You can also use the popular Microsoft programming language C #. It is designed as an application-level language for the CLR. C # has absorbed a lot from C ++, Modul, Delphi, Smalltalk, and Java, but the difference is that C # excludes models that have proven to be problematic in software development. For example, C #, unlike C ++, does not support multiple inheritance of classes, but allows multiple implementations of interfaces.
3. Implementation of business logic
Focus on the MVC pattern first, and when you realize that the business logic is starting to get complicated, use the presenter and interactor. But remember that the presenter and interactor are at different levels and carry out different semantic and functional loads.
Presenters handle events from the user interface (UI) and act as callbacks from internal layers (Interactors). Presenters are easy to test and their job is to get information from a web application and transform it to move presenters to the screen using a View.
Interactors, in fact, contain the business logic of a web application, that is, checking conditions and processing information. Interactors work in the background and move events and information to the top level, presenters, using callbacks.
4. QA testing the backend
Testing must be done in order to know if the business logic of your web application is working correctly, and also in order not to constantly manually check the functionality of the code. Use automated testing for modules and libraries, UI / UX and API compliance. List several testing options. Develop a platform roadmap to manage trials for all types of testing. Be sure to connect the current code coverage tracking tools to ensure that your web application does not hang and works without bugs or interruptions.
5. Adding API-testing tools
For example, Swagger is smart RESTful web API documentation. In fact, it is a framework for the REST API specification, which makes it possible not only to view the specification interactively, but also to send requests called Swagger UI. It helps to understand what parameters and requests to send to the server. It will also help you document the API.
6. Working with the business logic of the frontend
The difficulty of working with the business logic of the front-end development services is that there are a lot of frameworks here. Typically, modern programming uses Angular, React, Vue. They all have their advantages and disadvantages. But I recommend that you opt for the React frontend as it is lighter, simpler, and more flexible.
7.Front-end QA testing
The frontend is tested with two main types of tests: logic and display. Logic tests check the logical implementation of functions and classes. Display tests are responsible for ensuring that the content is shown to the user in the form that you intended when writing the frontend. To carry out QA testing of the frontend, use frameworks such as Mocha, Chai, Jest, Ava, Enzyme, Jest, they are the most popular, easy to use and the most understandable of all.
8. Monitoring the quality of the web application
When you have completed the seventh stage, your web application is almost complete. Well, or it is at the final stage of readiness 98%. You need to understand how well the application is implemented, how it will work and how long its durability will last. This is where Lighthouse comes in, an open source automated tool for monitoring the quality of your web application. Lighthouse conducts a systematic audit of the performance and availability of a web application to understand the average user.
The data collected using Lighthouse will help you in the future, if necessary, modify your web application, change some details in it, or add and optimize new functions.