11 Recommended Tools for Frontend Developers

A list of my favorite frontend tools.

Shaumik Daityari
Bits and Pieces

--

Image by stokpic from Pixabay

As you gain experience as a front end developer, you realize that using the right set of tools is often crucial in increasing the efficiency in your work and getting things done faster. However, with an increasing number of tools and services to choose from, it may be difficult to pick one that suits your work style.

In this post, we present to you a framework to categorize tools and services into buckets that may be helpful to you in the process of front end development. In each category, we talk about a popular option, while also giving you an alternative to choose in case you do not agree with our initial choice. Without any delay let us dive into the world of tools and services for frontend developers.

1. Text Editor: Sublime Text

Frontend developers spend a significant amount of time coding, which is typically done on a text editor or an IDE. If you are using a text editor, you need to ensure that it enhances your productivity by doing redundant and mundane tasks for you. Some of these tasks include auto-completion, text highlighting, enhanced search and replace operations, and converting between tabs and spaces.

A popular choice for a text editor is Sublime Text, a cross-platform GUI based text editor. Sublime Text allows you to seamlessly transition between files and projects, letting you focus on the code in front of you. While it comes with a fair share of functionality, the popularity of Sublime Text has skyrocketed due to its extensibility. Here are the top packages for Sublime Text for a full stack developer.

A single-use license for Sublime Text costs $80, though a fully-functional untimed trial is available.

A good alternative to Sublime Text is Atom, a free and open-source text editor created by GitHub. It provides a wide variety of functions that you would get with Sublime Text, with the added integration with Git and GitHub Desktop. Additionally, Atom provides a teletype feature that allows collaborators to work together on the same document.

While Sublime Text and Atom are great choices for working in your local system, you may feel the necessity to work with a non-GUI terminal-based text editor. You may need to use such a tool when you are remotely logging into a server and updating files on the server directly. Popular terminal-based text editors are VIM and Emacs.

2. Sharing Components: Bit

Bit (Github) lets you easily “harvest” components from any codebase and share them to a collection (a modular library) in bit.dev.

Bit versions each component individually and when you’re ready to share it, it builds and tests it in an isolated environment to make sure you’re sharing truly reusable components that are not coupled to your project.

Example: Exporting components from a React app to a shared collection in bit.dev

You and your team can browse through your collection using Bit’s search-tools and playground, npm install a shared component just like any other package or bit import it, to modify it in your local dev environment (and even push the modified version back to the shared collection).

Example: searching for shared components on Bit.dev

It’s a great way to gradually build a modular component library. Whenever you build a reusable component that’s worth sharing — simply push it to the shared Bit collection.

Use it to improve collaboration with your team, maximize code reuse, build more scalable and maintainable code, and keep a consistent UI.

Bit supports React, React with TypeScript, Vue, Angular and many more.

3. Real-Time Debugging: Chrome DevTools

When you are testing out your end product on the browser, real-time debugging tools help you change a webpage in real-time. You can manipulate the DOM, edit the CSS, and run custom JavaScript to debug your code at various levels.

Chrome DevTools, which comes in built-in Google Chrome and other Chromium-based browsers helps you perform the task of debugging on the fly. Google Chrome accounts for almost two-thirds of the market, and the underlying Chromium-based browsers account for significant share too. All of these browsers come equipped with a version of the Chrome DevTools, making it one of the most readily available tools for you to choose for real-time debugging.

While Chrome DevTools has been around since the launch of Google Chrome, a special mention in this category should go to Firebug, which was launched in 2006. Firebug has now been discontinued, but the Firefox Developer Tools was developed based on Firebug’s code.

4. GUI for Source Code Versioning: GitHub Desktop

No matter how experienced you are, it is generally a good idea to work with a version control system to manage your source code. If you are working in a team, version control helps in managing code across peers. The last ten years have seen the rise of distributed version control systems, and the two most popular options are Git and Mercurial. While they are easy to install in your local machine, we talk about two GUI tools in this post.

GitHub Desktop is GitHub’s desktop GUI tool to manage Git repositories. It has support for only Windows and Mac operating systems. GitHub Desktop provides you with a graphical alternative to commonly used Git architectures. If you use Atom, it integrates fairly well with GitHub Desktop. GitHub Desktop integrates easily with your GitHub repositories, allowing you to manage them without going to the website. The GUI tool is particularly helpful during code reviews and navigating through the history of a project.

If you use Mercurial instead of Git, you may want to try out SourceTree by BitBucket. SourceTree also supports only the Windows and Mac operating systems. If you use a Linux based operating system, the best bet for you is to try GitKraken, though its free version has limited features.

5. Data Visualization Tools: D3.js

Netizens generate a huge amount of data every day. This data is collected, processed and analyzed to generate insights. A critical step in the process of analyzing data is presenting the finding to the decision-maker. A decision-maker may be a user who is being presented to their shopping habits. Graphing tools that let you quickly visualize data have gained popularity in the last few years.

D3.js is a popular data visualization library in JavaScript. It lets you read data from multiple sources, manipulate them according to your needs and create visuals quickly. It allows for a great amount of flexibility with vector graphics as required. Advanced functions in D3.js also allow you to add animations and interactivity to charts. It is almost a decade old and has developed a considerably large community. While earlier versions of D3.js were difficult to comprehend for beginners, newer versions are more user-friendly.

D3.js provides a wide array of functions for one to choose from. If you would like a simpler interface to create charts, you should give dimple a try. Dimple is a wrapper developed over D3.js to enable you to create charts faster.

6. Code Playground: Codepen

While it is a good idea to show a completed project, you may occasionally feel the need to share a front end code snippet with a fully interactive preview to a peer for feedback. In such a situation, a code playground is a cloud-based IDE, which allows you to write and preview snippets in HTML, CSS, and JavaScript. You can share these snippets with your peers or embed them in posts. They are great while writing documentation, tutorials, and guides.

CodePen is a popular code playground that has evolved to provide many more features. CodePen allows developers to create demos of their work to share across platforms and devices. You can use externally hosted resources in your CodePen demos and projects. CodePen allows to “fork” a demo from a different developer if you need to work on it. CodePen is free to use, with a paid version starting at $8/mo.

An alternative to CodePen, JSFiddle is one of the oldest code playgrounds, that served as an inspiration for a number of subsequent tools.

7. Designer Inspiration: Adobe Color

Before you create those stunning designs on that sketchpad, you may wish to look for inspiration. Adobe Color (formerly Kuler) is a color theme application that enables you to create, browse and share color themes, that you can then sync with other Adobe applications. The use of color is an important part of a design. If you would like to discover colors that work well together, you should definitely give this tool a try.

Dribbble is a community of designers, where they promote their work and meet like-minded individuals. Dribbble allows you to selectively share your projects (in “shots”) to share your work and get feedback.

8. Accessibility Tools: JAWS

Web Accessibility is the process of making your web content adequately accessible to users of all abilities and disabilities. Depending on the country of your end-users, you may need to adhere to accessibility laws. In addition to it, you may also need to adhere to accessibility standards set by the W3C. There are some easy checks for web accessibility, beyond which you need to rely on certain tools to help you find potential loopholes. In this section, we discuss three broad categories of web accessibility tools.

A significant number of users with partial or no eyesight rely on screen readers to consume web content. Screen readers, as the name suggests, read the content of your webpage for a user to interact with. A popular screen reader for Windows is JAWS. When you are testing out your website, make sure you run it past a screen reader to check its compatibility.

WAVE is a tool that evaluates the web accessibility status of any website hosted on the Internet. It summarizes its findings in three categories — errors (red), alerts (yellow), and others.

Certain users prone to epilepsy may be sensitive to flickering content on their screen. Photosensitive Epileptic Analysis Tool (PEAT) is a tool on Windows that allows you to check whether your website has any such vulnerabilities.

Here is a complete checklist to adhere to web accessibility guidelines.

9. Site Speed Monitoring Tools: PageSpeed Insights

Site speed is an important factor that determines your ranking a search. In addition to SEO optimization, site speed also plays a critical role in user retention during page load. PageSpeed Insights is Google’s own site speed monitoring tool. It is free to use, and you just need to type the URL of the page to perform a test. You can select how the test works in a mobile or desktop, but you are unable to modify the test location. The tool provides you with specific action items, which would help you improve your site speed.

While PageSpeed Insights is a great tool to assess your site speed, you should try out WebPageTest, a free and open-source tool to test your site speed. It allows you to modify the device, browser, test location, and connection throttling. Moreover, you can also script detailed tests on the WebPageTest suite.

10. Communication Tools: Slack

In the past, email was often the only medium to communicate for developers. Tasks such as code reviews and sharing of files through email could potentially become difficult to track. Slack is a cloud-based instant messaging platform that integrates with a bunch of relevant services to bring communication on a single medium. For instance, you can integrate Slack with GitHub o keep you updated on the latest repository. You can also integrate it with your code tracker to alert a specific team member in case a new bug is reported. You can even create and configure your own chatbot to respond to custom commands!

Following the integration with Atlassian’s Hipchat, Slack has consolidated its position as a market leader. If you are in the market for a Slack alternative, you can try Yammer by Microsoft, which does a good job of integrating with applications in the Microsoft Suite.

11. Cross Browser Testing Tools

Cross Browser Testing is a process of assessment of your web application across a wide range of devices and browsers. You should probably select browser-device combinations to test on using your user statistics. The best tool to perform such a test is BrowserStack, which provides you access to a large range of real devices to test your web application on.

BrowserStack utilizes Selenium Server to automate your tests on real devices kept in remote locations. On the deployment of your application, you can trigger a range of tests on a pre-determined list of devices. When the tests are over, you get access to screenshots and videos of the tests performed through your dashboard.

BrowserStack’s pricing is usage-based, though you are provided a free trial. It may be expensive for a small developer, in which case they should try Selenium, a tool to automate a cross-browser test through your browser. The downside of using just Selenium is that you are limited to your own device for the test.

Final Thoughts on the Best Tools for Frontend Developers

In this post, we explored a variety of tools that help you make your workflow more efficient. Do you agree with our list? What are other tools that you use in your development cycle? Do let us know in the comments below.

Learn More

--

--