The 2018 year has just ended which means it's a high time to make some predictions about trends and technology for 2019. We will mostly be looking at the web but I also want to talk about important things going on in native development. If you don't know me I am Dawid and I am full stack developer at MDBootstrap.com
. I have several years of software development experience.
Before we start let me quickly let you know how did I choose what these technologies would be in 2019. I had few criteria for them:
These technologies have been gaining momentum in the last year. There are new technologies being released on a daily basis (you can check our JS News section) , many of them claim that they are real game changers, however only a few survive more than few weeks/months and we will focus on them.
Solve Real Problems
These technologies all solve problems that we need to be solved or needs improvement the existing solution. Utilitarianism (a theory which emphasize being useful or practical rather than attractive) is our core assumption. Our products are designed to solve a real problem and we expect the same from others.
As I stated before - there is no day without new product being released to the world. Unfortunately, many of them never get enough traction to stay alive, even though the product/technology is technically awesome. That's why while preparing the list for 2019 we were verifying whether a project is backed up by large communities (i.e. Vue) or companies (i.e. React).
It is very important for technology to come at the very right moment. Facebook wasn't the first social platform in the world and it wasn't the best. Similar to Google, Gmail or Windows, although there is no single key success factor, for sure good timing is one of the most important. Sometimes it's just too early (or late) for some technologies.
Let's start with our first prediction - Java Script
However, unlike in 2008 today almost no one writes entire projects in plain JS let smoothly move to next points which are a key library which will be key players in 2019:
Since React was fully opened to a community by Facebook in 2018 it got even more traction. I predict that React will get hooks which allow you to write components without classes this means you can manage state directly in a function which fits into the ergonomics of React.
Although Vue is not as big as React or Angular it is definitely one of the fastest growing library in 2018 and it seems that it may even boost in 2019 especially that in coming year Vue will get version 3 which is being completely rewritten.
Although Angular lost on popularity until Angular 2 was released in 2016 now it's again back on a track. Unlike Vue and React Angular is a rightful framework and not only a library, therefore, it's actively used in more complex projects by bigger players (corporations). In 2018 there were 2 major upgrades - from Angular 5 to 6 in May, and from Angular 6 to 7 in October. Angular 8 is expected to be released in March 2019 and Angular 9 in October 2019. Angular will get the new IV engine which will make it smaller faster and easier to debug.
While Angular supports TypeScript since version 2, both Vue, as well as React community, seems to be migrating over to typescript in 2019.
Vue CLI provides built-in TypeScript tooling support. In our next major version of Vue (3.x), we are also planning to considerably improve our TypeScript support with built-in class based components API and TSX support.
If you haven't had a chance to put your hands on TypeScript 2019 will be definitely a great year to get familiar with it.
Progressive Web Apps
If you didn't hear about Progressive Web Application yet, you must have been very busy last year. PWAs are web applications designed for mobiles (iOS/Android) that:
- are pinned to your home screen like a regular native app
- load like regular web pages or websites
- work offline
- send push notification
- cache data in local storage of the mobile device
- access camera or microphone
Sounds good? Wait for the best - PWA doesn't require you to submit your app to Apple Store nor Google Play Store. You don't need developers account (which is paid) nor wait for your application approval like in the case of native apps.
Furthermore, you do not have to re-write your entire application from scratch. It's fairly easy to convert existing website to PWA. We have created set of tutorials which you can check here.
There is a real chance that Web Components will finally go mainstream in 2019. The concept of reusable widgets isn't new. The initial version was originally released in 2011 by Alex Russell at Fronteers Conference. Since almost 8 years many predicted fast market dominance, however, it didn't happen until now mostly due to lack of all web browser support. But this may change now. In December 2018 Microsoft announced that next Windows 10 web browser (Edge?) will be based on chromium engine. This change may cause Web Components to gain its momentum in 2019.
Each of us knows the pain of building same components again and again. When you finally find a ready-to-use component which suits your need, suddenly you realize that it's not available for your platform. As a result, we are duplicating each other's work over and over again. With Web Components, we can build a really badass date picker once and then use it in every single framework or anything that uses HTML
Another Facebook sponsored project GraphQL is also going to grow significantly in 2019 but it's definitely not going to replace REST as you might hear from certain people out there. If you have multiple client-side apps that need to query the same back-end for different slices of data GraphQL can be an extremely beneficial tool and far superior to REST in many ways (APIs are organized in terms of types and fields, nod endpoints) but there are a bunch of trade-offs and it might not be right for every project so make sure to do your research before just jumping on the hype train.
Serverless (Servers as a service)
Can you imagine a world without servers? Serverless abstracts away the most menial parts of building an application, leaving developers free to actually spend their days coding. At least in theory. I am pretty sure that serverless pretends to be one of 2019 BuzzWord (meaning everyone says about that but actually only a few fully understand what is it about), however, I still believe that this concept will rapidly grow in 2019.
AWS already dominates the cloud but a few weeks back they released a game changer for servers industry. It's called the custom runtime API and it allows you to build a service architecture with any back-end that means any programming language any libraries that you need can be available in that run-time without a docker container. Simply run a single command and your app will automatically build, deploy and what is most important - scale. Computing resources are just like the electricity that comes out of your wall, you can plug in at any time, take as much you want, use it as you like and pay only for actual usage.
It's not gonna work for every solution, but there will be more and more recipes how to plug serverless architecture into your project soy should definitely keep an eye this concept in the coming year.
Flutter + Fuchsia
When I first saw Flutter it didn't really make any sense to me why would Google care so much about a cross-platform tool for developing iOS and Android apps when they're already maintaining the Android platform but it turns out flutter is not about iOS or Android. It's about Google's next-generation operating system Fuchsia. Nobody knows exactly what Google's doing with Fuchsia but it's rumored to replace Android and run pretty much everything under the Google umbrella by the early 2020s. If that is true it will change how developers are going to develop these apps on Fuchsia. They're going to use the Flutter so if you learn Flutter today you'll be positioned to develop native apps on virtually any platform in the near future.
These are TOP 10 however there are 2 more worth mentioning, so let's call them bonus ones ;)