Microsoft hosted an in-person meeting in mid-October for Apache Cordova committers and developers. The goal was to two-fold: (1) advance conversations around Apache Cordova's future road map and (2) review the project health and, where necessary, create an action plan to address any quality issues identified by developers. The themes of the meeting included our commitment to making Apache Cordova and its plugins a stable platform.
This meeting was similar to the hour-long virtual conversations that Cordova committers usually have every month, but with more time dedicated to cover all the topics. In attendance were more than 25 people including folks from Intel, Adobe, IBM, Salesforce, Monaca and Meteor. The agenda for the meeting is on cordova-discuss and the meeting minutes are also available.
Stability and Consistency
Developers have voiced concerns about the numerous quirks in plugins for each platform, and the group agreed to ensure that plugins perform consistently on all platforms. For example, a Cordova plugin like the camera has a long list of quirks that result in different behaviors for some of the options used when calling the API. Another example would be the file plugin where the location of saving a file depends on the platform it is used on.
We are also looking at establishing a process to triage any issues that users report on the Cordova JIRA to ensure that high priority bugs are fixed quickly.
Documentation
The group also agreed on lowering the entry barrier for using the technology by adding more documentation and organizing the existing documentation better. In addition to continuing localization of content on http://docs.cordova.io, we also have proposals for better content based on the data we have from analytics on our documentation web site. Some of the proposals include new content, organizing plugin documentation, and adding blogs about any breaking changes we add to the project.
Extensibility
Many tool-builders who build upon Cordova in their products and offering (what we call “downstream distributions”) were also present at the meeting including IBM, Intel, and Meteor. There was general agreement that Cordova should be made much more extensible so that tool developers could leverage its features even more easily. The new proposals include ways to add third party package manager and a unified logging solution that can be used by downstream distributions.
We also discussed Cordova’s usage and collaboration with new and upcoming native-hybrid technologies including ReactNative. The group has discussed areas like sharing plugins and the ability to augment existing Webviews in Cordova apps with native controls. To this end, we have been experimenting with a plugin adapter that lets developers use Cordova plugins with ReactNative plugins.
Tools for Apache Cordova (TACO)
Several committers representing larger organization shared demos of their tools leveraging Cordova. The demo of TACO was very well received and features like dev kits seemed to be an idea that we could consider adding to Cordova core. The group also acknowledged that installing the developer tools for the first time could be cumbersome, and the TACO dependency installer is a great way to get started with Cordova.
Conclusion
Overall, the project's health is very good and the committers have done an amazing job in running the project and ensuring that developers using the platform can take advantage of the latest and greatest features of each platform. The project has also been following Apache's guidelines for new releases, features and processes for running the project. The project has been steadily growing with new committers bringing new skills to the table.
Many of the news idea and features are now starting to take shape of new proposals on the cordova-discuss repository and this is a great time to contribute to the project. You can use the mailing list to join the conversations, or leave your comments on specific issues or proposals on cordova-discuss.
Parashuram N, @nparashuram Parashuram is a Senior Program Manager in Visual Studio team and works on creating tools that help with cross-platform mobile development. He is also a committer and a member of the Project Management Committee of the Apache Cordova Project. |