funkyfrogstock - Fotolia
Dojo is an OpenJS Foundation Impact Project, putting it among the largest and most mature ones hosted there. The Dojo 7 release adds more than 20 new widgets, including data-aware widgets, widgets for building column layouts and widgets for such things as cards, forms and passwords to help developers build applications faster. Overall, version 7 provides new features, bug fixes and general improvements across the framework.
The Dojo team set out to improve out-of-the-box usability of each widget, standardize widget property patterns across the library and improve the theming experience for end users, Schiemann said.
For instance, Dojo's support for the Custom Elements portion of Web Components provides interoperability with other frameworks and component systems, said Anthony Gubler, vice president of engineering at software development company SitePen in Milton Keynes, U.K., in a blog post.
Dojo 7 also introduces Dojo Parade, a new package for building widget documentation and examples from within an application or widget library.
One developer hailed this addition to Dojo.
"I think the updates to '@dojo/cli-create-widget' to scaffold reusable widgets is really nice," said Rene Rubalcava, a software engineer at mapping software provider Esri in Redlands, Calif. "It sets you up to build a shareable widget library, including creating web components and provides some nice generated documentation with the new Parade library. This was a feature I was looking forward to, because the steps to create a widget library were a bit more manual before and now it's much simpler to get started."
"React itself is heavily inspired by Dojo; they wanted something like Dojo that didn't have the legacy of seven-plus years of stuff," Schiemann said. "So they basically rewrote it. And they were able to do some things that we couldn't do because we were supporting old [Internet Explorer versions]."
Therefore, Dojo has a "weird duality" of an old legacy platform that maintainers still support because many developers still use it, Schiemann said. "And we've got this new shiny thing that is smaller, leaner and more efficient."
Right tool for the job
Dojo is a full-blown framework, much like Angular or Ember. This comes in handy for certain tasks.
"For most applications, I don't need to add libraries to handle styling or state management," Rubalcava said. "Dojo provides what I need and there are rare cases when I might need something extra. The widget library updates also make it easier for me to keep a library of widgets I can reuse, make them themeable and I'm good to go."
"So we kind of had the luxury of this new thing and we've been able to look at React and Vue and say, well, we didn't like this, we like this standard and we aligned with this," Schiemann said. "So we have the benefit of that actually being quite a bit newer."
Another standout ability in Dojo 7 is the new Resources feature for creating data-aware widgets. Dojo has had the ability to create application level stores for state management for a while. But with Resources, a developer can create simple templates that fetch external data, write to local storage and pass them around to multiple widgets that might each do something different with the data.
"One could display a list, another could display a chart, another could provide some statistics," Rubalcava said. "And since the Resources feature manages data interaction for you, each widget could update the data or ask for new data and the results propagate to all the users."
Dojo 7's ultimate goal is to help developers to build more applications faster and better compared to competing frameworks or older versions of Dojo, but nothing is guaranteed.
Dojo is popular with enterprise developers largely because enterprises tend to need support for a wide variety of browsers, which Dojo provides. In addition, enterprises historically have problems that are difficult to solve, such as implementing data grids, charts, internationalization, accessibility, authentication, and user roles and permissions.
Dylan SchiemannCo-creator of Dojo and CEO of Living Specification
"Most of the frameworks would solve these issues in one-off ways that weren't actually realistic for an enterprise to embrace," Schiemann said, noting that Dojo had early backing from IBM, which builds lots of enterprise applications.