IDE, database management, editor, API tools, image compressing to simple code manipulation and why you should use these.
The tools a developer uses doesn't make him better or worse, you can be a really good programmer with notepad or it's more advanced brother notepad++.
Why would you use tools?
Notepad is an excellent choice for basic editing, though this tool doesn't make your life easier and that's where more advanced tools come in.
Type of tools I use:
- IDE Integrated development environment
- Database management tool
- API testing tools
- Light code editor
- Version control and repositories
- A browser
- Command line
- Image compressing software
IDE - PHPStorm
PHPStorm is my first choice for web development using the Symfony framework. This IDE provides excellent code autocompletion and works with every namespace PSR standard.
Find usages of specific function, follow through code with advanced highlighting and code compare functions.
Code debugging is also very easy as it support XDebug right out of the box.
Need quick database access? PHPStorm support multiple DB drives to connect you to all you need with one application.
Coding a lot with Symfony shines some very bright light on this IDE. The Symfony plugin gives you autocompletion in the symfony container and FormType completion, just great!
It's not free but you can always install the EAP (Early Access Program) which you'll need to re-install every month.
PHPStorm is a great piece of software, I've tested quite a lot of IDE's before but this is the one I'm always returning to.
Database - Sequel Pro, MySQL Workbench
There aren't many good database tools, they either are to advanced or to simple. Although I use PHPStorm for most of my database work I use the following accordingly for more advanced features.
Sequel Pro is a Mac OS only database management software, it's really easy to use and support multiple DB drivers. It's free and functional and that's why I like it.
Sequel Pro is only for Mac
This is the more advanced of the two, supports UML diagrams using reverse engineering and advanced data migration. Since it's more complicated I prefer to use Sequel Pro first before I open this one. I use this one mostly for it's UML option.
API - Postman
Postman allows you to send post, get, patch, delete, .. requests to your favourite endpoint. You can even sign in and it'll keep it's sessions to test security.
It's free, so give it a shot!
Code editor - Visual Code Studio
I've been thinking long about this one, I have tried almost all of them that I know exist. Especially the popular ones like Sublime Text, Atom, Brackets.... None of them felt as good as VCS is doing right now.
What's good about VCS?
- Integrated Git, better than any other
- It look great, no extra fuss/distractions
- Huge market of extensions for various syntax checking
- Code generation using templates
- It's free!
Version control - Git & Gitlab
If version control is not yet in your workflow, you should start today. Version control makes your life a lot easier, it may not feel like that the first time you use it but it has safed me a lot of times already.
Git is the version control system you should be using already. Created by the creator of Linux this is a great way to keep track of code changes and avoid code collision.
Gitlab is a Git repository tool, there are many tools like Gitlab such as Github, Bitbucket, .. I use Gitlab since it is a tool which does everything for me.
The built-in CI tools are as easy as cooking an egg, Gitlab is the only one that keeps track of your Git repository and also has integrated CI support using Docker images.
Gitlab is free to use, although I suggest setting up your own Gitlab CE server since that'll speed up the build times of your application.
One tool for the entire Dev-ops lifecycle!
Browser - Chrome
The browser of choice is mostly by preference, I'm always trying out new browsers but I'm drawn back to Chrome every single time.
- Chrome is fast
- Chrome has the best developers tools
- Easy to display mobile viewports
- Excellent network debugging tab
- Fast adoption to new CSS technologies
What other browser do I suggest? Firebox by Mozilla - A fast browser
Since Firefox Quantum has released I'm no longer annoyed by Firefoxe's sluggishness. Quantum is fast and smooth.
Image compression - Imageoptim
Last but not least, Imageoptim, it's a easy to use tool to compress your images before you publish them online.
This reduces the size of them image and therefor makes mobile devices happy by saving 3G/4G but also makes the page load faster for every device.
Do not let uncompressed images float around on your website, since that can give a negative impact on your SEO!
You can use File Optimizer for Windows
I hope you are able to make use of this post, this are the tools I currently use to develop every website with.
- IDE: PHPStorm
- Database: Sequel Pro, MySQL Workbench
- API tester: Postman
- Code editor: Visual Code Studio
- Version control: Git and Gitlab
- Browser: Chrome
- Image compression: Imageoptim
Have any other tools that should be listed above? Comment below and I'll take your answer in to account!