DEV Community

Mikhail Shevtsov
Mikhail Shevtsov

Posted on

Development Instruments Explained

Image description

πŸ“ Note: Thumbnail was generated using
Flux Schnell model with help of ComfyUI;
This article was written with help of NI - Natural Intelligence
πŸŽ₯ Don't have time to read? - Watch the video we created:
Avoid GitHub Actions

Development instruments πŸ› οΈ

While it’s possible to write applications using pencil and paper in practice
it’s very inconvenient. The developer has to check syntax all the time,
control changes that were made during the development process. To simplify
this work - instruments are used.

Version Control System βž•/βž–

Complex applications contain millions of lines of code spread across hundreds
of files. To keep track of the changes a Version Control System (VCS)
is used. It helps to see the difference between releases and to revert
to the previous version if needed.

Image description

Most popular VCS on the market right now is GIT - developed by
Linus Torvalds. It’s distributed - meaning that for its normal operation
no server is required.

Integrated Development Environment πŸ“„

To simplify navigation inside of the complex project source code
Integrated Development Environment (IDE) is used. Basically it’s an advanced
text editor that understands and highlights syntax of the programming language
on which the application is written. It allows developers to quickly navigate
inside of the source code and debug the application.

Image description

Debugger 🐞

Debugger is an app that allows developers to control the execution process of
the application and monitor each variable and command that is being executed.
A Step-by-Step debug of the application helps to find flaws in the execution
and business logic.

Usually the debugger app is integrated directly into IDE.

Linter βœ…

Source code that is written by the developer is not required to be pretty and
easy to read, however it is highly recommended to. It simplifies the work
of the team members who maintain the projects source codes. To avoid the
tedious process of aligning code according to the project standards the Linter
app is used. It enforces rules to keep the code clean by either showing
a warning message or automatically fixing the code.

An example of most common rules for the linter are:

Image description

  1. Line length should not exceed 80 characters;
  2. Open curly bracket for the function should be on the next line after the function definition;
  3. The body of the loop or conditional statement should be indented by 4 characters ;

Linter can work as a standalone application or as a module in IDE.

Frameworks πŸ—οΈ

Like with libraries a lot of functions in the applications are very common and
can be reused between applications. Framework - is a foundation for building
the application by focusing on the important parts such as business logic
without thinking about boring stuff such as user auth or file storage.
Frameworks drastically simplify and increase the speed of the development.

Example of a popular framework - Laravel. Out of box it includes
a lot of good features such as:

  1. User authentication and authorization;
  2. Database migrations;
  3. Job queues;
  4. File Storage;
  5. Notification & email;
  6. Events & WebSockets;

A good framework always comes with extensive documentation.

Kubernetes βš“οΈ

Writing a working application is only 50 percent of success.
Next 50 percent comes with app distribution and hosting.
To solve the problem of hosting web applications, smart people
from Google invented Kubernetes.

Kubernetes is a framework. Its purpose is to host your web application and
actively monitor that app replies to the incoming requests. If it stops
responding Kubernetes forcefully restarts the application.
Kubernetes also handles horizontal and vertical scaling of the application
according to the workload.

Conclusions πŸš€

Understanding the instruments that you are working with is the first step
towards success. So the next time you start next project collect and use
correct tools for the job.

Source: https://blog.wiregate.io/posts/development-instruments-explained

Top comments (0)