It's a new year, and that presents an opportunity to refocus on learning. In this post, I want to discuss some of the technologies I'm excited about and will be investing my learning time in this year.
It seems like one layer of framework is no longer enough! Next.js and the N**t family of frameworks (including Nuxt and Nest) provides such an amazing developer experience. Remix also has some hype behind it. Gatsby has also been a force in the industry over the past few years. I love working with these meta-frameworks and really think they will become even bigger over the next few years.
Code is great, but the less code we can write to create useful products the better. Code is expensive, both to create and maintain. I'm so excited about the growing low-code trend that will allow quicker and easier application development. I spent the last few months of 2020 working on the Amplify Admin UI, which allows users to write a basic backend in clicks and then extend it with code. Tools like this, and frontend toolkits, will significantly lower the difficulty of building scalable and maintainable applications.
Right before the holidays, the React core team released initial research on React Server Components, which follows a larger trend that many of the aforementioned meta-frameworks follow -- server-side rendering. This isn't a new trend at all -- I started programming during the use Rails for everything era where nearly every framework used a templating language to plug variables into HTML. But, extending SSR to allow developers to use modern tooling is big and has huge performance implications for the web.
This one has been around for a while, but it's something I'm just learning more about now. I remember manually deploying my apps on servers early in my career -- it was a lot of work and didn't scale at all. I'm just dipping my toes in the water with Cloud computing and learning about AWS outside of Amplify, but it's really interesting and a valuable skill to have. I want to dive a lot deeper here this year.
Machine Learning/Artificial Intelligence
A few years ago, I was seriously considering getting my master's degree in AI/ML -- I love both statistics and programming. My career went in a different direction, but I still really want to learn more in these areas. They seem to be the basis of so many new forefronts in the industry, and it seems like that will be true for a long time.
There are always new frameworks on the horizon, both on the front and backend. I am at a point in my career where I'm less interested in learning everything that comes out, and I'm pretty comfortable with my ability to learn new frameworks when they come out. That being said, I'm excited about the newer performance-focused family of frontend frameworks. Svelte seems to be here to stay -- I'd prefer a framework that's heavier on functional programming tenets, but I think it's time to spend sometime really diving into it. It's also cool to see Hyperapp still growing -- I love using it.
Decentralization of Tech Workers
This is a very different trend than the others on the list, but 2020 necessitated a big shift to remote work. I personally would love to return to working in an office someday, but I think that the movement to allow more remote work is an overall positive. Tooling and solutions will get better, and tech workers will be able to move outside of the typical "tech cities."
For this week's Ladybug podcast, we talked about the 21 trends in web development we are most excited about this year. Give it a listen, we'd love to hear what you're most excited about via Twitter.
Top comments (9)
It's a hunch, but I don't think I'll be using React Server Components directly. Something like next.js, remix etc. (meta-frameworks like you mentioned), will probably abstract that away from the developer.
Yeah, this is what I anticipate as well. The Redwood team is already talking about how to incorporate Server Components into the way that we do data fetching with Cells. Very early days still but it's exciting work.
thanks for the overview! I haven't looked into low code possibilities, I even didn't know "low code" is a thing. This sounds very interesting to me.
I am currently revisiting my past experiences in web dev and try to figure out things I could do better:
concerning Meta-Frameworks: I think Next is on its way to becoming unbeatable because there's this sort of unique value proposition that Vercel offers, where they build deep integrations with their edge network (i18n routing, analytics/real experience score, incremental static generation, dynamic image optimization). I've been using Gatsby since I found it was the best option in mid-2019, but right now, I would prefer Next. The app quality you can achieve with it as a single developer or with a small team is actually quite unbelievable.
concerning new frameworks (libs): I am totally amazed by everything that Poimandres does. zustand and jotai are what
useStatein React should actually be, there are react-spring and react-use-gesture for beautiful and complex UI patterns and it just goes on and on with further awesome things. I think they bring what FP is actually about - things being composable - to frontend development in a way that actually enables one to build products. I believe that if beginners would be taught those libs right away, they would feel like they had superpowers and could build really nice things after a fairy short learning period. Much better than "a monad is a monoid in the category of endofunctors" :D
I think frameworks are going to evolve into a tool for communication among programmers. The best example I can think of is the AWS SDK. All the operations are named similarly, regardless of which underlying language your SDK is using, so you can communicate with any other AWS developer in the world and discuss concepts with no breakdown in understanding. The most popular frameworks will have an opportunity to establish their dominance by establishing the common language we could potentially use to describe their problem domain permanently.
Could be great to see you learning about AI and ML, please share more content of that :D. This year I'll going to improve my statistic level to build awesome things for social issues.
This is a goal of mine, so to know there are tools out there that help achieve this is great!
Thanks for sharing. Now added aws amplify in todo !!
The post is very front end engineer specific. WOuld love to see what a backend engineer feels excited about in 2021.