๐Ÿš€ Meet Bun 1.0: The New Cool Kid on the block


notJust.dev Newsletter ๐Ÿš€

Stay up-to-date with the latest technologies and become a better developer

Hey Reader ๐Ÿ‘‹

I just came back from a short family trip in the Romanian Mountains โ›ฐ๏ธ, and was excited to see a lot of new announcements in the Javascript world. In this issue, we will cover:

๐Ÿ˜Ž The new cool kid on the block: Bun 1.0

๐Ÿ™ˆ API Routes coming to Expo Router V3

๐Ÿ’ก An easy trick to get 50 GB of free storage

This issue is sponsored by IBM StepZenโ€‹

Intimidated by GraphQL? ๐Ÿ˜ฑ

With IBM StepZen you'll be impressed how easy it is to build GraphQL APIs.

All you have to do is run a CLI command ($ stepzen import), and the rest is done by IBM StepZen. It connects with a wide range of data sources such as SQL databases, Rest APIs, and even other GraphQL APIs.

I've personally used it in multiple projects (Spotify, StackOverflow, LinkedIn) and it saved so much time.

Let IBM StepZen take care of the boring stuff so that you can focus on building impactful apps ๐Ÿš€

๐Ÿ˜Ž Whatโ€™s up with Bun 1.0?

โ€‹Bun 1.0 was released at the beginning of this month, and it got a lot of attention in the Javascript community. Is it just hype, or is it here to revolutionize how we build and deploy Javascript apps?

What is Bun?

Bun is everything you need to build and run Javascript and Typescript applications. Itโ€™s the Swiss knife that can do everything: run, build, test, debug, transpile, test, etc. The best part about it is that itโ€™s really fastโšก

The problem Bun is trying to solve is the complex and fragmented toolchain we need nowadays to build javascript/typescript apps. For example, a simple NodeJS app needs:

  • NodeJS to run it
  • npm/yarn to install packages
  • nodemon to watch file changes
  • pm2 to run and monitor in production
  • tsc to transpile Typescript to Javascript
  • Babel to transpile Javascript
  • Esbuild/webpack to bundle the code
  • Jest for testing
  • etc, etc, etcโ€ฆ

All of these tools not only make everything more complicated for developers but also slow down the whole process of developing apps. Everything works independently, and sometimes the same step has to be executed multiple times.

Javascript Runtime

Bun is a drop-in replacement for NodeJS, and it is compatible with โ€œanyโ€ NodeJS app. It supports the most popular frameworks like Express, NextJS, Astro, Next.js, etc.

NodeJS is built using Googleโ€™s V8 engine that powers Google Chrome.

Bun is built using Appleโ€™s WebKit engine that powers Safari.

It can run Javascript, Typescript, and event JSX/TSX files without any additional dependencies.

Package Manager

Bun is also a package manager like NPM or YARN.

In simple words bun install is a much faster version of npm install.

Test runner

Bun is also a test runner that can replace Jest. It has the same concepts as jest (describe, test, expect), but it runs much faster.

Bun for React Native

How does this affect us - React Native Developers?

When it comes to the runtime, React Native is using Hermes, which is a javascript runtime optimized for mobile. I donโ€™t think there will be any changes to this in the near future.

However, Bun as a package manager is something that we can start using right away and benefit from faster installation and execution times.

Bun for Expo

Expo just announced that they added support for Bun on Expo CLI and EAS. That means that we can create expo apps, install packages, run scripts, and build our app on EAS using Bun.

Try it out by running bun create-expo my-app and see the magic yourself.


๐Ÿ™ˆ API Routes in Expo Router V3

Evan Bacon, the author of Expo Router, published a new RFC for an exciting new feature that is coming to Expo Router V3: API Routes. This will allow us to build full-stack apps, without leaving our Expo project.

The API Routes will enable developers to safely run server-side logic, without having to manage 2 separate projects for the mobile and the backend. On the server side, you can do everything from interacting with the database, authorizing usersโ€™ requests, to safely interacting with 3rd party APIs (e.g. OpenAI) without exposing your private keys.

A simple use case

You are building a simple mobile+web app. You have to integrate Stripe for payments. To process payments, you have to generate a Payment Intent using your Stripe private key. The private keys should never be used inside your client-side code. Thatโ€™s why this should happen on the server. If you donโ€™t have a server, you would have to setup one, just to integrate with Stripe.

With API Routes, you would simply create an API route, which will technically be a simple file in your Expo project, export a POST function, and safely create the Payment Intent on the server side using your private key.

Inside your Expo app (client side), you will send a post request using fetch to the API Route that you just created.

Everything lives inside your Expo project. Mobile. Web. And now also Server/Backend.

Note: You would still have to deploy these functions, but I am pretty sure that EAS will soon have support to deploy the API routes with one CLI command ๐Ÿคซ

๐Ÿ’ก Tip of the day

If you are like me, building lots of JavaScript projects, most probably your drive is full of node_modules folders. I saved over 50 GB on my old machine deleting the node_modules from old projects.

Running npx npkill will find all the node_modules folders and you can select the ones you want to delete.

โ€ผ๏ธ Only delete the node_modules folder from the project that you have created. There are also some system applications using node_modules, that you shouldnโ€™t delete. If you have a folder where you keep all your projects, first navigate there and then run the command.

All the information about what packages your project depends on, is kept inside package.json and the next time you need to run the project, you can simply npm install (or bun install ๐Ÿค”) to install back all the packages.

๐Ÿ” In case you missed it

Spotify Clone

Build the Spotify Clone using React Native, GraphQL, and StepZen by integrating directly with Spotify API

Stackoverflow Clone

Improve your React Native skills with this full-stack beginner-friendly tutorial

๐Ÿ”ฅ Press worthy

๐Ÿ‘€ Static Hermes: compile Typescript to native code for better performance

๐Ÿค– ChatGPT can now see, hear and speakโ€‹

Did you learn something new today?

If you found this email valuable, forward it to one friend or coworker who can benefit from it as well. That would be much appreciated ๐Ÿ™

Vadim Savin

Helping you become a better developer together with the notJust.dev team

113 Cherry St 98104-2205, Seattle, WA 98104-2205
โ€‹Unsubscribe ยท Preferencesโ€‹

notJust.dev Newsletter

Stay up-to-date with the latest React and React Native news and become a better Mobile Developer

Read more from notJust.dev Newsletter

notJust.dev Newsletter ๐Ÿš€ Stay up-to-date with the latest technologies and become a better developer Hey Reader, Before anyone downloads your app, they go through three simple steps in the app store. Impression - They see your app in the store Product Page View - They click to learn more Download - They hit install Most developers obsess over features but ignore this funnel - and thatโ€™s a mistake. If people donโ€™t download your app, your features donโ€™t matter. I learned this the hard way....

notJust.dev Newsletter ๐Ÿš€ Stay up-to-date with the latest technologies and become a better developer Hey Reader,, Welcome to month 3 of my app portfolio journey. I'm sharing everything - the wins, the experiments, and the lessons learned as we build toward 10 profitable apps. TL;DR This month shows some early signs of growth: $123 revenue (+712% ๐Ÿš€) 506 downloads (+52%) 6/10 apps launched (goal: 10 apps by year-end) 1. Launched Baby Kick Counter ๐Ÿ‘ถ We added our 6th app to the portfolio! Lukas...

notJust.dev Newsletter ๐Ÿš€ Stay up-to-date with the latest technologies and become a better developer What's up, nerds ๐Ÿ‘‹ In January 2025, Lukas and I set an ambitious goal... Launch 10 apps this year. A very optimistic goal, considering everything else we are doing at notJustDev. But guess what? We've already launched 6 out of 10 apps. And it's only September. How? Because we cracked the code and created something we call THE PLAYBOOK. A battle-tested system that turns app ideas into real,...