28th 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 newsletter is focused on keeping you up to date with the industry, keeping your skills sharp, without wasting your valuable time. I will be sharing the most important articles, 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?
Here is something interesting this month. This person decided to test out the most popular static hosting options: AWS, Google, Firebase, Netlify, GitHub & Cloudflare. Guess which option is the best for you to host your next blog?
Big takeaway: If you want a fast website without breaking the bank, go for GitHub Pages. Itβs completely free and super fast. It does, however, require you to open source your site. Some of the other results may surprise you.
Some tools and assets to help you build your next project since we are best friends by now (unless this is your first time reading my articlesβ¦ in that case letβs take things slow):
Mostly everyone's favourite frontend library. What crazy things have they been up to?
React 17 is officially out! Here is the only real change in React 17 that you should concern yourself with.
State management library 1/1000 in the React Ecosystem, MobX version 6 is out. The big news is that decorators are no longer the norm in the library.
How should you structure your React app? Here is one way that is scalable.
Create React App 4.0 is here!
My heart breaks at this... React Hooks will now be more prominently featured in the next iteration of the React Docs. One of the main reasons I don't teach students React Hooks first (and instead starting with Class components) was because the Docs left Hooks until the very end of their documentation. Now they are going all in.
Managing long running tasks in React using Web Workers.
When to use useMemo.
Node and Deno, it's time for you to meet the new entrant in the arena: Elsa. Elsa is a minimal, fast and secure runtime for JavaScript and TypeScript written in Go (and doesn't use the v8 engine like the others). Deno, is written in Rust and Node in C++. Let's see where the future goes (my money is on Deno).
An excellent article on when to use React and when to use Svelte. I'm seeing a general trend in more and more Svelte usage for simpler static websites. As the article suggests, Svelte for Sites, React for Apps may become a thing. The creator of Svelte also did a little preview of what's coming in Svelte (no more Snapper).
While we are on the topic: Vue vs React π€ΌββοΈ
Some interesting points raised in the article and the discussion on some of the bad points of GatsbyJS. The battle between Next.js, Svelte and Gasby for static websites is heating up.
Ps Next.js is getting into the Static site generator game.
It seems like very month there is something new coming out of Github. This month is no exception. Meet Github Code Scanning. So what is it? It scans code as itβs created and surfaces actionable security reviews within pull requests and other GitHub experiences you use everyday, automating security as a part of your workflow. This helps ensure vulnerabilities never make it to production in the first place.
Quick: what are the benefits of having getters and setters in your classes? You may have seen them being used in JavaScript but do you know why there are useful? This is a bit of a deep dive but an interesting discussion around this topic that you won't find in many places (and also applies to other programming languages).
An interesting trend in the world of JavaScript. More and more tools are being built with programming languages other than JavaScript for the JavaScript ecosystem to take advantage of some of the performance and security benefits. Some of the main ones:
Build tools and compilers:
esbuild β Go: JavaScript bundler and minifier. It packages up JavaScript and TypeScript code for distribution on the web.
swc β Rust: JavaScript/TypeScript compiler
Google Closure Compiler β Java: JavaScript checker and optimizer
Linters and code formatters:
RSLint β Rust: JavaScript linter
Flow β OCaml: static typechecker for JavaScript
dprint β Rust: code formatting platform
Managing command line tools:
Fast Node Manager (fnm) β Rust: Node.js version manager
Volta β Rust: manage JavaScript command-line tools such as node, npm, yarn.
Since its Halloween month, I had to add this article just for the title. But this shows an interesting trick that I bet you never thought about using CSS Grid. Research has shown that the ideal line length in a web page is about 65 characters... so how do we take advantage of this information? Read the article!
An interesting look at how importing a JS library through a third party CDN may be an anti pattern. You may have seen something like this:
<script src="https://cdn.example.com/js/library-v1.2.3.js"></script>
Can you think of the benefits in doing this? How about the downsides? Here are the answers.
Be prolific Share your work Get better by creating more Eat your broccoli
Everyone's favourite JavaScript Documentation website, MDN is getting a new facelift. For most people you won't notice the difference, but to contributors, they are now changing the way things work. Check out the internal architecture and setup that they have now.
Although this is just a brief overview, there are some important Design Patterns you should be aware of when it comes to modern architecture in today's software world. Learn about: Circuit Breaker, CQRS, Event Sourcing, Sidecar, Backend-for-Frontend, and Strangler
This is a refreshing look at the world of JavaScript and the world of Rust and how they fit into the web development world. Don't bother diving too deep into the code, but you can skim through this article and I guarantee you, you will learn something interesting and new.
We tend to rely on caching solutions to improve database performance. Caching frequently-accessed queries in memory or via a database can optimize write/read performance and reduce network latency, especially for heavy-workload applications, such as gaming services and Q&A portals. But you can further improve performance by pooling usersβ connections to a database.
Next time you think building a JavaScript Library is a waste of time, a reminder that a project that got started as a simple JS library just got bought for $3.2billion.
Speaking of libraries...
How can you decide which 3rd party JS library should be used in your project? Check out Skypack Discover. Discover combines human-reviewed package recommendations with a quality-focused search algorithm to help you find the best JavaScript packages.
Just because we had a ton of these this month, I've added them into this section. Check out these shiny new things:
Google has a new programmable search engine. Add the google search feature to your own website. You can also hum a song and search for the song now with Google. Ooops, and an anti trust lawsuit is happening.
Digital Ocean just entered the app platform game. Deploy code directly from your GitHub repositories. Automatically re-deploy the app when you push updates to your source code (similar to Netlify).
In case you were not aware, Google and Oracle have been in a big battle over public APIs which could have huge implications on how any public APIs of the future will be dealt with. The stakes in the case are high for Google, which could owe Oracle billions of dollars in damages. More importantly, an Oracle win could reshape how copyright law treats APIs, giving incumbents the power to lock out competitors who want to build compatible software.
An elite and well known group of security researches hacked Apple for 3 months. Here is what they found out. Speaking of, Apple announced a bunch of new products including their latest phone. Homepod mini uses an interesting method to keep your audio data on the local device and away from Apple servers. Finally, Apple is introducing Face ID and Touch ID for the web.
Zoom is joining the big players like Slack and Shopify by opening up 3rd party apps to be built on top of their platform. Keep an eye on this.
Facebook is using QUIC/HTTP3 for 75% of their servers and it now joins companies like Uber who are taking advantage of this modern protocol that is looking to replace TCP.
PayPal is going to allow cryptocurrency buying, selling and shopping on its network
Stylish Snowball fights in 1896
A friendly reminder that naming things in programming is probably not as hard as this
Visit the old internet
Woa! For this month, instead of an artice, I have a video for you. The story of Adobe. Whether we are talking about Flash, or Photoshop, or any of their other products, Adobe has had a tremendous impact on the web development world. Here is a look at their contributions and history. It's super interesting and you will learn a thing or two.
Toonify yourself
If you have a google Pixel, you now don't have to wait on the phone... I cannot wait for this to be generally available to all phones.
Practice your typing skills with the classics
By the way, my full-time job is to 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 of my courses by visiting the courses page.