Modernizing Apache Cordova: A Roadmap to Attract Developers and Align with Current Standards #555
Replies: 1 comment
-
I think some of these ideas are great but when the project is mostly maintained by a handful of volunteers, it's just simply not feasible. TypeScript100% support this, but it is a daunting task to go from JS authored sources to TS, especially when the JS sources very likely is fluid and don't adhere to any formal typings, it may be hard to go to strict TS without introducing breaking changes. When it comes volunteer work, large scale projects tends to stall and go stale before completion. Historically the community wanted to keep to JS authored sources. Verified Plugin EcosystemThis is more of a manpower issue, whose going to maintain such a list? To not only add to, but to remove when plugin is no longer being maintained? Many plugins are not updated simply because they don't need updates, they are stable, working API. Others the plugin authors comes and goes. We do have: https://cordova.apache.org/docs/en/12.x-2025.01/third-party/index.html but not strictly about plugins. Note that Apache policy dictates this page to be hidden in a sub-screen. It cannot be emphasized on the home screen. Modern Web API SupportMost of this are going to heavily depend on the underlying webview. Cordova does not implement the webview, we just package content around the webview. While some webview features can be polyfilled, things like services workers or web assembly I don't think can be, so if they are not supported by UI Starter TemplatesCordova strives to be agnostic to the web technologies. Apps are free to bring in angular, reactjs, or whatever other UI framework they choose, but it wouldn't hurt to have more Hello World templates. I think we already support changing the template to an alternate git repo when creating cordova projects. So I think I'd support any effort in creating a docs page + some template repos. (See https://cordova.apache.org/docs/en/12.x-2025.01/guide/cli/template.html) Backend Integration TemplatesI think I feel about the same as this as I do with the UI starter templates. The only other comment I have is we need to make sure that these templates are "offline-first". Mobile applications as expected from Google & Apple should appear to support offline mode. This means we can't really rely on NodeJS/Express views for example. The backend structure should, generally speaking, be limited to a restful API for data exchange. All UI should be bundled in the cordova so that it can gracefully handle offline situations. Community and Branding RevivalMost of this I think needs communication with Apache Legal. Like I'm not sure how "updatable" the logo is when it comes to copyrighting and trademarking.
We've had this at one point, but all apps that was showcase have either disappeared over the years or was otherwise not verifiable, or obviously was no longer made with Cordova. We could probably bring back an app showcase page if we have a good handful of apps to showcase. If we were to bring back an app showcase, it would have the same policy as the third-party tools page I think. Apache's concern on pages showcasing third-party services/tools and apps is they become or feel like a big advert page. So the content must not feel "advertisy" or appear in any way that Apache endorses the third-party content.
Apache has policy where the official discussion board must be the Apache mailing list. The mailing list is open, and searchable which makes documentable. It is old school, but a requirement of Apache. Apache does permit unofficial channels, but they had problems with stuff like Slack or Discord where the content may not be available after a certain period of time. We do have a slack channel with the link on https://cordova.apache.org/contribute/ but Apache requires us to keep that link somewhat buried and for us to encourage using boards that are archivable, that maintains a searchable history so that knowledge does not expire (e.g. slack has limited history). For this purpose, Apache did deem GH Discussions as an acceptable knowledge board. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Summary:
This proposal outlines key improvements that Apache Cordova can make to modernize its ecosystem, improve developer experience, and regain traction among web and mobile developers. The aim is to bridge the gap between current expectations and the existing Cordova offering.
Problem Statement:
Apache Cordova has been a pioneer in hybrid mobile app development, but it is increasingly perceived as outdated due to:
Lack of modern developer experience (no hot reload, no UI framework)
Poor plugin discoverability and outdated dependencies
Limited support for modern web APIs
Declining community visibility and engagement
Proposed Solutions:
Add support for TypeScript out-of-the-box
Introduce hot reload/live reload;
Provide better CLI project templates with optional UI kits.
Verified Plugin Ecosystem
Launch a curated Cordova Plugin Hub or integrate metadata into npm to verify:
Actively maintained
Compatible with latest platforms
Clear documentation
Modern Web API Support
Improve support for:
Service Workers
WebAssembly
Push Notifications
Media APIs
UI Starter Templates
Offer templates for:
Material Design
Tailwind CSS mobile starter packs
Native-like themed components using open libraries like Shoelace or Framework7
Backend Integration Templates
Provide Cordova starter apps with common backends:
Node.js/Express
Firebase
Supabase
Django/Flask
Community and Branding Revival
Refresh the Cordova website with:
Modern design
Updated logo if you wish
Showcase of apps built with Cordova
Launch a Cordova Advocates Program
Create official Discord or Discourse server for support and knowledge sharing
Expected Benefits
Attract new developers (especially JS frontend devs)
Enable easier full-stack mobile development
Reduce confusion around plugin quality
Reposition Cordova as a modern, lightweight alternative to React Native or Flutter for hybrid apps.
As a developer actively building with Cordova, I am willing to:
Assist in testing updated templates
Provide feedback on new tooling
Contribute documentation or UI templates if needed
Contact:
Name: Jude Uloko Ngbede
GitHub: [Dev-Soft-tech]
📞 WhatsApp (for developer collaboration only): +2348161122861
Beta Was this translation helpful? Give feedback.
All reactions