With a shift in the way users are surfing the internet (using mobile devices), there has been a change in the way websites are being developed. In order to respond to this change, businesses are moving towards responsive web design. Responsive web design is an approach to web design that allows a website to be viewed seamlessly across various devices. The approach takes into account Fluid Grids, Media Queries and Flexible Images and Media.
With the growing demand for responsive web design there has also been a shift in the way front-end developers are approaching web design projects. There is a growing demand for responsive web design frameworks as it allows development teams to approach projects in the most efficient manner and produce exceptional results.
What is a Front-End Framework?
In short, front-end frameworks also commonly referred to as CSS or JS frameworks are a set of CSS, HTML and JS files that provide front-end developers a platform to base their work on. Using a framework for projects allows web developers to use a common set of code to initiate a project rather than having to write it from scratch for each web development project that they take on.
What are the options when it comes to Front-End Frameworks?
There are plenty of options in the marketplace when it comes to responsive web design or front-end frameworks. Here is a quick introduction to some of the most popular frameworks,
This is by far one of the most popular front-end frameworks and is on top of many comparison lists and there is good reason for this, the framework provides exceptional features and support when it comes to developing websites or web applications.
Developed by a team involved with Twitter as well, the framework was developed in the year 2010 and was also known as the Twitter-Blueprint. The project received a massive response from developers around the world with just a few months of work put into it. In fact Bootstrap is still being used at Twitter.
After nearly 20+ version releases, Bootstrap is now running on Version 4 and is packed full of features that can be used by developers of varied skill levels, for different devices and projects that are small or big.
Pros of Bootstrap
- A standard platform that is packed full of tools (layout grid, panels, tables, buttons, modals, form styles, etc) allowing front-end developers to get going with their projects in the most efficient manner.
- Helps developers to follow best practices throughout the project.
- Can be used by beginners all the way to highly experienced web developers.
- High browser compatibility therefore less probability of encountering cross browser bugs.
- The resulting user-interfaces are consistent and neat.
- Being an open-source solution the platform allows for high level of customisation.
- Well documented and plenty of support through the online community.
- Comes with loads of free themes, plugin and icons.
Cons of Bootstrap
- Requires style overrides which leads to code redundancy thus leading to slower load times.
- Customisation of default styles is a must or else you will end up with a default Bootstrap style website.
- Files generated through Bootstrap are often bloated (both in terms of Kb and lines per sheet).
Pitching themselves as the most advanced front-end framework, Foundation is a family of responsive front-end frameworks that can work for any device, medium and accessibility. The framework provides plenty of features that can assist developers with creating websites, applications and email templates.
Foundation is a highly modular framework that is created using Sass & mixins and provides developers with starter templates; this allows them to approach projects even more efficiently.
Backed by ZURB, the framework was launched in 2011 under the MIT licence and has made constant upgrades which include addition of resources, code snippets and HTML templates. The latest version of the framework (Foundation 6) has significantly cut the file size of resulting CSS by implementing a 50% code reduction. This leads to faster page load speeds and makes the framework a leading contender for enterprise level projects.
Pros of Foundation
- Provides greater flexibility to web developers as there are no style lock-ins.
- No need to add classes to achieve responsiveness or to achieve a certain style.
- Provides a more flexible grid when compared to Bootstrap. Some of the grid system capabilities provided by the framework include; ability to centre columns, ability to add a ‘collapse’ class, ability to use a block grid.
- Additional built-in widgets as compared to other frameworks.
- Extensive list of tutorials provided online.
Cons of Foundation
- No free support.
- Need advanced level skills to use the framework.
- Code bloat.
- Fairly large size out of the box.
Semantic UI is one simplest frontend frameworks available in the marketplace and can be used by users or entry level developers with little or no coding experience. The framework is powered by LESS and jQuery.
Semantic UI was initially developed by Jack Lukic with the aim of creating common language (replacing classes with natural descriptive language) that is easy to understand thus empowering designers and web developers around the world.
The framework is still in its early days but given its simplicity, it has the capability of becoming one of the most widely used front-end development tool.
Pros of Semantic UI
- Simple and easy to understand, requires little or no coding experience.
- The most user-friendly platform when compared to Bootstrap and Foundation.
- Comes with 20+ themes in the basic package.
- Very well documented.
- Implements buttons, modals and progress bars very well.
- Open source platform therefore open to community contribution.
Cons of Semantic UI
- Required knowledge of Java script.
- The structure of Semantic UI is much more complex when compared to Bootstrap.
- Lacks basic features such as sliders and thumbnail classes.
- Still in its early stages and requires much more work to be done.
Now the question is which one is the best out of the three frameworks we have discussed. The answer is not that simple, it really depends on the project requirements and skill level of your web developers. While there may be certain features and functionalities that are common to all the frameworks, there might be certain extras that a particular framework might provide and this forms the basis of your decision given a projects requirements.
There are some other things that you might want to consider while choosing the right framework for your project, these include; popularity of the product, stability of the framework, size of the development community, availability and level of documentation and how actively is the framework being developed.