Front-End Frameworks for Beginners
Whether you’re new to the world of frontend frameworks or you’ve been in it as long as jQuery, it can be pretty tricky to find your way around it.
This is a pain in the backside because, as you may know, the whole point of using a front-end framework is to make life a bit easier, and they do: the fact you can use one to make mobile apps for multiple platforms without writing long lines of code over and over again has completely revolutionised the way we develop for the web.
Somewhat of a victim of its own success, this has also meant that there’s literally thousands of frameworks to choose from, with new ones coming out every month. It seems like there’s always been a huge and ongoing debate in the developer community about which ones to use and stick with.
The way they do this is by providing libraries full of pre-written code and functionality, tonnes of useful third-party components, and swathes of rich documentation and support from their communities.
The thing is though, not only can it be a bit tricky to pick one and learn how to use it, but depending on what you’re trying to achieve, their added functionality and convenience can come at a cost and as most of them are free, we’re not talking about price.
This begs the question; do you even need to use one at all?
Light, but can weigh you down
There’s no doubt using a framework can bring the cost of web development way down. Not only do most frameworks cost nothing to use and are open source, but, as they come with prebuilt functions, they can save you many, many hours of writing and rewriting code.
A good example is Angular. Angular is a modern TypeScript framework — led by a team at Google — that’s built for dealing with specifically with webpages. Today it’s one of the most sought after frameworks for Single Page Applications.
Angular offers great performance thanks to TypeScript, as well as a great community of members and testers as it is open source. What sets it apart and why developers love it so much is that changes in the backend reflect the UI in real time. That means no need to always update the UI on every single state change.
It’s a simple thing, but, along with standardising many functions, it can make all the difference when you’re developing for speed and agility. If you’re working on something a little more complex that requires more precision and flexibility, though, then such a framework can easily end up holding you back.
For instance, there’s a lot in frameworks that simply isn’t necessary for many projects. Plus, as they declare rules on how to structure your code, they can limit the ability to solve problems in your own way. The result is often large download sizes, a lot of dead weight, and not so straight-forward troubleshooting and maintenance.
Backed by the best, but sometimes not good enough
One of the main benefits of using a front-end framework is that they tend to be (at least the big ones) backed by security firms and large communities of users, so they’re constantly iterating and updating and being improved upon.
They’re also behind some of the biggest platforms on the web. React, developed by the team at Facebook, supports the two most viewed social platforms ever (FB and Instagram), and as such it’s increasingly the developer’s choice for building high-traffic and dynamic web apps.
As well as being pretty watertight in terms of security and one of the fastest-growing JS frameworks, React offers a great opportunity for scaling. It’s more of a library than a framework, but it can be smoothly integrated into any architecture, and for communication among components, it’s easy to use Flux or any similar JS library.
Despite this robustness, though, using React can still require more code and manual work, such as in processing data changes. You can also often end up wasting time writing boilerplate code, i.e. a lot of code to accomplish minor functionality. So no matter how good a framework’s structure and library, it can still only get you so far.
Highly agile community, but a tool is a tool
As we’ve already touched on, the community of front-end frameworks is highly agile and is as wild and transient as the weather. New ones are released, old ones are updated, and all the while developers debate which is currently the best and which is set to be next.
On the one hand, such high competition and variability mean for one: the barrier to entry is getting lower all the time, and two: you’ll never be out of an option to quickly create a that’s packed with functionality. On the other hand, though, it’s just all a bit too messy and restrictive, especially if you already understand how the web platform you’re working with works.