Dojo Web Development
In 2007, the Dojo Toolkit revolutionized the world of enterprise web application development. Now, Dojo is doing it again.
High-Performance Dojo Development
Almost any search for cutting-edge web development frameworks will return two major players - Angular and React. While these tools have earned their place as the leading technologies today, there is a significant gap between these two offerings. Dojo is designed to fill that gap.
Angular is a large, powerful framework designed to guide the development of extensive enterprise applications. Angular scales well to provide solutions of incredible complexity with consistent design patterns and robust APIs. However, this power comes at the cost of development complexity. The Angular framework is one of the most challenging platforms for building web applications today. Mastering this complexity requires a level of training and commitment that is often justified only by the largest applications.
React takes a radically different approach. Rather than providing a complex, rich, and powerful framework, React focuses on addressing one of the most challenging aspects of web application development - synchronizing application state to the user interface. React does this exceptionally well but leaves many unanswered questions regarding how the business logic and application state should be managed. This situation improves when combined with state management solutions, such as Redux, but these solutions don't often scale well as the application's scope grows. This makes React an ideal candidate for small- to medium-sized enterprise applications.
Dojo fills the gap between the largest applications that Angular is ideal for and the smaller applications that work well with React. Dojo is built around reactive components, called widgets, that are similar to React components. It then layers on a declarative state management system that allows business rules and state tracking to be implemented predictably. The Dojo framework also contains several additional modules that enable internationalization, in-page routing, and testing without reaching for a third-party library. This scalable, batteries included architecture makes Dojo the ideal solution for many enterprise applications.
Why Develop with SitePen
SitePen created Dojo as the result of almost two decades of experience building enterprise-grade web applications. SitePen was founded on the idea that web applications were going to be the future of enterprise applications. To realize this vision in the face of the fractured web browser landscape, SitePen led the development of a collection of open-source libraries that eventually became known as the Dojo Toolkit. This, at the time, cutting-edge project enabled development teams to focus on the creation of business applications that worked seamlessly across multiple browsers and platforms. It also contained a rich library of pre-built user-interface components that made the creation of powerful user interfaces intuitive and easy.
Today, the web faces a different set of challenges. Web browsers are now reasonably consistent, but the complexity of web applications is orders of magnitude higher than they used to be. To meet this new challenge, SitePen has developed a completely new Dojo framework that is optimized to manage the massive amounts of data that today's web applications work with. It also contains a full-featured UI component development system and infrastructure tools, such as support for in-page routing and internationalization. All of the knowledge that SitePen has gained over the last twenty years has been distilled and condensed into this framework, making it the ideal choice for many enterprise applications.
Benefits of Dojo Development
As the primary contributor to the Dojo project, SitePen is positioned to deliver applications with exceptional performance and stability.
Rich User Experiences
Dojo is designed to allow engineers to create cutting-edge user experiences with minimal development effort. It comes bundled with first-class support for advanced features such as web animations, intersection observers, and resize observers allowing applications to easily integrate these technologies to create highly dynamic user interfaces that perform exceptionally well.
Dojo also includes advanced in-page routing and history management systems that simplify the creation of single-page applications (SPA). The in-page routing system leverages design patterns commonly used throughout Dojo to easily describe routes and navigate between them. Dojo also comes bundled with multiple history managers that work together with the routing system to allow users to return the web application to previous states.
Dojo Software Development
Dojo Development Tools
Dojo includes a variety of development tools that allow it to deliver optimized experiences for different use cases. These tools include the Dojo command-line interface (CLI), build-time rendering support (BTR), and support for creating mobile-friendly progressive web applications (PWA).
The Dojo CLI is the primary tool for creating and managing Dojo applications. The CLI is a flexible tool that automatically discovers individual commands that can be added to a project to expand the CLI's capabilities. For example, when creating a new project, the CLI uses the dojo/cli-create-app command to generate the application's basic structure. This design allows Dojo to provide an ever-expanding set of tools to simplify feature creation while also allowing custom commands to be added by development teams.
Progressive Web Applications are a popular way to allow a web application to function as a native application on a mobile device. The Dojo framework uses a configuration-based approach to allow applications to tap into this advanced technology in a straightforward, declarative manner. Taking these simple steps allows a web application to be "installed" on a mobile device and often can give the user a more streamlined experience than what is provided by the device's web browser.
Technologies We Use
Dojo aims to provide a seamless developer experience, so it is the primary tool that we use. However, it is built on some influential open-source projects that we leverage to get the most out of it.
- Web Components
- CSS Modules
Industries We Serve
Among SitePen's greatest strengths is its wide-ranging experience across multiple industries. We have worked with some of the most notable names in numerous markets, with each engagement serving to refine our ability to address each enterprise's individual needs. Among the industries that we have worked within are:
- Financial services
- Public Safety
Choosing the Right Web Development Team
The right web development team for your project should augment your existing organization to yield a better result than what you have the capacity for on your own. As with many things, a "better" result can be hard to quantify, but generally, results can be measured in terms of cost, performance, and timing.
On the surface, reaching out to an external team for development can seem like an expensive option. However, the right development team will enhance your organization's productivity while freeing up your specialists to focus on other business-critical tasks. When the relationship between your organization and your partner works well, externalizing development can yield savings compared to the costs involved with growing the internal team to provide the same value.
The right web development team will produce results that match or exceed what your team can on its own. By selecting a partner that focuses on web development, you can tap into engineering and project management resources with extensive and highly specialized expertise. The engineers on these teams will bring knowledge of the latest technologies and how to best apply them to your project. The resulting project will be faster, more stable, better organized, and ready for future enhancements.
The final metric for project quality is timing. By partnering with a team of web development experts, you free your organization from the ramp-up time that today's web development projects require. By partnering with a team with established processes and best practices in place, you can multiply your efforts by delegating mundane tasks to them while still maintaining a clear understanding of the project's status.
Benefits of Developing with Dojo
In the world of enterprise web application development, Dojo strikes a critical balance between flexibility and structure. For the vast majority of web applications, some structure is vital to guide the development team into building a consistent and well-organized application. However, too much structure can weigh the project down with boilerplate code and an excessively high learning curve. Dojo uses the widget as its fundamental architectural element, and a comprehensive set of modules for data management, styling, testing, internationalization, and more provide a strong foundation for building complex web applications without forcing them to be used. This allows development teams to select the level of support that they need to optimize their productivity.