He came, he saw, he conquered
All roads lead to… JavaScript, obviously. But Rome wants to help make your JS journey smoother and simpler than ever.
Sebastian McKenzie announced Rome's first beta release last week, and called it "the spiritual successor of Babel" (he's allowed to say that because he created Babel). Sebastian has long maintained that his original plan for Babel was to use it to consolidate multiple frontend tools into one, but for a variety of reasons that never happened. Well, it's happening now.
This first version of Rome is just a simple linter for JavaScript and TypeScript, but it eventually wants to become the one-stop shop for all your frontend tooling needs.
What does that actually look like?
Instead of using a collection of tools for compiling, bundling, and testing your frontend code, Rome will provide all of that functionality in one single package that's built from scratch. Rome refers to this as their "toolchain".
"Rome is designed to replace Babel, ESLint, webpack, Prettier, Jest, and others" – which some would say is an impossible goal. However, similar to Augustus, Sebastian found JavaScript a language of bricks, and he plans on leaving it a language of marble.
by @bradypp
After more than 3 years since the last Major release, React v17.0 (RC) is finally here and let me tell you – it was worth the wait.
Huh? There are no new features? How 2020.
Like your boyfriend in High School, React 17 is a “stepping stone" to future upgrades. Here's a recap.
document
node itself. This worked fine, unless you had various React versions in your app. In R17, React will attach events to the root DOM container where React is rendered, therefor, fixing the multiple versions issue.React
package directly, you'd still need to import React
because of JSX. With the new react/jsx-runtime
, that's a problem of the past.Though not the release we were hoping for, React 17 puts all the right pieces in place for better versions in the future.
Damn BOI HE THICC
IBM released the first desktop computer to be called a "PC" 39 years ago last week. Other desktop computers had launched before it, but this IBM 5150 was the first one to get mainstream traction and is credited with kicking off the "worldwide computing revolution." The OG PC is arguably one of the most important hardware products of the last 50 years.
Your Macbook Pro might cost a lot and might not have as much RAM as you'd like, but at least you're not paying $278 per KB. It also doesn't need a cassette port. It just needs a dongle with 6 different adapters, #courage.
import React from 'react'
function Form () {
...
const handleChange = (e) => {
setData((user) => ({
...user,
name: e.target.value
}))
}
...
}
Everyone's favorite, handsome, charming - yet humble technical author wrote the best thing you'll ever read about React's useRef Hook.
This interactive collection of TypeScript exercises gives a nice, soft intro to some foundational TypeScript capabilities and principles.
Shesh wrote a fantastic tutorial building a single page app in Rust. He shows you how to build an online store called "RustMart", which sounds like a very safe and normal place to go grocery shopping.
Gatsby merged their two websites into a newly updated Gatsbyjs.com in order to ~~funnel more traffic to their paid product~~ "set up users for success through one consolidated resource." They also released a new roadmap.
Jimmy made a short, insightful video about how the React Native bridge works.
Storybook just released v6.0, which promises to be much easier to set up while incorporating new best practices for component-driven development.
Debdut created a JavaScript currying library called omg-curry
. Look at Curry man.
Afonso wrote about how building helpful tools for himself and others helped him become a senior JavaScript developer.
As mentioned above, React 17 removes "Event Pooling". This is an example of where Event Pooling could go wrong with React 16. Because React used to recycle synthetic event objects, e.target.value
would be gone by the time we wanted to access it. To fix this we can either upgrade to React 17 (RC), call .persist()
on the event, or do as we're doing in the code below.
...
const handleChange = (e) => {
const name = e.target.value
setData((user) => ({
...user,
name
}))
}
...
Delivered to 105,434 developers every Monday
Sdu
@sduduzo_g
This is the first ever newsletter that I open a music playlist for and maximize my browser window just to read it in peace. Kudos to @uidotdev for great weekly content.
Brandon Bayer
@flybayer
The Bytes newsletter is a work of art! It's the only dev newsletter I'm subscribed too. They somehow take semi boring stuff and infuse it with just the right amount of comedy to make you chuckle.
John Hawley
@JohnHawly
Bytes has been my favorite newsletter since its inception. It's my favorite thing I look forward to on Mondays. Goes great with a hot cup of coffee!
Garrett Green
@garrettgreen
I subscribe to A LOT of dev (especially JS/TS/Node) newsletters and Bytes by @uidotdev is always such a welcomed, enjoyable change of pace to most (funny, lighthearted, etc) but still comprehensive/useful.
Muhammad
@mhashim6_
Literally the only newsletter I’m waiting for every week.
Grayson Hicks
@graysonhicks
Bytes is the developer newsletter I most look forward to each week. Great balance of content and context! Thanks @uidotdev.
AMD_
@_amdaniel_
The sense of humor and structure of the Bytes Newsletter is first class and the information that comes with it is enough to make a mini course.
False
@nullish2
Very few newsletters manage to be useful and not very boring. @uidotdev manages to achieve these pretty effortlessly. You can almost see Tyler chuckle as he writes them.
Chris Finn
@thefinnomenon
Every JavaScript programmer should be subscribed to the newsletter from @uidotdev. Not only do they manage to succinctly cover the hot news in the JavaScript world for the week but it they manage to add a refreshing humor to it all.