Backend developers of web applications nowadays simply cannot do without a set of functional tools and utilities. They make the developer's work more efficient, clearer and easy to share with other colleagues. That's why we're bringing you a few tips!
In this article, we will focus on useful tools for Linux operating system. It will be appreciated especially by experienced but also junior colleagues who use distributions such as:
Debian
Ubuntu
Fedora
Development begins by accurate planning
The actual programming and creative work of the developer is always preceded by a detailed planning of the project. It is necessary to design its form, various aspects, assumptions of use and other details that are typical for this phase.
Google's popular shared documents environment will help us get the job done.
The biggest advantage is the possibility of absolute multiplatform. Because files are shared and edited directly in the browser, this solution is suitable for both team collaboration and client interaction.
There are certainly other and equally useful alternatives, but Google connected our work the most. It is a very intuitive and easily accessible set of tools with which most customers are familiar.
However, in any form of cooperation, communication is key. Even here, we don't have to go far. Quality communicators can also be found right in the browser, whether it's classic email or Slack or Discord.
(Source: google.com/docs/about)
Developer needs efficient tools
The proposal has been created and approved, so we can focus on the key job of the developer - programming. In Dactyl Group, it is standard to use PHP language in combination with quality and proven frameworks such as Yii2 or Laravel. In our development team there is unambiguously used PhpStorm from JetBrains company.
We'll tell you the main reasons right now!
PhpStorm conveniently brings everything under one roof. It's not just an improved text editor that can colour-code keywords - indexing the code makes it easy to click through to other linked elements in the program.
Keeping an eye on correct syntax is also a great help. It will immediately report any errors and warn if the programmer is not following best practices. The overall format of the syntax can be unified and shared between developers, which is why modifications to the template are also made automatically.
PhpStorm offers a range of tools that allow to:
Easy work with databases and repositories,
assistance in refactoring,
the possibility to implement own tools,
collaborative programming,
code debugging.
(Source: jetbrains.com)
The gradual development of the code is further supported by another and very well proven versioning system - Git. If you want to remind yourself of its uses and why it's basically a must-have for team development, you can read all about it in our article.
We use the SmartGit tool to make our work more convenient - especially data visualization. This multi-platform tool provides everything you need for your purpose in an intuitive graphic format.
Definitely worth a try, its creators also provide a non-commercial free version.
(Source: syntevo.com)
Don't forget about virtualization
Development is not just writing and versioning code. The virtualization toolDocker has recently been helping us to run it. A big advantage is the ability to easily configure and run a virtualized container (simulating the operation of a complete computer). This way we can test our applications easily and basically instantly.
The configuration file includes all necessary system settings in the container. This can then be shared among colleagues, run on a server service provider or run production versions of projects using the docker.
The container also includes accompanying programmes and libraries!
In addition, we plan to introduce a new Docker Desktop graphical application in the future. But we're getting ahead of ourselves, so back to the present.
(Source: docker.com)
Set up for easy testing
The classic disadvantage of backend web application development is that you can't see anything. There are simply no pages that would reveal the result in a clear form.
We usually have a programming interface API carrying a set of text commands. Even the best testers often have trouble interpreting such a jumble of text. Therefore, at this stage, we rely on tools to help us both with visualization and with testing the application we create.
The first one is Swagger UI created by the developers from SmartBear. Based on the OpenAPI prescription, it efficiently builds standardized web pages that visualize clearly:
API requests,
their required parameters,
the expected return values.
The generated page allows to test some requests directly to see if they work properly. This feature benefits us and our clients because we can present the new application to them even without a standard graphical interface.
In the API space, another incredible tool is Postman. Originally created as an installable extension for web browsers, it has evolved into a comprehensive tool for testing APIs, creating them, sharing them with colleagues, and connecting them to surrounding systems.
Thanks to its desktop application, we can for example build test collections of API requests using variable parameters.
(Source: postman.com)
Bonus gadget at the end
Finally, we would like to mention the handy Terminator tool. Unlike the movie version, this is a much friendlier piece of technology. Basically, it's a beefed up terminal emulator. It allows you to split a window into multiple terminals and open them separately on individual tabs.
We know from our own experience that when running several instances in Docker via the command line at once - and connecting to several other machines via SSH - we can't do without Terminator.
This was our developer toolbox for Linux and we hope that some of our tips will help you in your own development.
Next time we'll take a look at other operating systems and areas of the programming world.
Need a help with developing a top application or complex web solution? We'd love to get started with you! Tell us about your project.
The article was prepared by Jan Kohoutek, our backend developer and engineer specializing in computer and embedded systems.
The control question - what are cookies? Choose the correct answer.
Cookies are not sweets, but text files
We want to have an overview of how it goes on our website. But you have the power to affect how much we know about your visit.
As application and web developers, we are very interested in analytical data, so we will be grateful for your absolute consent.
Cookies Setting
Select your preferred cookie permissions, the basic ones are necessary for operation, others we can use only with your consent.
Your personal data will be processed and information from your device (cookies, personality identifiers and other data collected) may be stored.
You can always change your mind and revoke your consent using the link in the footer of this website. For more information on the use of cookies, please visit this page.