Every day, we developers use a wide range of tools to complete our tasks. Since we all have different preferences, the tools we use can vary. However, there are many tools to choose from, and trying them out one by one can be counterproductive, not to mention difficult. So wouldn’t it be nice to have something like a Swiss army knife for developers? You know, useful tools that you could simply pull out from your favorites section? This saves you the trouble of doing extensive Google searches that might lead to procrastination.
While there’s no definitive or authoritative list, I’ve tried to gather some web development tools that I couldn’t do without.
These applications are not necessarily exclusive to development. Heck, even a college student might use these tools occasionally. But they are still essential. Once added to your arsenal, these tools will assist you in organizational activities such as note-taking, bookmarking, storing documents or resources, and general productivity tools to ensure you get the job done.
Freelance activities like web development heavily depend on productivity and organization. As a developer, you need to remember (or at least take note of) almost everything related to your work, including bug reports, deadlines, and more. Luckily, there’s a note-taking app that allows you to remember everything. Incidentally, its slogan also encourages you to “Remember everything.” That tool is Evernote.
I’ve been using Evernote for a while now and am becoming dependent on it. In fact, I have Evernote installed on every device I own. With Evernote, I can capture, upload, and sync from any device anywhere.
Evernote has various uses like tasks, lists, plans, bookmarks, and more. You can also use Evernote to have a small database of code snippets that you can use when needed. And since it comes with a web clipper, you can easily get your information from your browser to your Evernote app.
Of course, Google Drive couldn’t be missing. This tool allows me to share my documents (and files) with clients and colleagues. I usually use Drive interchangeably with Dropbox (but I prefer Drive because I find it easier to use). Google Drive also allows my colleagues to comment on documents, making communication easier and better documented.
Development is a multi-threaded process where you sometimes need other people to work with. You also need to establish good communication lines between you and your clients. Project management tools help you organize and track every activity, report, and bug.
Asana has everything you’re looking for in a project management tool: setting deadlines, tracking individual tasks, commenting and discussing tasks, and tagging each subtask.
In truth, Asana remains at the top of my list of project management tools.
However, if you’re not entirely sold on Asana, there’s Basecamp, another intuitive project management tool that allows you to create notes and tasks. Its simplicity is often Basecamp’s strength as you can navigate through the website easily without even bothering to learn (and get familiar with) the interface.
You can’t develop anything if you don’t have something to write your code with. That’s why you should choose a text editor that you really like, well, because coding is the heart of development. Here are some choices:
Sublime is a cross-platform and efficient text editor. Personally, I choose Sublime because it has excellent features like plugins and addons for language-specific tasks. There are also many keyboard shortcuts to simplify coding. It also has a distraction-free mode that allows you to focus on what you’re developing.
Before trying Sublime, I was a big fan of Notepad++, and many of you might be too, mainly because Notepad++ has been around for a long time. What I liked about Notepad++ is that it’s easy to use and combines the basic familiarity of Notepad.
But don’t be fooled by its simplicity. Notepad++ has a customizable interface where you can hide toolbars to create a distraction-free interface. It also has a document map to save you from awkward scrolling.
LOCAL DEVELOPMENT TOOLS
Making changes to a live website is dangerous; you might be able to unintentionally overwrite files, causing many problems. That’s why before implementing significant changes to your site, you should test everything locally (e.g., using localhost). Enter these tools:
XAMPP (X-OS, Apache, MySQL, PHP, PERL) is an open-source testing environment that bundles the most common tools to ensure a smoother workflow.
What I like about XAMPP is that it’s available for all operating systems; this, of course, helps when you have a couple of computers with different operating systems because you don’t have to download (and learn to use) a different software just to develop something.
MAMP (Mac, Apache, MySQL PHP) is another testing environment for developers. However, this is exclusive to Mac users.
If you’re not a Mac user (and don’t need Perl), I recommend using WAMP.
No matter how experienced a developer you are, there will be times when you won’t get what you want on the first try. Most of the time, development is trial and error. The more changes you make to your code, the more you should monitor the changes you make. Version control tools help you keep track of everything.
Git is an open-source version control and code management tool that allows you to see changes made to your project using repositories.
As a developer, you can add new features using branching and merging in Git. And the tool allows you to merge only once the code is stabilized. Making changes to your application is just safer. This is essential for teams that tend to change many things in their project and often struggle to track such changes.
BeanStalk is a code repository host and allows you (and your teammates) to collaborate and save codes remotely and send them to your server.
Obviously, when everything is in order, you need to transfer your files to your server. And for this, you need a solid FTP client. Yes, your CPanel has a file transfer client, but FTP clients can easily and quickly send multiple files to the webserver using different formats.
Filezilla is a popular open-source and cross-platform FTP client for its ease of use. Most users stick to FileZilla because it’s fast and free. The great thing about this tool is that it’s reliable and even has a portable version that you can simply plug into any computer.
For Mac users who don’t like Filezilla, Cyberduck is another option. Like its more flexible competitor, Cyberduck is free. It also has features like quick look, roar, and remote editing using one of the text editors we discussed in the previous part of the article.
IDE (INTEGRATED DEVELOPMENT ENVIRONMENTS)
IDEs are all-in-one tools that allow you to edit code, debug, file transfers, and more.
Netbeans is an open-source
Eclipse is also a great IDE. The great thing about Eclipse is that it comes with plugins that allow you to do almost anything you want.
These frameworks are mostly front-end because you don’t need to exert so much effort in building a lousy design from scratch when you can use better and cleaner frameworks.
Bootstrap is one of the most popular front-end frameworks for creating your user interface. Personally, I chose Bootstrap because it was the easiest to use among other frameworks (like Foundation). Bootstrap comes with a wide range of examples, templates, and customizable elements that can help your design look better. Also, thanks to its popularity, using Bootstrap gives you access to good support.
Like Bootstrap, Foundation also provides you with a good starting point for the responsive front-end elements you need. It has a good grid structure and is easy to style and customize.