Signup for the Ionic Newsletter to get the latest news and updates!

  • Max Gomes

    Nice! Looking forward to try it out!

  • Alejandro

    Sounds cool. Will capacitor work with Ionic1 apps?

    • yesimahuman


      • Nico Westerdale

        Would love to see a post that details the steps in migrating an Ionic 1 app to Capacitor. What the benefits and caveats are. A lot of us are working on existing projects and don’t get to play from the ground up with the newest toys in the box. I appreciate that this is still Alpha and will take a while to get there, but I’d like to be able to make the decision of whether this should be on our roadmap for adoption in 2018. From the post above it all sounds great, but I’m still not seeing the core reasons to switch over and I’d like to make that determination. That said, thanks for pushing the boundaries!

  • Martin Spierings

    Is there any demo to try out?

    • yesimahuman

      See above, should have one soon!

  • sudhan

    Can you please give some demo in capacitor. It will very helpful to us.

    • yesimahuman

      Yes we will get on that, stay tuned. 🍻

      • sudhan


    • FssRepository

      You can look at their plugin code (Device plugin – it’s the same how you need to make it – the only problem at the moment, than you cannot build android based plugin, because the builder not finished, but you can add plugin to you main project, and copy over later on)

      It’s real fun, i have made 4-5 plugins with 50 hours. I might post it, when the builder is done.

  • Alain Boudard

    Whoah, what a project !
    Now, how would you integrate native plugins “into” a PWA on the mobile ?

    • yesimahuman

      We have an API for building web fallbacks for plugins so the same APIs work in the browser if a plugin has its own web implementation

  • Jean Gérard Bousiquot

    Now, I’m interested in how you plan to face React Native in term of speed. Is Capacitor faster than Cordova?

    • Jan Piotrowski

      In what regards exactly is React Native faster than Cordova in your experience? Which measurements are you looking at?

      • Jean Gérard Bousiquot

        First of all React Native is is a real native app. You don’t use the webview for it as in Ionic/Cordova. So navigation, time to launch… are much faster than Ionic.

        I’m an Ionic user, I’m currently learning React Native for that specifically. I need more speed. If Capacitor can give me that speed boost, than I won’t have to switch to React Native or pure native for more complex apps.

        ps: I love Ionic and its ecosystem.

        • yesimahuman

          Thanks Jean. A few ways we are tackling that very problem: ionic 4 will boot a lot faster than ionic 2/3 or 1, and then Capacitor will eventually allow you to use native navigation shell for faster navigation if you wish. The benefit of Capacitor is that same code will work in the browser as a PWA, something that isn’t really the case with other cross platform tools today. Cheers

          • Jean Gérard Bousiquot

            cool thanks!

        • Gary Fung

          More specifically on performance, is no janky animation. Whole class of custom UI cannot be done with Cordova/Ionic apps (been there, tried that), when webviews have too horrid FPS. In React Native, UI performance problems mostly solves themselves.

          • yesimahuman

            Sounds like RN is working well for you, and that’s great. The web isn’t going anywhere though and we want to continue to build and improve on it with Capacitor. We’ve had some great reception from RN users that want to build more of their app with web technology, run it on multiple platforms without modification, and just use a native shell approach, so it’s certainly not either or.

          • Gary Fung

            I didn’t say either or. Only certain apps with “custom UI” as I said, and not all (not majority, even) apps have custom UI that can’t be made as a web app.

            But it’s also not useful to pretend Cordova/Capacitor (likely) is anything more than just web apps with some native API access.

          • yesimahuman

            Considering a Capacitor app is a full native app, that distinction doesn’t really mean much. You’re free to build portions of the app using native views if you so choose, and we have some prototypes using native navigation and menu, with pages as web content. Compared to Cordova, it’s a lot easier to drop down to native when you want to. The fact that people want to build most of their app using web technology doesn’t mean that a capacitor app is just a web app with some minimal native api access

          • Gary Fung

            Ok, I didn’t get that from this article. Good direction then for Capacitor to make it easier to add/integrate native views (and responsive to native gestures?) as needed.

          • anil

            So if we want to mix native components means do we need to write native code?
            i mean do we had native language knowledge?

        • mahmoud goda

          Exactly i have the same issue with Ionic and i’m thinking to switch to React native

        • Idrees Khan

          react native is a big learning curve, as you are ionic developer. NativeScript is another good option. At the end you will use same angular…

          • Jean Gérard Bousiquot

            Thanks! But no thanks. I already started learning React/React Native. It’s great and has a great ecosystem. Ionic is great too. I’ll still use it. But for some projects React Native will be better.

          • Idrees Khan

            In react native like others, u rely on ecosystem but with NS u dont. As u can directly call native apis in typescript which no framework provides. So u have more power. Anyway it was just a suggestion.

          • Jean Gérard Bousiquot

            great to know. But apart from mobile dev I do a lot of web dev too. So I have to pick just a small set of technologies and tools to work with. The time is not enough for me to learn and work with all those things. Thank you for your suggestions though!

    • Generic Comment

      Writing plugins in capacitor looks a lot easier, so you could write native code to perform intense calculations rather than using JavaScript. Won’t really benefit UI, but it can definitely improve long calculations.

  • Said Marar

    Well inersting project … i have one question is there a plugin that allows the a service worker run even if the app is closed or task kill by the user ??? I found it in reactnative … but i dont want to switch because i love IONIC

    • yesimahuman

      Yes, we have some basic support for this already with our background task feature but will be adding more. Which plugin did you find from react native you’d like us to support?

    • anil

      I think this plugin helps you.
      You have to add this line where you want to run app background cordova.plugins.backgroundMode.excludeFromTaskList();

  • Guillaume Aloird

    Nice ! I already love this project 🙂

  • Mike Cerny

    “Another difference is that Capacitor’s JS runtime is meant to be built into your app, providing a cross-platform API translation layer for Native and Web API calls.”

    If the language runtime is built into the app, why limit to JavaScript? Why not a runtime/VM for Ruby, Python, Dart, etc? Clearly this would not apply to PWAs but a hybrid app using Python instead of JavaScript for app logic would open up a world of interesting possibilities. Hopefully the JS runtime part will be a swapable module allowing the use of any number of languages.

    • Owen Melbourne

      I guess not….. as things like Ruby and Python are server side, where as apps are all client side, like Ruby isn’t going to help you open/close a dropdown menu for example?

      • Mike Cerny

        The article says the JS runtime used by Capacitor will be part of the Capacitor layer — in other words, not relying on the JS engine on the OS in question. That being the case, why not have the option for _other_ language runtimes/interpreters. Ruby and Python can run client-side just fine if there’s an environment for them.

      • Solerman Kaplon

        You confusing Ruby (the environment-agnostic language) with Rails (a server-side framework). I guess python is more use client-side than server side (thinking all the gnome apps written on it)

  • Joe landau

    Is Capacitor tied to Ionic? Or can you port any non-Ionic Cordova app?

    • yesimahuman

      It’s not tied to Ionic, any web app can work with it. It’s like Cordova in that regard. Cheers

  • Artur Veiga

    I have a little doubt. Will the project still run on a webview?

    • berardo

      Looks like so?
      “We want to be clear: we are not abandoning Cordova nor the hybrid approach it championed.”

    • yesimahuman

      Yes. We are all in on the web. That means you’ll be able to take a Capacitor app and deploy it to Electron or as a Progressive Web App with the same code. However, we plan on making it easier to mix in Native UI controls (like navigation and menus) while still maintaining cross-platform compatibility.

  • vijeth AG

    Im trying to understand more about Capacitor, How does Capacitor compare with web API (I mean with W3C adding more and more features like Camera/Geo-location etc., via the navigator object which are open web API’s).

  • ninguno

    I don’t understand that much. Does this mean Ionic will be eventually replaced by Capacitor? Or is Capacitor a replacement for Cordova APIs and therefore Ionic projects will work the same on the front-end but consuming a Capacitor API??

    • yesimahuman

      Capacitor is a replacement for Cordova, and is the native runtime and tooling used to interface with Native SDKs, and manage native platforms and plugins.

      The way you use Ionic with it is identical, and soon Ionic CLI will ship with Capacitor as an option

      • Daniel Rodrigues

        Nice, I was wondering If Ionic would be discontinued. Keep the good work!

        • yesimahuman

          No, definitely not! 😀 Ionic is the whole company and it’s all centered around Ionic Framework, so it’s not going anywhere!

  • Tim White

    So excited! This is a great move.

  • Luique Cruz

    This is really cool! can’t wait to try it out. o/

  • Alejandro Heredia

    This is really good news. Looking forward to use it.

  • tonymedrano

    That’s great ‼️‼️💪🏾💪🏾👏🏼👏🏼

  • Ashraf

    Very excited! This is a great move

  • Charles

    Great Job !! Can’t wait to add it in my next project !!

  • Geoffrey

    Really good news. Cordova became year after year too complicated to maintain. In french we call this “Usine a gaz”. It is really nice to give more control to native code. As well it would be nice to have a common repository for plugins which can avoid having to much plugins with different dependencies.

  • Gianfranco Palumbo
  • Timothy Gandionco

    Will really wanna try this. Hope it’s as fast as React Native, if not faster. It would make this way cooler.

  • anil

    Sounds Good.
    At Correct time i read this article.
    Actually i am Ionic dev from 4years and recently planning to shift to ReactNative as i thought of whole mobile market shifting to ReactNative and Flutter.
    But i likes Ionic.

    RN and Flutter gain popularity mainly because of their brand.(Facebook and Google).

    But as a Javascript Background for me its very hard to learn and dev apps and especially designing app in RN or flutter tooooo hard.

    So I am expecting good performance from Capacitor.
    If you guys working on Performance and Especially Concentrate on Device compatibility issues means it will be good.


  • FssRepository

    It’s interesting stuff, but if JS runtime environment included, than it can be big. As an app, it might not cause a problem. There were many problems with ionic framework and cordova plugins. In the open source world everything becomes non-maintained. We are thinking in the same way about cordova. I would have rewritten also. (anyway it’s not a big system) I was able to create a swift based cordova plugin, but definitely needs some juice.

    When Ionic 4 was announced that is coming around last year now, i decided to move away from every open source code, as i could have done far more faster in my own way. Ionic 4 hasn’t been finished, but my UI framework within 5 month almost there. (one week left with better feature set)

    I was totally right. Ionic team needs to focus on one thing, try to finish one thing with less bug, and try to focus on parameter simplification, instead of code base simplification.

    To make a clean code which do nothing is relatively easy, to create a meaningful component which is easy to use for others, it can be quite hard. (Ionic done the first with ionic 3 – lost almost 4 month, when i realized, that it won’t work. It was laggy, it was hard to use to solve performance issues and so on – i wasn’t able to update to new angular because of cli scripts)

    I hope i don’t need to rewrite cordova, because capacitor is not ready.

    I don’t think that flutter or nativescript is going to work, they are less productive than the web components, and tight coupled to the device, they are just loosing the flexibility.

    You can build a more performant web based UI, if you don’t put bloatware in it.

    I’m not sure what i have done, but i have a very complex app, and the size is 20 times smaller, than any similar in complexity. I’m not sure what is in the other apps. (maybe some big splash screen file, i don’t know – but when i look at 50-100MB-s for some app, which has got only 5-8 screen – i have no clue whatsoever)

  • FssRepository

    I have tried the capacitor latest beta, and i think it’s a syntactic sugar over cordova, but it’s far better in this way. I didn’t expect speed improvement, because it’s the same technology behind, but to create plugins with it, it’s real fun. The only problem at the moment, that android plugin building page hasn’t been finished yet. (i think it should be finished as soon as possible, because anyway it works both on ios and android) I just made some plugins into my project, but i cannot post it. (Google Map / ML Kit, MQTT, and common Native Overlay (click bait)) At the moment i have made the android versions, but i have tested the echoing and the listener stuff on ios, just i don’t know too much about the cryptic Swift language. (there is no experience, just i’m aware of some syntactic sugar and concept)