A front-end developer reviews the most important developments of 2017, and how they affect those working on front-end code.
Join the DZone community and get the full member experience.Join For Free
Bugsnag monitors application stability, so you can make data-driven decisions on whether you should be building new features, or fixing bugs. Learn more.
2017 was a strong year for front-end development. From improved support to better design functionality, there were some stand out improvements. But what are the most significant updates to the front-end ecosystem that you can learn from in 2018, and what does this mean going forward?
I’ll take a look at what has changed, improved, impacted, (or could impact) front-end development in 2017 so you can better prepare for 2018.
Front-End Development Review: Significant Updates in 2017
2016 was a year for ecosystem improvements as frameworks became more and more ‘developer friendly.’ 2017, in contrast, saw lots of small, quality of life improvements. Many providers brought consistent improvements user experience, in particular, load times. Other front-end improvements allow us to make larger applications at scale.
IN 2017, THE MOST WANTED LANGUAGE WAS PYTHON. IMAGE CREDIT: STACK OVERFLOW
2. Firefox Quantum Released
For a few years now, Chrome has dominated the browser market with analytics tools commonly reporting that over 50% of users come from Chrome — but all this could change in 2018.
In November 2017, Mozilla released the latest version of the Firefox browser. Named Quantum, this most recent revision is reportedly twice as fast and uses 30% less memory due to its crazy new browser engine.
If you are interested in how Firefox achieved the considerable reduction in memory, then check out the Mozilla hacks website which features articles like this one, describing 'how Firefox got fast again.'
3. Rise of Progressive Web Apps
In August 2016, Chrome announced a roadmap to progress away from Chrome apps and instead advocated that developers switch to using Progressive Web Apps. The main reason cited was that the web now contains power APIs for working offline such as service workers.
In December of 2017, Chrome Apps are to be removed from the Chrome Web Store search and browser functions. Removing apps from the app store is a good thing as it helps progress the web forward, away from apps and towards more functional websites. Users will continue using websites without needing online access, having them launch from mobile devices faster than some native apps.
4. CSS Flexbox and Grids
Last year, I reported that Flexbox support was at a point where you can start using it shortly. In 2017, front-end developers everywhere started using it in websites without fear (but still using PostCSS and vendor prefixes for better browser support, of course).
Grids are another layout technique we are looking forward to using at the end of 2017. While Firefox has a great dev tool for inspecting and debugging grid layouts, sadly the browser support wasn’t enough throughout last year to try it on production websites.
Although looking at the stats now, it looks like all the major browsers now have Grid support and the only thing which might be holding you back is Internet Explorer.
5. Preload Assets
When it comes to improving website load times, ensuring your high priority assets are downloaded ASAP is important. The lower in the markup assets like scripts or CSS files are declared, the longer it will take for the browser to find those resources and load the page.
<link rel=”preload” href=”...” as="script" />
This is why we’ve seen great improvements after using the
“preload” version of the humble link tag. Even font rendering is improved, cutting down the amount of FOUT.
Read more about
While this update isn’t to 2017, generators are an exciting feature of ES6, bringing strange new functionality to the traditional function.
By definition, generators are a way of creating your own iterative program. This functionality, once you know how it works, makes it a lot easier to read and then maintain asynchronous code.
This post isn’t going to cover how they work (because that would put the length of this post into next year) but you can read up on them on David Walsh’s blog. I highly recommend you make use of them in 2018.
7. Script Modules
With the advent of the new
type="module" one awesome side-effect is that you can start using them in production to start shipping less code.
Check out this article by Sam Thorogood that details how you can start doing this today.
8. Web Assembly Support
Switching to a language which you would not code by hand, Web Assembly now has support in all major browsers.
The use-cases for this language are well documented and inside the browser, meaning you we might see better (in the context of AAA level) games and software which need near-native performance.
9. Framework Updates
Last year, everyone was pumped for the Angular 2, and this year it has already gone up a few versions and is now at Version 5.1 (as of writing this article). Some might be surprised with how they went from Version 2 to Version 5 in what seems like the span of a year, but this is due to them switching to time-based release cycles. Gone are the days you wait months or even years for an update.
On the React side of the Internet, version 16 of the library introduced better error handling but more importantly this was the first version of React with their new core architecture, Fiber, which aims to increase its suitability for areas like animation, layout, and gestures.
Predictions for 2018?
With the continuous focus on improving user experiences, I’m hoping to see more of the quality of life improvements. There is space for more flashy functionality, especially if release cycles are going to be as short as they were in 2017.
Is there anything you feel is significant in 2017 which we’ve missed?
Let us know in the comments below.
Published at DZone with permission of Ben Harding , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.