Table of Contents
- 2. Tools Are Better and It Makes a Difference
- Command Line Interfaces (CLIs)
- Desktop Apps
- Mobile Apps
- Progressive Web Apps
- 4. Servers Are Slightly Less Needed
- Static Site Generators
- 5. Testing is becoming more and more important
- Error Tracking Tools
The usage of TypeScript continues to grow.Essential Reading: Learn React from Scratch! (2019 Edition)
As cool as they are, though, did you ever stop to think that they might have already existed in other languages? Classes have been the heart and soul of Java and C# from the beginning. Additionally, I used Async/Await in C# when I started with Microsoft back in 2013. I also used LINQ functions in C# which are remarkably similar to Fat Arrow Functions.
Command Line Interfaces (CLIs)
Building websites would be much more complicated without Command Line tools!
If you look at each of the 3 major front-end frameworks (Angular, React, and Vue), each comes with commands to generate new projects, start a live-reloading server, build final assets, and more. These sets of commands can save you tons of time and have become the de facto way to get started with each.
Electron.js allows developers to create cross-platform desktop applications with HTML, CSS, and JS. There are many extremely successful desktop applications built with Electron!
Visual Studio Code is built with Electron and has quickly become the most popular and performant editor in Web Development. I use it on a daily basis, and it absolutely flies! Visual Studio Code makes an appearance in the survey as well!
Here are a few other major applications built with Electron for reference.
In the past, web technologies were used to create mobile apps by wrapping a web application in a "web view" component. In general, this approach has been significantly less performant than building native applications.
Cordova follows this approach, and is still a viable option. However, React Native has gained lots of traction over the past couple of years. It allows you to create truly native applications meaning you don't have to sacrifice performance. As popular as React is (look above), React Native becoming more widely used just makes sense!
Progressive Web Apps
Progressive Web Apps have gotten a ton of attention this past year. They are sort of a hybrid between web apps and mobile apps by allowing the user to "install" the page locally to their device.
Progressive Web Apps were mentioned under the "Other Libraries" of Mobile and Desktop, but keep an eye out, they seem to only be growing more popular. Don't be surprised if they make an even bigger splash next year!
Check out "10 Node Frameworks to use in 2019" for additional reading.
The term "Serverless" makes an appearance in the "Other Libraries" section of "Back-End Frameworks". Serverless Functions are hosted by third parties that take care of server software and management, meaning less server-side code written by developers.
Static Site Generators
The growth of Static Site Generators contribute to this as well. Because of the de-coupling of front-end and back-end, developers often reach for Serverless Functions instead of writing a server from scratch. If you'd like to learn more about static sites, check out 5 Reasons Static Sites Rock.
Firebase offers complete backend services for your app!
Firebase, a comprehensive mobile development platform by Google, provides another alternative to writing your own backend. It takes care of hosting, authentication, cloud storage, etc. providing functionality for anything you might need to support your web application.
"Testing, testing… Is this thing on? Sorry, I Jest, but I would never want to make a Mocha-ry of this section. That would be Jasmine (“just mean”? get it?), and that's bad Karma."
I've also noticed that more front-end courses put a larger focus on testing. Wes Bos's Advanced React course actually spends *6 hours writing tests *which is a ton! Kent C Dodds event went as far as creating his own testing library for React which has gained much popularity. It is aptly named, React Testing Library.
Error Tracking Tools
You might also be interested in tools that help tracking errors after the fact. These tools would help catch detailed errors so that more tests could be written in the future to catch them earlier next time. Here are a couple you should look at.
Here's a couple of final thoughts.
- 3 major front end frameworks (Angular, React, and Vue)
- React is the highest growing and highest paying front end framework
- Express is still the dominant Node framework by far
- TypeScript is becoming more and more popular (and it's going to take over...just my thought)
- Options to reach almost any platform (desktop, mobile, server, web, hybrid, etc.)
- Graphql is on the rise, especially with the rise of Gatsby.js