• Career advice, News

Highly utilised, highly complex

It has always been known that the JavaScript landscape is cluttered with tooling. Since the creation of JavaScript in 1995 the language has matured and the community around it has grown exponentially, the plethora of tools created over the years have often led to complexity and slower development cycles. Now we have Bun, an all-in-one toolkit aiming to disrupt the JavaScript ecosystem by simplifying and accelerating JavaScript development without sacrificing any of the qualities that make the language great.

 

What is Bun?

Bun is the latest in production ready JavaScript runtimes touted as an all-in-one toolkit with a major focus on being a drop-in replacement for Node. Bun serves to streamline multiple aspects of development from package management to server-side functionalities all within a single environment.

The main objective for Bun is to eliminate the inherent complexity found within the almost 30-year-old JavaScript ecosystem. The runtime integrates functionalities often managed by different tools, libraries, and packages, creating a smooth and efficient development experience.

Perhaps the most notable advantage is Bun’s ability to maintain compatibility with existing Node.js codebases. This means developers can migrate to the new runtime without having to rewrite large portions of their code, reducing the barrier to entry for adopting the new runtime and lowering the associated risks with migration.

 

Will it live up to the hype?

Plenty of excitement has been generated from the Bun creators over at Oven with founder Jarred Sumner leading the crusade/parade of disruption within the JavaScript community, taking to social media and Youtube to announce the version 1.0 release with promises to make your life as a JavaScript developer more productive…and more fun.

In response to the release of Bun 1.0, JavaScript developers and engineers have taken to their Youtube and Twitter now “X” to not only share their excitement but to also hold Oven accountable for its claims of Bun’s advantages over its predecessors with some mixed results possibly hinting towards biased figures generated during its pre-release testing.

Steve Sewell, Co-Founder and CEO of build.io has this to say on Twitter about his findings.

“Wow, ‘bun install’ is *ridiculously* fast[.] So fast I didn’t believe it worked. I had to stare at the console for a while to fully believe that the package install actually happened[.] Feels really nice to use, huge kudos to [Jarred Sumner].”

Bun is certainly fast; however, upon further inspection, there are currently over 1,100 open bug issues listed on the GitHub project. This raises concerns about its reliability. Nevertheless, with over 1,300 closed issues so far, it’s safe to say Oven is actively nurturing its development.

 

Node.js vs Bun.js

Bun’s development is venture backed with at least $7,000,000 dollars raised so far, the folks at Oven have plenty motivation to continue developing the runtime with Jarred Sumner leading it’s development since its inception, tallying up over 5,800 commits on the GitHub project with many more made every day.

However, this comes with one caveat which Node does not suffer from, if the main contributor to Bun’s development is removed from the process for whatever reason…What happens to Bun?

Node as we all know is an open-source project with an established open governance model which allows for its constant development without the need for one main contributor, Node will live on with its community.

Both Node and Bun function as JavaScript runtimes however, under the hood they are very different with Node.js primarily written in C++ and Bun written in Zig, a modern language created as a drop-in replacement for C and C++.

While Node.js uses Google’s V8 which power’s the Chrome browser, Bun uses JavaScriptCore an open-source JavaScript engine developed by Apple for Safari. The use of the latter allows for Bun to have improved start times.

Unlike Node, Bun natively supports TypeScript files. This support is made possible through its integrated transpiler, which allows you to run not only .js files but also TypeScript .ts, JSX and TSX files directly without the need for external dependencies or separate transpilation steps. This feature simplifies the development process by eliminating the need for additional tools or configurations to work with Typescript files in Bun.

 

Closing thoughts

Bun aims to be a game-changer in the realm of JavaScript development. By providing an integrated solution that tackles speed, complexity within a convoluted ecosystem it promises a more efficient and enjoyable development experience. As it continues to improve and gain popularity it will be interesting to see how it impacts the broader development community.

 

To find out more about our JavaScript team and how Formula can help you find your next role, talk to Callum.

0203 940 7464callum@formularecruitment.co.uk 

 


Written by Callum Cleave, Technology Consultant

Share this