The Zend Framework team is excited to announce a partnership between Dojo
and Zend Framework. The goal is to deliver an out-of-the-box solution for
building Ajax-based Web applications with Zend Framework. This is mainly
targeted at users who rely on us to provide them with a best practice and an
out-of-the-box experience for Ajax and don’t want to have to deal with
evaluating a solution (e.g. toolkits, licenses, etc.).
Below is an FAQ which sheds some more light on this announcement:
Zend Framework and Dojo Partnership FAQ
What are the Zend Framework and Dojo Toolkit teams announcing?
Zend Framework and Dojo are announcing a strategic partnership to
deliver an integrated solution for building modern PHP-based Web
applications. In order to deliver an out-of-the-box experience Zend
Framework will bundle the Dojo Toolkit and will feature Dojo-specific
Why did the Zend Framework and Dojo teams decide to work
There are many synergies and similarities between the two projects and
their communities, including:
Zend Framework and Dojo are both licensed under the new BSD license,
allowing end users to integrate, alter, and distribute each project
as they wish. In integrating with Dojo, Zend Framework continues to
deliver business-friendly licensing along with its full Ajax
The Zend Framework and Dojo project both require all contributors to
sign Apache-style Contributor License Agreements, which mitigates
the risk of accepting contributions that infringe upon third
parties’ intellectual property rights.
Both projects have similar design philosophies, including a strong
emphasis on use-at-will architecture. Additionally, each has
rigorous quality guidelines with strict unit testing and coding
While Dojo can accept XHR responses in a variety of formats, JSON is
the preferred response format. Zend Framework fully supports JSON
for Ajax interactions, and already has a variety of helpers to
facilitate data transmission via JSON. JSON is a lightweight format,
solution to the problem of data representation in XHR requests.
Comprehensive Ajax Solution
Dojo provides a comprehensive solution for rich web user interfaces.
Many other toolkits either abstract common DOM-related actions to
make remoting more efficient or focus solely on the UI layer; Dojo
provides utilities for all of these.
Use of Standards
Dojo not only implements published standards, but also drives them.
For example, members of the Dojo Foundation are working on draft
versions of the JSON-RPC, JSON-Schema, and Bayeux Protocol
libraries. In addition, Dojo is adopting and implementing standards
driven by the OpenAjax Alliance including the OpenAjax Hub for
There are dedicated organizations behind both that allow customers
to benefit from a fully supported stack. Zend offers support for
PHP, Zend Framework and its application server offering while
SitePen has support offerings for Dojo. Depending on customer demand
the companies may also create joint support offerings in the future.
Both projects foster very strong and active communities that can
support each other. Visit http://dojotoolkit.org/community and
http://framework.zend.com/community for more information on how to
What if my favorite Ajax toolkit is not Dojo? How does this fit in with
your use-at-will philosophy?
Zend Framework will continue to be largely Ajax toolkit agnostic. While
we will ship Dojo with Zend Framework as our preferred Ajax toolkit,
only those who seek out-of-the-box Ajax functionality in the standard
library will require Dojo. Additionally, we expect that the various
Dojo-related components and helpers added to Zend Framework will serve
as a blueprint for similar components serving alternate Ajax toolkits
developed by the Zend Framework community. While we don’t have immediate
plans to support them directly, we may ship such community contributions
in the future.
While the Zend Framework team feels that Dojo is the right choice of
necessarily the case that Dojo is the right toolkit for you or your
project. In addition, it may not be worthwhile to refactor existing code
to standardize on Dojo. You may find that features found in other
The Dojo Toolkit project will, for its part, also continue being
server-side framework agnostic. In essence, this collaboration should
not be taken as a move towards exclusivity in either project; rather, it
adds features in each project to facilitate interoperability between
Zend Framework and the Dojo Toolkit.
What components in the Zend Framework will be affected by this
integration? Will any of this work benefit integration projects for
other Ajax libraries?
Currently, we intend to add the following components:
A dojo() placeholder view helper to facilitate Dojo integration in
your views, including setting up the required script and style tags,
dojo.require statements, and more. In essence, this work will
support and enhance Dojo’s modularity at the application level.
Zend_Form elements that utilize Dijit, Dojo’s widget collection and
platform. This will simplify creation of Zend_Form elements that can
be rendered as Dijits. For instance, highly interactive widgets such
as calendar choosers, color pickers, time selectors, and combo-boxes
will be provided in the initial integration project.
A component for creating dojo.data-compatible response payloads.
dojo.data defines a standard storage interface; services providing
data in this format can then be consumed by a variety of Dojo
facilities to provide highly flexible and dynamic content for your
A JSON-RPC server component. JSON-RPC is a lightweight remote
procedure call protocol, utilizing JSON for its serialization
format; it is useful for sites that require a high volume of
interaction between the user interface and server-side data stores,
as it allows exposing your server-side APIs in a format directly
accessible via your client. Dojo has native JSON-RPC capabilities,
and Zend Framework will provide a JSON-RPC implementation that is
compatible with Dojo.
These features will be added to Zend Framework; no components will be
re-written to make use of Dojo.
With Dojo support in Zend Framework, we hope to see ZF community
contributions that follow this blueprint to add similar functionality
for other Ajax toolkits.
- A dojo() placeholder view helper to facilitate Dojo integration in
I have feedback regarding the proposed method for integrating Dojo and Zend Framework. How can I deliver this feedback?
The Dojo integration will undergo the standard Zend Framework proposal
review process. Please watch the main developer’s mailing list in the
coming days for a proposal. You will be able to give feedback as with
Could I contribute support for my favorite Ajax toolkit to Zend Framework?
Absolutely. However, we will only officially support Dojo components for
the foreseeable future.
Will Zend Framework ship Dojo?
Is Zend joining the Dojo foundation?
Zend has signed a corporate CLA with the Dojo Foundation in order to
enable Zend staff to contribute to Dojo as needed and has begun the
process of becoming a new Dojo Foundation member.
Is the Dojo team joining Zend Framework as contributors?
Yes; the Zend Framework project already has CLAs on file for Dojo
If I have signed a Zend Framework CLA will I be able to
contribute to the bundled Dojo library?
We will not allow contributions to the bundled Dojo library through the
Zend Framework project. We will bundle the latest, unmodified version of
the Dojo library in Zend Framework; all contributions to that library
should be done through the Dojo Foundation according to their policies.
However, we may create custom modules to extend Dojo that contain
contributions from Zend and the Zend Framework community. The Zend
Framework team does not expect to ship custom extensions as part of our
initial Dojo integration project.
What license governs Dojo?
Will Zend Studio add support for Dojo? Will Zend Studio also
support other Ajax toolkits?
Zend Studio will continue to enhance its Ajax support in upcoming
versions. As part of these enhancements it will likely also support
individual toolkits including Dojo. We are evaluating enhanced support
for Dojo widgets used in Zend Framework components.
I have questions which you haven’t answered in this FAQ. How can
I ask them?
On Tuesday May 27th Zend Framework and Dojo team members will hold a joint Q&A webinar. In the webinar the Zend Framework team will deliver a
short overview of the proposed integration. Following this short
presentation we will open up the Webinar to questions from the audience.
In addition, Zend Framework and Dojo community members can email the
main development lists of either project.
Matthew Weier O’Phinney has
written up some of the technical details of the integration for those