We’re building Capacitor based on feedback from the Ionic community to improve our ability to move across platforms such as App Store/web/electron, make it easier to interact with Native SDKs, mix web and native UI, and manage native app projects/tooling.
One feature I'm really excited about is having Web UI implementations of many Native experiences when running on the web/electron. Here's an example of how the `Camera` plugin looks when running in the web: https://twitter.com/maxlynch/status/961749127657910272. This uses our new Ionic Web Components so you can easily use these controls with low overhead even if you aren't using Ionic.
We hope Capacitor will be useful to other web developers that want to build mobile and desktop web apps, even if they aren’t using Ionic, and we’re building support for hitting the hybrid sweet spot of native UI shell (nav/menus) with web content.
Capacitor will eventually be replacing Cordova in Ionic’s toolchain so it’s going to be a core part of the experience.
You do get access to a lot of the core sensors on the device but the inconsistencies on iOS just really make life a lot harder. Hopefully this will change over the next year but I'm not sure how quickly it will happen. So basically yes, you should build PWAs but until apple gets completely on board you can't really leverage them to their full extent like you can with chrome on android.
P.S. Bx looks pretty awesome :)
Can you elaborate on this? I recently added a web site to the home screen of an iPhone 6 and a Galaxy S7 and they look the same to me. Is there additional functionality in the Android home page icon of which I'm unaware? (Not an Android expert by any stretch of the imagination.)
Also, thanks! You should check Bx in a month when we roll out the next major release which (we think) makes it even better :)
Even if manufacturers don't work together, if they at least provided JS API access built into their native browsers - then we can build shims on top of them.
I am perfectly happy opening up Xcode to build and configure. Same with Android Studio. Trying to find a "Cordova solution" to very common build tasks was a continual nightmare for me.
I ended up just switching to React Native to wrap a progressive web app. It makes no sense since I'm only using a single React component (UIWebView), but the build / deploy process was just so much easier to manage than the mess of Cordova scripts and outdated/broken plugins.
Any benchmarks/testings to show the performance is on par?
Integrating with some third-party like Auth0 goes smoothly for our projects until we get to Cordova, at which point we start chasing absurd bugs and explaining to their support that we do actually need Cordova support. We've been told more than once that Cordova is the "problem child" in terms of supported platforms.
We’ve had some good feedback from some react native developers that they’d love to build out pages with web content and wrap it with a native shell (nav/menu/etc), while easily exposing native modules/plugins to the webview, so that’s a use case we’re going to support. Being able to use that app as a PWA is a compelling value prop of this project as well.
My concern is that too often, embedded web apps still never feel right. It's that uncanny valley. I'm sure it's better than its ever been, but do you have thoughts on bridging that uncanny valley? (through maybe some CSS animation libraries that mimic the native controls?)
I'm not sure i would call React Native "ideal". I think it's "progress" though.
All of the others tools requiere multi-steps to integrate into android/ios projects. Even if "generating a already integrate project" is available, the ideal is just import with gradle or carthage/coccoapods and that is all.
Once we integrate it into the Ionic CLI, you won't really have to think about which part is Ionic UI and which part is Capacitor.