Tools to consider using in order to become a better web developer
March 18th 2017
This article aims to show you the most awesome tools for a web developer. The article is targeted towards beginners, but I think even the most experienced developers will have something to learn here.
I'm not presenting anything new under the sun, this is just a list of things that I find useful (if not necessary) when I develop software.
Sublime Text is a code editor written in Python that is available on Windows, Mac and Linux. Even though the editor can be bought, it can also be evaluated. There is no time limit for the evaluation period, making the app essentially free. I recommend using this text editor because it works on multiple platforms (thus, making the transition between one platform to another very easy) it has a ton of useful plugins and it also has a default color scheme that doesn't put a strain on your eyes.
Package Control for Sublime Text
Package Control is the Sublime Text package manager. It includes a list of over 2,500 packages available for install, and users can add any GitHub or BitBucket repository themselves. Once installed, packages are kept up-to-date automatically. Obviously, it's free to use.
DocBlockr for Sublime Text
SublimeLinter for Sublime Text
SublimeLinter is a linting framework. The actual linting is done by separate Sublime Text 3 plugins, which can be installed via Package Control. A linter is a small program that checks code for stylistic or programming errors. Linters are available for most syntaxes, from Python to HTML. This package will help you write code that it has a standard, this package is extremely useful, you should make everything possible to have a linter. The installation is usually a bit tedious, but man, it's worth to take your time setting this package up.
Emmet is a web-developer’s toolkit that can greatly improve your HTML & CSS workflow. This plugin is available for almost every editor or IDE out there, it allows you to write HTML blazing fast, it's a must have. The plugin is free to use.
EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs. The EditorConfig project consists of a file format for defining coding styles and a collection of text editor plugins that enable editors to read the file format and adhere to defined styles. EditorConfig files are easily readable and they work nicely with version control systems. This is just another must have plugin, either if you are beginner or an advanced web developer.
PHP_CodeSniffer is an essential development tool that ensures your code remains clean and consistent. This package is a must have for any PHP web developers out there. In order to get this package to work with Sublime Text, you need to install an additional plugin for the editor.
FireFTP is a free, secure, cross-platform FTP/SFTP client for Mozilla Firefox which provides easy and intuitive access to servers. The app obviously requires Firefox to be installed on your computer. I recommend using this piece of software because Firefox is available on Windows, Mac and Linux, therefore this app is also available on all of those platforms. I've had a lot of trouble looking for a good FTP client for Linux, and this is the best one I had stumbled opon.
WinSCP is an open source free FTP client, its main functionality is file transfer between local and remote computers. However it has a disadvantage, and that is that it's available only on Windows.
The command line
The Linux command line is notorious among web developers, and it should righteously be so. Given the fact that more than 90% of the world's servers are running on Linux, knowledge about the command line is a must. This app is used by web developers for logging into servers via SSH and administrate the said servers. Sorry, no download link for this one, this software comes preinstalled with all versions of Linux and Mac OS.
PuTTY is a free Windows SSH client for the Windows Operating System, the Command Prompt doesn't support SSH, therefore you need to use this little neat app to be able to login via SSH.
Git is the second best thing that Linus Torvalds has invented. Git is a distributed versioning system that tracks the content of a certain directory. By using this piece of software you build a history of your code, making it really easy to go back to a previous state if things go wrong. But that's not the only thing that makes this versioning system so popular, you can create branches, merge them and share code with other people. This software is free as in free beer.
A collection of Git extensions to provide high-level repository operations for Vincent Driessen's branching model. If you've just started with git, make sure you have this installed on your PC, it will help you a lot. Definitely a must have.
Github is an online git repository, meaning it's a website where you can find a tone of libraries on. Github is free if you want your code to be seen by other people, it supports the open source initiative. However, there is also a paid option that allows you to create private git repositories.
Bitbucket is also an online git repository, but this time around, you can use it to create private git repository. The service is free as long as your repository doesn't pass a certain number of contributors. Of course, there is also a paid plan that allows more contributors. I recommend this website for personal use.
Composer is the most used PHP dependency manager. That means that it allows you to declare the libraries your project depends on and it will manage (install/update) them for you. Composer is not a package manager in the same sense as Yum or Apt are. Yes, it deals with "packages" or libraries, but it manages them on a per-project basis. By default it does not install anything globally. Thus, it is a dependency manager. It does however support a "global" project for convenience via the global command. This software is free to use.
Packagist is the default Composer package repository. It lets you find packages and lets Composer know where to get the code from. You can use Composer to manage your project or libraries' dependencies. The website is free to use.
Node.js and NPM
Npmjs is the official registry for NPM. Find, share, and reuse packages of code from hundreds of thousands of developers — and assemble them in powerful new ways. Browsing, installing, and publishing to the npm registry is always free for open source code, there is also a payed closed source plan.