Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Capacitor 3.0 #3133

Closed
imhoffd opened this issue Jun 22, 2020 · 5 comments
Closed

Capacitor 3.0 #3133

imhoffd opened this issue Jun 22, 2020 · 5 comments
Milestone

Comments

@imhoffd
Copy link
Contributor

imhoffd commented Jun 22, 2020

Welcome to the Capacitor 3 planning issue! This issue will be periodically updated up until the launch date (TBD). We've locked this issue, but we highly encourage you to open a discussion if you have questions or suggestions.

🚨 This issue is meant to organize the scope and work for Capacitor 3 and is not intended to be used as a roadmap or guarantee of features.


The Capacitor project will focus on a few key areas of improvement for 3.0:

  • More community involvement. 💖
  • Re-invest in the idea that Capacitor can turn any web app into a native app.
    • We are re-evaluating the core plugins to provide the best experience for the most people.
    • Refactors are underway that improve the performance and stability of the Capacitor core.
  • Developer productivity and experience.
  • Foster a stable, high-quality Public API for apps and plugins.

High-Level Changes

  • Electron as a community-maintained platform. We estimate over 95% of Capacitor devs are targeting iOS and Android, but not Electron. Given this and our limited resources, we decided it makes the most sense to focus on the iOS and Android platforms and leave the Electron platform in the very capable hands of the community. Capacitor 3 will proudly offer the Electron Platform as the first ever community maintained platform for Capacitor.
  • Rethinking Plugins. Core plugins will be pulled out of Capacitor into their own packages (now "official plugins"). See Capacitor 3.x Plugins #3227 for details.
  • Programmatic run command. A new npx cap run command should be added that provides a CLI workflow for deploying debug builds to devices. This means IDE usage will no longer be required during day-to-day development. Please note: this is not intended for release builds (Support release builds from CLI #324). See this tracking issue and the corresponding PR: feat(cli): add capacitor run command #3599
  • Dynamic Capacitor Config. Capacitor should allow a capacitor.config.{ts,js} file so that configuration can be generated based on environment. Capacitor would run this during sync and generate a capacitor.config.json as normal in each native platform. See this tracking issue and the corresponding PR: feat(cli): support TS/JS config files #3756
  • Apps should control permissions. To make great native apps, developers need full control over the permission flow. In Capacitor 2, limited control over permissions was offered in the now defunct Permissions plugin. In Capacitor 3, a framework for permissions has been implemented that gives control over permissions offered by official and third-party plugins.
  • More control over included plugins. Controlling which plugins are included in iOS and/or Android is now (optionally) a matter of configuration (see feat(cli): locate plugins by allowlist #3762). One key related change is that included plugins are now automatically registered in the Android runtime, just like in iOS (see feat: automatically import Android plugins #3788). Plugins no longer need to be manually registered in MainActivity.java.

Please see the Capacitor 3 Upgrade Guide to read about the implications of these changes in Capacitor apps and plugins.

@ionic-team ionic-team locked and limited conversation to collaborators Jun 22, 2020
@imhoffd imhoffd pinned this issue Jun 22, 2020
@imhoffd imhoffd added this to the 3.0.0 milestone Jul 8, 2020
@imhoffd
Copy link
Contributor Author

imhoffd commented Jul 8, 2020

Updated Rethinking Plugins. We now have an issue for tracking progress of the plugin refactor project: #3227.

@imhoffd
Copy link
Contributor Author

imhoffd commented Jul 22, 2020

Added a link to the Capacitor 3 Upgrade Guide (WIP): #3320

@imhoffd
Copy link
Contributor Author

imhoffd commented Sep 29, 2020

Added a link to the open PR for the new capacitor run command: #3599

@imhoffd
Copy link
Contributor Author

imhoffd commented Nov 3, 2020

Added a link to the open PR for supporting capacitor.config.js/capacitor.config.ts files: #3756

@imhoffd imhoffd modified the milestones: 3.0.0-beta, 3.0.0 Dec 23, 2020
@elylucas elylucas unpinned this issue Mar 19, 2021
@jcesarmobile
Copy link
Member

capacitor 3 was released, closing

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants