days
-1
-6
hours
0
-6
minutes
-1
-6
seconds
-4
-7
search
It's me, your Uber driver

Uber joins the framework race with Fusion.js

Sarah Schlothauer
javascript
© Shutterstock / Koksharov Dmitry

Everyone knows Uber for their ride-sharing app, but what about frameworks? Meet Fusion.js, a new open source web framework from Uber. Focused on building lightweight apps, this framework uses plugin-based architecture to get the job done.

Be honest, when you think of Uber, you probably think of a wild night where the ride-sharing service got you home safely. Maybe you’re still mad that some driver rated you four stars instead of five. You probably don’t think of web technologies. Time for that to change.

Uber’s Web Platform team is actually quite prolific and builds web-based applications. Add one more to the tally, because they just released Fusion.js, an open source web framework for developing lightweight, high-performing apps.

What sets Fusion.js apart from the other frameworks out there? It is a plugin-based universal web framework and on its website boasts the line: Build more, configure less. Let’s take a look inside and see what this rocket is packing.

Under the hood

Core features include:

  • Plugin-based architecture and DI system for maintainability
  • Out-of-the-box support for server-rendering of React components, bundle splitting and hot module reloading.
  • Tree-shaking support on universal code
  • Ready-to-use testing environment with Jest, Enzyme, Puppeteer and integration test utilities.

SEE ALSO: Technology trends 2018: Here are the top frameworks

Previously, Uber was using a monolithic framework that was already becoming dated and by nature of being monolithic, wasn’t very flexible. It was time to step up their game and create something to rival the other frameworks out there.

Now, Fusion.js is modular and provides a flexible plugin-based architecture. It also has bundle splitting support, an optimized boilerplate that comes pre-configured, and hot module reloading. On the Uber engineering blog, it’s suggested that Atomic.js is perfect for single-page applications and “web apps that depend on complex service layers to meet quality requirements”.

Plug it in

Let’s take a brief look at the plug-in architecture.

Plugins can support things such as atomic CSS with Styletron and CSRF protection. The list of useful plugins is long and impressive. See for yourself what else there is.

Develops can also test plugins. Run an integration test with the fusion-test-utils package.

Better yet, it supports all of your favorite libraries, including React and Redux. (With the astronomical rise in React popularity, this is a feature that we warmly welcome.)

React integration is done with fusion-react, which provides a Fusion.js application class that comes pre-configured with React universal rendering. From the release notes, we learn that fusion-react “allows you to declare asynchronous dependencies at the component level, and make them work fine with server-side rendering as well as client-side rendering.”

SEE ALSO: Nuxt.js 1.0: Make web apps faster than ever with this Vue-based framework

Take Fusion.js for a spin

Ready to go for a ride? The getting started guide has everything you need. See what’s happening on GitHub while you’re at it. There are also plenty of guides available that will guide you through how to fetch data, create a plugin, universal rendering, debugging, static assets, and more.

From the Uber engineering blog, “Within Uber, there are already more than 60 repositories using Fusion.js since its internal release.” Will we see Fusion.js rise to the top? It faces some seriously tough competition. The market is already saturated with plenty of other open source frameworks. Will Fusion.js be different enough to get a foothold?

Have you tried Fusion.js? How do you feel about big name companies such as Uber creating open source frameworks? Let us know your thoughts in the comments below.

Author
Sarah Schlothauer

Sarah Schlothauer

All Posts by Sarah Schlothauer

Sarah Schlothauer is an assistant editor for JAXenter.com. She received her Bachelor's degree from Monmouth University in Long Branch, New Jersey and is currently enrolled at Goethe University in Frankfurt, Germany where she is working on her Masters. She lives in Frankfurt with her husband and cat.

Leave a Reply

Be the First to Comment!

avatar
400
  Subscribe  
Notify of