Posted on April 5, 2018
Flexbox and CSS Grid are the #1 web developer skills in 2018 because these new technologies solve many web design challenges. Professional web developers currently have to optimize their design to balance many different priorities. For example, web design must be pixel-perfect and work on devices of all sizes, in all kinds of browsers and their different versions (e.g., Google Chrome 56 vs. Chrome 57). In addition, users expect the web page to load quickly.
Designers and developers have had to juggle all these issues while constrained by the limitations of the fundamental underlying technology: CSS. CSS is a language that describes the style of an HTML document and how HTML elements should be displayed. However, the main drawback is that CSS does not provide a proper web layout system that allows developers to easily position and align elements on the page. Or rather did not—until Flexbox and CSS Grid came around.
The World Wide Web Consortium (W3C) has been working on Flexbox since 2009 and on CSS Grid since 2012 to finally provide a proper CSS layout system for virtually all platforms such as Android, iOS, or desktop.
Both CSS Grid and Flexbox streamline common design tasks such as creating an image gallery, aligning items perfectly, or even implementing whole site layouts. At the same time, they allow developers to make changes to layout fairly easily, enabling fast prototyping of layout variations–crucial for usability testing. In many cases, all of this can be done while writing fewer (and cleaner) code, which makes it easier and cheaper to maintain and evolve.
CSS Grid and Flexbox increase developer productivity in both the short- and long-term. In the short term, developers can solve problems easier and faster. In software development “quick solutions” normally tend to incorporate unpleasant workarounds that you have to pay for with additional effort in the future. Such hacks introduce non-intuitive code, which accumulates over time, making the layout hard to maintain and change. These hacks ultimately cost time and money while frustrating both developers and users because they are more likely to lead to layout errors.
However, Flexbox and CSS Grid solve this problem. In fact, Flexbox and CSS Grid allow developers to avoid the necessary “hacks” required to work around some of the serious limitations of CSS. For example, simply aligning elements vertically was previously actually really hard to do with CSS and required hacks with many complex lines of code. However, with Flexbox, this can be done with just one or two descriptive lines of code.
Over the last couple of decades, a myriad of libraries and frameworks have been developed to help overcome obstacles in CSS’ weak layout system. One of the most popular frameworks is Bootstrap. Bootstrap is a huge and powerful framework that can facilitate a lot of tasks. However, it is often mainly used for its grid system that allows developers to define the dimensions and position of elements. With CSS Grid, a pure-CSS grid layout system, this step is no longer necessary. Removing the dependency on Bootstrap reduces project complexity and avoids additional effort for customizing designs given by the framework. Moreover, it improves page load speed because users no longer have to load all the Bootstrap code in addition to your own CSS code.
Flexbox and CSS Grid are powerful tools that are also incredibly easy to learn. Developers can learn the fundamentals within a day, and be ready to use it confidently and productively within a week. In fact, my Flexbox course and the CSS Grid course available on Udemy and Udemy for Business together encompass only 5-6 hours of video that cover all their respective features. Additional quizzes and practice exercises help reinforce learning and prepare developers to apply these new skills quickly.
The small investment to learn Flexbox and CSS Grid will ultimately pay off in multiple ways. Most importantly, these technologies are the dominant approach for online layouts in the foreseeable future. There are currently no competing or follow-up layout systems being developed by the W3C, but they are working on extending the specifications for Flexbox and CSS Grid.
Flexbox has been available for use in production for a while. It is now supported by over 98% of users globally, according to CanIUse.com. As a result, Flexbox is ready to be used by companies. However, if you are developing explicitly for Internet Explorer, developers should be aware of the known issues. CSS Grid, on the other hand, is currently supported by around 88% of users globally as of March 2018. Subsequently, its use should be evaluated based on your target group and the browsers they prefer. Ultimately, it is still worth learning the technology—browser support will only increase as CSS Grid becomes more popular.
Flexbox and CSS Grid are the #1 web developer skills in 2018. Both of these new web technologies help improve turnaround time for new features and changes because they greatly simplify many design tasks. Adopting Flexbox and CSS Grid will also increase developer satisfaction because they will find it easier and more scalable in the short and long-term. Finally, dependency on third-parties is limited, which helps control project complexity, improves page load time, and increases flexibility.