Development Environment Management Tools
When developing, multiple development environments are often used. You may have used tools like miniconda, nvm, and gvm, which are used to manage versions of python, nodejs, and go respectively. in addition, there are package management tools such as maven.
If you use a new programming language or package management tool, it is troublesome to install the corresponding version management tool. Next, we will introduce three development environment management tools: asdf, mise, and vfox.
Comparison of asdf, mise and vfox
All three are tools for managing development environments, and all provide unified command line instructions. Their functions can be expanded by installing plugins.
- asdf
Asdf was born earlier, and its plug-in ecosystem is more complete. It is mainly developed using shell scripts and can be well adapted to Linux and Mac. When it comes to support for Windows, someone raised a similar issue to the official, but no version supporting Win was provided later.
Of course, if you must use asdf on the Win platform, you can install and use it in wsl, but considering that the speed of wsl is far inferior to that of the native exe format program, and the shell itself is interpreted and executed, the speed is even slower. Therefore, except for the Win platform, other platforms recommend using asdf.
- mise
The original name of this tool is rtx. Since the original name is easily confused with the name of Nvidia’s graphics card, it was later renamed mise. It is developed in the rust programming language.
Because the backend uses asdf, it also inherits the shortcomings of asdf and also has poor support for the Win platform.
- vfox
vfox is developed in the go programming language. Compared with the other two tools, it is finally compiled into an executable file. Therefore, it is much faster and has a smaller size, and it also provides native support for the Win platform.
The only drawback is that most users of this type of tool may use Linux and Mac systems, and vfox has fewer contributors and its functions need to be improved, but it should exceed the first two in the future.
Summary
Comparing the characteristics of the three, I prefer to use vfox to manage the development environment. Despite this, I still use language-specific version management tools such as miniconda in daily life.
Even if you have learned a lot of programming languages, most people mainly use 3 or less programming languages in daily life. Solving the installation and use of three tools is more difficult than solving the bug of one tool. The former takes less time and does not require searching for solutions and then raising an issue.
In addition, I have recently found that the configuration of the environment is becoming simpler while tossing automation tools. Dev Container is a blessing for software development. Perhaps in the future, developers of any platform will not have to pay attention to the installation and configuration of the environment. I look forward to the arrival of this day.
2024-06-119 First update