Introducing DoneJS 1.0—Get Your App Done 🏁

Chasen Le Hara by Chasen Le Hara

Introducing DoneJS 1.0—Get Your App Done 🏁

Chasen Le Hara Introducing DoneJS 1.0, the easiest way to build maintainable high-performance and real-time web, mobile, and desktop apps!

posted in Open Source ,Development on April 27, 2017 by Chasen Le Hara

Today we’re super excited to announce DoneJS 1.0, the complete and integrated solution to building high-performance, real-time web, mobile, and desktop applications. DoneJS covers every client-side feature you need to get a production-worthy application off the ground, whether you’re building a web application, a mobile app with Cordova, or a desktop app with Electron or NW.js.

At Bitovi, we’ve used DoneJS on projects for companies like HaulHound, Levi’s, Lowe’s, and more! Companies outside of Bitovi have used the DoneJS libraries to ship apps used by millions of people. Originally called JavaScriptMVC, DoneJS has a decade-long history of helping developers like you build maintainable high-performance, real-time web, mobile, and desktop applications.

DoneJS 1 includes CanJS 3, a collection of front-end libraries that make building innovative yet maintainable web apps simple. It also includes StealJS 1, a module loader and bundler that makes developing modular code a breeze.

Read more below on the new changes we’ve introduced in CanJS 3 and StealJS 1, as well as some other exciting new changes we’ve shipped since DoneJS 0.9 last year.

New in CanJS 3

When we announced CanJS 3 in December, we talked about our new focus on making future upgrades easier, improving the longevity of your code, and embracing experimentation and outside tools.

We also highlighted a few new awesome features:

Since December, we’ve been executing on our mission to embrace experimentation by publishing five new minor versions of CanJS 3, which have included:

In addition to all the great features listed above, CanJS 3 embraces independent repositories to make upgrading apps even easier in the future and encourage innovation within the ecosystem.

New in StealJS 1

StealJS is the module loader and bundler that makes it cheap and easy to do the right thing. Doing the right thing, when building for the web, includes things such as writing tests and breaking your applications into smaller mini-applications (modlets) that can be composed together.

The introduction of StealJS 1.0 brought a few changes:

Since StealJS 1.0, we’ve improved StealJS in a bunch of other ways:

Upgrading from StealJS 0.16 to StealJS 1.x is so easy that I wrote a blog post that covered how to upgrade any Angular, CanJS, jQuery, React, or Vue app to StealJS 1.

New in DoneJS 1

The biggest changes to DoneJS 1 are related to using CanJS 3 and StealJS 1, but a few other improvements have been made to the packages that glue the DoneJS libraries together.

First, we’ve added Electron support! Both the Quick Start Guide and the In-Depth Guide cover how to add Electron to a DoneJS app and build for it, which is as simple as:

donejs add electron
donejs build electron

Note: DoneJS 1.0 still supports NW.js; Electron is just a new option!

Second, we’ve made a huge speed improvement to done-ssr, which results in 2.5x more requests being served per second compare to previous versions, especially when used in conjunction with .component files.

Third, we’ve fixed the plugin generator to include the dist folder when a plugin is published to npm. We’ve also added CONTRIBUTING.md files to the generator and plugin generators, which include all of the instructions for you or new contributors to develop the project locally. Last but not least, plugins are now generated with an index.html page with some useful information:

Screenshot of a generated plugin’s index page

Get started today

If you already have a DoneJS 0.9 app, the migration guide will walk you through the process of upgrading your app to CanJS 3.x, StealJS 1.x, and the latest versions of the DoneJS packages.

If you’re new to DoneJS, check out the Quick Start Guide to learn how to build a real-time chat application with DoneJS. In the guide, you’ll also learn how easy it is to use Firebase as a CDN for your app and make native desktop and mobile apps with Cordova and Electron.

We’ve successfully used DoneJS 1 on our projects and we’re excited for you to do the same. The core team wants to help you whether you’re new to DoneJS or you’re upgrading an existing app. If you have any questions or need any help, please reach out to us on Gitter chat or our forums!

Create better web applications. We’ll help. Let’s work together.