Because of the sophisticated nature of single page applications, there exists a growing suite of tools a frontend developer needs to be familiar with to manage many day-to-day, and sometimes minute-to-minute tasks.
A build tool is just what it sounds like, a tool used to build your application. When a frontend developer creates and maintains an application, there could be a number of tasks that need to be repeated literally every time a file is changed and saved. Using a build tool, a developer can free up time and mental resources by offloading the responsibility to an automated task manager that can watch files for changes and execute any number of tasks needed. These tasks might include any number of the following:
Concatenation
Minification
Uglification and obfuscation
Manipulation
Dependency installation and preparation
Custom script firing
Concurrent watchers
Server launching
Test automation
Some of the more popular build tools today include...