49th issue! If you missed them, you can read the previous issues of our Web Developer Monthly newsletter here.
Being a web developer is a fantastic career option. You have many job opportunities, you can work around the world, and you get to solve hard problems.
One hard thing, however, is staying up-to-date with the constantly evolving ecosystem. You want to be a top-performing web developer, coder, programmer, software developer, but you donβt have time to select from hundreds of articles, videos and podcasts each day.
This monthly web development newsletter is focused on keeping you up-to-date with the industry, without wasting your valuable time. I curate and share the most important articles, news, resources, podcasts and videos of the month.
Think Tim Ferriss and the Pareto Principle (80/20 rule) meeting the Software Development world. Whatβs the 20% that will get you 80% of the results?
A great article to start off this month's newsletter: Single-Page Apps (SPAs) vs Multi-Page Apps (MPAs). MPAs have improved over the years, but SPAs still have an edge in some aspects.
Complexity vs simplicity, capability vs maintainability β is at the heart of a lot of the debates about web app architecture. The core of the debate can be summed up by these truisms:
Read the whole article to get a clearer picture.
For those of you who don't know, the ZTM team and I have curated our all-time best free resources and free tools here for you. But here's a couple new ones for this month:
Find your perfect coding font.
A Pokemon API to make all your coding dreams come true.
Nothing excites JavaScript twitter world like a new runtime. Move over Node and Deno, because we have Bun now. Will there ever be a new runtime with more than 4 characters? We can only hope.
The gist of it: Bun.js uses the JavaScriptCore engine, which tends to start and perform a little faster than more traditional choices like V8, making it great for things that needs to start up fast. This is why it's a recommended runtime for edge devices/servers/CLIs, and not necessarily for your typical Node apps. I still like Deno best.
If you want to dive deep into Bun, here is a massive list of resources.
Mostly everyone's favourite frontend library. What crazy things have they been up to?
The new wave of React state management. Understand the core problems state management libraries need to solve and how the proliferation of modern libraries address them in new ways. I miss the days when everyone just used Redux.
Build and Deploy a Sample Bookstore with React 18, Vite, and Netlify Functions... #trendy.
How to Refactor Large React Components (The Story of a 2700-Line Component). A fun read on how to refactor components and best practices.
Reading the React source code. You will see what practices and patterns the React core team has applied to the React library that you all use.
Unpopular opinion warning: I've never been a fan of React Hooks since they were introduced. Why? One issue I have with hooks is the added layer of complexity and adding more fragmentation in the react code basis. It really breaks the idea of simplicity for some codebases and introduces newer ways to be clever than to keeping things readable. As with anything there are pros and cons though. With that said, this was a fun read about the downsides of hooks.
Shameless plug: We recently did a massive update to our Complete React Developer Bootcamp so if you haven't checked it out yet, what are you waiting for?!
Apple just released their WeatherKit to the public. It brings valuable weather information to your apps and services through a wide range of data that can help people stay up to date, safe, and prepared (or any other weather data app you want to build).
There is a platform-specific Swift API, and on any other platform with a REST API (For Web Babyyy!).
Still can't get enough of weather data? Here is another openly accessible data for all your needs: Make something useful with data from the Meteorological Institute.
If you got into the industry in the early 2010s you would have heard of Meteor everywhere. Did you know that they are still around and going strong?
Read a little history lesson and why this company is still having an impact on the web developer industry.
Sure, you may not love databases, but whether you work with them or not, there are basics things that anyone in the tech industry should know about databases to give you a little edge and also make you sound smarter in those meetings.
This fun article goes over things you should know about databases.
BODY MARGIN 8PX: The origin story for a style no one wants. Tell me you don't want to click it with a title like that.
The way we write about and around code is arguably as important as the code itself. And despite where you fall on that line, we can all agree that our words have the potential to both help and hurt codeβs effectiveness.
In this article, you will learn how to combine programming and writing to take your developer skills to the next level.
This is the best analysis I have seen of the frontend framework/library landscape and how each of the popular tools like Angular, React, Svelte, Vue and others compare. Check it out!
Create a cool project this weekend using maps! Check out this library that makes this simple and fun on the web. Let's see what you can come up with.
Felt. Best part, it's free.
Someone on Reddit asked: "What are some cool but obscure data structures you know about?"
The top answer that talked about Promise Maps blew my mind: Read about it here.
At first, JavaScript may seem quite simple. Yet the language is significantly more nuanced, powerful, and complex than one would initially be led to believe.
Many of JavaScriptβs subtleties lead to a number of common problems that keep it from working properly. Here are the top 10 most common mistakes that developers make.
There are a ton of shiny new libraries and tools every month which is why I have this dedicated section for them...
A new Date and Time picker component from the folks at Adobe.
NextJS 12.2 is here with more goodies.
New JavaScript library on the block with a sleek website: Atomico JS.
Vite 3.0 is out! Also, you know that ZTM is so on top of things that we have updated our Vue course to include Vite, Vitest, and Pinia. It was a massive update so you should go and check out the new revamped, super up to date Vue course!
Mantine a new React component library has been discovered!
Storybook 7.0 sneak peak.
Crypto just keeps cryptoing. How a fake job offer took down the worldβs most popular crypto game. This is a fun read.
This is the biggest news of the month. Probably will be impacting generations worth of future astronomy knowledge: NASAβs Webb Delivers Deepest Infrared Image of Universe Yet. Check them out and be blown away... you can also see the difference between Hubble and James Webb telescope images here.
Turns out having a police/data collection state has its downsides. Vast Cache of Chinese Police Files Offered for Sale in Alleged Hack Leak would be one of largest in history if confirmed, covering a billion people.
Not related to tech, but still kind of interesting: Why Sri Lanka is having an economic crisis
Apple is previewing a groundbreaking security capability that offers specialized additional protection to users who may be at risk of highly targeted cyberattacks from private companies developing state-sponsored mercenary spyware.
Elon Musk isn't buying Twitter anymore. This is the new reality show that people are into. If you are into reading about people you don't actually know, doing things that will not actually affect your life, you will enjoy reading news stories about this.
Dall-E is now available in beta for everyone to use. Check it out.
Follow the herd. Otherwise, a cool website.
This may be the coolest toy for techies out there.
Free and liberated e-books you can download.
Build a Hexaflexagons ASAP.
Why DRY is the most over-rated programming principle.
WHAT IS THIS HERESY!?
I highly recommend you all read this article for the month. I especially liked this one comment left by a reader:
"A better formulation of DRY is SPOT (Single Point Of Truth). Definitions (code, data) that represent the same βtruthβ, i.e. when one changes all have to change to represent a consistent truth, should be reduced to a single definition.
For example, if there is a rule that pizzas need at least one topping, there should only be a single place where that condition is expressed, so that when the rule changes, it isnβt just changed in one place but not the others.
Another example is when fixing a bug, you donβt want to have to fix it in multiple places (or, more likely, neglect to fix it in the other places)."
Listen to some coding music to make you 10x more productive. Facts.
Quick check bundle sizes: bundlejs - a quick npm package size checker.
Turn your Github profile account into a City.
Thanks for reading! Don't be shy now... Share this newsletter with your friends. See you next month! β€οΈ
By the way, I teach people how to code and get hired in the most efficient way possible as the Lead Instructor of Zero To Mastery Academy. You can see a few of my courses below or see all ZTM courses here.