The front-end stack is made up of many different languages, libraries and frameworks. In our first blog post in the series, we discussed the front-end languages that make up the stack. Now, we’ll take a look at two consistent structures under the hood that support common elements and user interactions across different types of applications: front-end frameworks and libraries.
Both have popular choices trusted by engineers which we’ll explore, but that doesn’t mean developers are stuck with them. If the problem is popular or interesting enough, an engineer can also build a library or a framework to address the needs of the programming community at large. JavaScript frameworks in particular have a great deal of open source solutions.
Front End Libraries
A JavaScript library is a set of functions that allows engineers to complete useful tasks in areas like audio/video treatments, calendars, carousels and sliders, maps, charts, touch interfaces and much more. Since we have more custom wheels in software development than we know what to do with, front-end engineers build tools to help them reuse code efficiently in software development. That way, there’s no need to reinvent the wheel every time something is built.
JQuery
One of the first libraries to be used was jQuery, which is still widely used today. To be clear, jQuery isn’t a framework nor a language. It’s a library that’s used with JavaScript to optimize development. It can be used with many other libraries.
Challenges and Assessment:
Libraries can also present a challenge to some front-end engineers, because choosing the right tool for the job requires careful consideration and research. No one needs a rocket ship to go to the grocery store. But in the same way, you don’t want to duct tape a brick to a helium balloon and expect it to get you to Mars.
Tool assessment also involves evaluating and understanding frameworks. The interactions and needs of web applications have grown more complex, and frameworks are an efficient solution that allows developers to build powerful front-end applications consistently and quickly.
Front End Frameworks
Frameworks are a packaged set of features that enforce a consistent architectural approach to building the front-end of a website. They dictate the architecture and behavioral structure of a web application. Before frameworks, JavaScript had a Wild West approach where each engineer had his or her own way of architecting front end code.
Sure, JavaScript is somewhat forgiving of poorly thought out code and therefore easy to write, but sometimes it can be difficult to write effectively. That’s where JavaScript frameworks come in. Some of the most common of those front-end frameworks are Angular, Ember, Redux, React and Meteor. But frameworks aren’t unique to front-end engineering. There are also back-end frameworks such as Rails for Ruby, Laravel for PHP and Django for Python.
Choosing a Framework
Frameworks vary in how strictly they force developers to work within their process and enforce limitations. Ember and Angular are the most rigid as well as the most robust, with React and Redux being less so. Ember and Angular excel in large scale applications that need a lot of functionality such as Netflix or PayPal. React is great for monitoring user behaviors such as for sites like Facebook.
Angular and Ember also tend not to play nicely with external libraries such as jQuery, which can make development challenging until the learning curve is overcome. React, to the contrary, is very accommodating to outside libraries.
One thing frameworks cannot do, however, is talk to one another. Once a framework is chosen, it’s because that engineer has made a full buy in, including the ring and the dress. That application just got married. Unfortunately, the honeymoon period is short.
There’s a lot of heated discussion in the front-end community around which framework is superior, and I advise anyone who gets in the middle of it to quickly finish their drink at the networking happy hour and slink away before it gets personal. A good front-end engineer will recognize the right tool for the job. Even if an individual hasn’t had direct experience in a specific framework, most engineers can get up to speed on the nuances and best practices within a week or three.
Diving Deeper
This intro to libraries and frameworks gives you the high-level overview you need to start speaking to developers in their own language. Still, it’s really only scratching the surface. If you want to dive deeper, our comprehensive online class on front-end engineering takes you through the intricacies of these tools as well as the processes and knowledge you need to recruit front-end engineers effectively.
Continue Your Learning
What we’ve just covered is merely the tip of the iceberg. We’ve created a handy Tech Cheat Sheet to be an additional resource for you. Our Tech Cheat Sheet goes more in depth on what tools engineers are using, definitions you should know, and how to apply your new tech know-how in conversations with candidates. Download our Tech Cheat Sheet and start making better tech placements today.
About Recruiting Innovation
Recruiting Innovation is an industry-leading online tech recruitment training platform. Focused on teaching the technical concepts and key roles in the software development lifecycle to tech recruiters and sales teams, Recruiting Innovation’s online training programs help teams make better tech hires, faster.