In a constantly evolving industry, it can be difficult to keep up with all the latest software and technologies. Here we have compiled a list of our top 10 tools the web development team have been loving throughout 2019!
Source Code Editors
We're fairly evenly split in the development department between those of use who use Sublime Text and those that use Visual Studio Code. The VS Coders love how fully featured it is, the powerful code linting and in-situ console it offers. Others prefer the slimmed-down elegance of Sublime. Either way, it takes a while for any developer to mould their chosen code editor to their own ways of doing things, and once you've made yourself at home it can be hard to move on!
As an agency, we have a long history with PHP. It's a much-maligned programming language in certain spheres, primarily (presumably) because of how easy it is to get started with it - its an open-source, loosely typed language (i.e. its lets you do pretty much whatever you please) that historically was the first foray into programming for many developers. As such, there is a lot of bad code out there. Laravel is a PHP framework that goes a long way towards taming the beast. It sets out to make web development an enjoyable and creative experience, and honestly, the first time we used it a few years back now there really were a few joyous moments!
On top of Vue.js you can add NuxtJS - this extends the core capabilities of the Vue framework to allow you to create fully-featured Single Page Applications (SPAs). In short, this means that we can start to break away from the anachronistic way that the web used to work, where each click of a link either reloaded the current page or took you to a new one. Instead, we work towards a more cohesive application style, where individual page elements change as an when required.
For a large part of the company's history we have been a 'full-stack' development team, where each one of us would chip in on any particular part of a project. However in recent years, given the ever-increasing diaspora of technologies, we have split the team into Frontend and Backend developers. Storybook is a fantastic tool that allows our Frontend developers to build out the User Interfaces (UI) without having to worry about any of the Backend work getting in the way.
There have been many different attempts to tame CSS (the 'language' used to make web sites look good!) - for years now the industry has been using pre-processors such as Less and SASS to enable us to write more manageable code, but beyond that we have all sorts of different conventions and frameworks to choose from. In recent years our Frontend developers have been fans of the BEM (Block, Element, Modifier) convention, although recently we have also been using more Atomic principles. Tailwind CSS is a framework that makes using Atomic CSS easy.
GraphQL is a query language developed by Facebook. In essence, it allows an application (i.e. a website) to communicate with an API (Application Programming Interface) by asking exactly what it wants. This differs from more traditional API usage where one might ask (for example) for a list of all forthcoming events at a theatre, so the API sends back all the data it has about the events, this could add up to megabytes worth of data, whereas all we actually wanted for the title and the date of each event, which would only account for a couple of hundred bytes. This makes for a much more efficient and simple to use system.
In the ever-increasing complexity of the world of web development, despite what I've said above, we've really moved on from there being an obvious Front and Back end of the applications. Traditionally the Front end was what the user would see, the Backend was the behind-the-scenes code which made the application do what it was supposed to do. Now we're more likely to have a Backend, an API, a Backend of the Frontend and a standard Frontend. I know, it's exhausting. NestJS allows for creating Node.js backend applications and works nicely with GraphQL.
Go is an open-source programming language developed at Google. Its a compiled language which differentiates it from the other languages mentioned above. The goal of developing this language was to create an efficient, readable, high-performance language, and this is why we use Go for certain parts of our applications - the speed at which it can complete certain tasks is hard to rival, particularly when compared against more traditional web languages.
If you are interested in building a new test-driven website or simply want one of our developers to give an audit of your site, then please feel free to get in touch! If you're a budding developer, you can also check out a range of web development courses to get you started – like this ranked list from Course Duck.