As this year draws to a close, I wanted to share some predictions for 2020 and beyond. This represents trends I'm seeing and things I believe will come to pass. Here we go!
Predictions
- Svelte will begin to take off in a big way. As more people discover Svelte ( especially after 3.0 ) they will begin to experiment with it and sprinkle it in on existing sites. The performance and ease of use will win over more folks and we will see it making inroads to ReactJS and Vue.
- Rust Rust will continue to grow in popularity, especially as companies like Microsoft begin to build solutions on top of it.
- Godot Engine The open source game engine Godot will continue to grow in popularity and begin to be noticed by Big Co's looking for a free alternative to Unity and Unreal. Godot 4.0 will make a big splash and gain more developers. This app will follow the similar path that Blender 3D did as it begins to gain momentum against big commercial apps.
- WebAssembly WebAssembly has now joined HTML, CSS, and JS as the fourth major W3C backed web technology. It's a virtual machine that is super fast, safe, and represents a fundamental new chapter for the web. All the other technologies I've talked about before this will use WebAssembly in some way, even Godot Engine!
- Kotlin Kotlin will continue to eat Java's lunch, breakfast, dinner, and everything else. It's just better than Java in many ways, and can compile to Java when needed. Look for many more jobs opening for Kotlin devs.
- Flutter Flutter is taking the app dev world by storm. It's influence may outshine Flash someday as a runtime that can work across browsers, OS's, desktops and mobile devices. In a world where everything is a widget it may succeed where Web Components haven't yet. With Flutter branching into web and desktop, with Fuschia on the way, this is a technology to keep an eye on and try out.
- GDevelop Continuing the web / gaming trend, GDevelop has been an underdog for a long time - slowly making updates and gaining followers. It's a simple way to begin learning to build games, and as an open source project that builds for the web as well as desktop and mobile, it's a tool to watch grow slowly in 2020.
- Koji Koji is a website that allows you to remix existing games and apps with an easy to access interface. You can take a breakout game , add your own graphics and sounds, and have a custom game in minutes. What is more powerful however is it's approach to empowering creators. If you can create a web game, you might earn $500 or more if you work with the site to make games they need. But also, they might finally crack the monetization egg where they will allow microtransactions across their games. A web game developer ( or other apps - but games are the focus right now ) could potentially earn a lot of money selling games, or creating games that have in-app purchases and upgrades. This is another site to watch in 2020.
- Gumroad Gumroad is a very powerful site. You can put any kind of digital asset like sounds, art, games, movies, videos, books, classes, and more and get money directly. You don't have to let some publisher take a cut, or have someone else set the price. Gumroad (and other sites like Stripe) could be the fly in the ointment for big sites like Amazon and Alibaba. If you make things for the web and aren't using Gumroad, you are leaving money on the table. Look for Gumroad to gain even more popularity in 2020.
- dweb Last but not least, we will see more apps and solutions for the massive centralization that has been going on in the web. If we want the web to survive, it must be decentralized. Look for more "dweb" technologies popping up on 2020.
So, there you have it. My predictions for 2020. Big sites like Google and Facebook will continue to dominate and suck all the air from the web as much as they can. They will try to get every bit of information from you and sell it to the highest bidder. That's how they survive. Let's hope that 2020 starts a new trend away from centralization and back to a more democratic, hopeful, open, and free web.
Happy New Year! 🎆🎇🧨
Top comments (9)
I think you’re too optimistic with svelte.
The force react has behind it, and the lack of serious complaints with react itself will make it still the obvious choice for personal projects and products.
While I love svelte, it has a couple of issues when it comes to survival tactics. For one, it’s really it’s own language that embeds a slightly modified form of JavaScript (modified because it abuses the arcane label syntax) which means that a lot of standard tooling in JavaScript land won’t work cleanly with it.
Jsx got around this by being able to translate directly into pretty straightforward JavaScript.
I think it’s more likely that react will eventually (probably not next year) adopt that “Surgical Dom update” idea from svelte.
That's cool. I am in the camp that lots of different ways of building for the web can coexist, and cross pollination is how things grow and adapt. I mean that's how jQuery influenced the standard JavaScript api of querySelectorAll() etc. I don't think React has to lose if Svelte wins. There hopefully will continue to be innovation and idea sharing between libraries / frameworks. The ultimate goal is that ideas from all these frameworks get integrated at some point back into vanilla JS so that someday we have a robust native way to do these things.
I don't have any illusions that Svelte will dethrone React, but that's because I don't think React has any claim to any throne. Instead, we will see things like WebAssembly and Rust come into play on certain aspects of web development that would benefit from highly optimized and fast code.
So, I'm all for React being popular, and Svelte growing in popularity, but webdev is more than a popularity contest, it's about finding the right tool for the job, and I suspect many more folks will decide to try out Svelte in 2020.
There are a few things I disagree with.
Svelte is a compiler. It’s not react or a JS library. What it compiles too is valid JavaScript. It may not be JS that you would of written, but it is valid. I think saying “slightly modified version of JS” is a lack of understanding. The browser can only run JS. Not a modified version....
I don’t think it has to replace React for it to be successful. If you want to put this in perspective, more sites still use jQuery than React or any other SPA framework today...
Your argument for JSX is not really valid. React parses JSX with JavaScript, as opposed to compiling it. Svelte is a compiler, but everything React does has to be done at run time. This is one of the arguments for Vue over React, in the sense that Vue has a much more practice reality of what it’s doing at run time, because there are less made up conventions.
As you said, svelte is a compiler. A compiler for the svelte language. It compiles svelte code into vanilla js, but what you give the compiler is NOT javascript it's svelte. A svelte file contains markup and some slightly modified javascript within a
script
tag. Again, I say modified because, as the creator of svelte said in one of his talks, they co-opted the label syntax so we can get that amazing$:
syntax. Since much of the established JS tooling will require a bit of extra glue to understand how to translate a svelte file into javascript it's harder to convince those very comfortable with JS and it's tooling that svelte is worth the extra configuration headache.You're totally right on this.
React and JSX have little to do with each other OTHER than the React community uses JSX. JSX is not React only. React doesn't require, convert, or even understand JSX. Apps that use JSX and React rely on transformers to convert JSX into regular
React.createElement
calls at build time, but there are other JSX transformers for different frameworks and tools. That process is very different than what goes on with svelte. (not sure for Vue. I never used it) With svelte the entire svelte file gets converted into vanilla assets after going through the svelte compiler. There's rarely a 1 to 1 mapping of svelte code to javascript, but that 1 to 1 mapping does exist with JSX, which is why it fits more nicely into the JS tooling landscape and thus much easier to sell people on.We can keep debating if you want.
You said it was modified JS and it sounded like you were referring to the output. Thank you for clarifying.
I never claimed react had to use JSX. Calm down. We are all friends here.
Yeah the mapping is a issue. I don’t disagree with that statement. Though I have rarely found a real need for it to map back.
There’s no heat here 😅
Sorry it came off like that. I think I have a tendency to sound a bit combative when I respond to other comments.
As far as JSX goes, you said that react parses jsx, but it doesn’t. All of that work happens at build time by other tools. That’s all I was trying to get at.
And the 1:1 mapping is not usually for the day to day work of application developers, but may be important for tooling developers and those trying to understand the inner workings of their tools.
I think Svelte would be in the place where Vue is right now, maybe a tad bit more popular among new developers because of the easier learning curve.
That's a nice set of predictions, my own might be pretty similar if I were more organized! GraphQL and Kubernetes have both already skyrocketed, but I think we'll see be seeing more of them in 2020 too.
I think this is a pretty fair list. Nice working outta f this together. I for sure agree with Rust and Svelte.
Why do yo think a game engine that has been around with 2007 is finally going to take off this year? What is the killer feature that is making it finally compete with Unity?