Ionic: 2017-18 Roadmap
The Ionic team had an incredibly busy and productive summer and rolled into a very productive fall. We released some new projects, soft launched our new Ionic Pro commercial offering, and are growing the team to make Ionic Framework and our services around it better and better.
With all the movement lately, I want to take a step back and talk about what the next ~6-12 months looks like for everything Ionic.
To start, let’s address specific short term things you can expect:
Next 30-60 days
Ionic iOS 11/iPhone X
The iPhone X is rolling out in November and iOS 11 has been here for a month or so. We rolled out releases of Ionic for Angular (3.x) and Ionic for AngularJS (1.x) recently to ensure compatibility.
For those still using Ionic for AngularJS, this is our first release in a long time. Make sure to update to properly target the new safe regions on the iPhone X, as well as referring to our last blog post about iOS 11.
Make sure you have the latest releases of Ionic for Angular and Ionic for AngularJS to be ready for X and iOS 11:
Ionic for Angular (3.x): 3.7.1
Ionic for AngularJS (1.x): 1.3.4 (upgrade instructions)
Read more about getting ready for iOS 11 from the blog.
WKWebView is the default for new apps
We recently updated the default Web View on iOS to WKWebView for all new apps.
WKWebView brings significant performance and functionality improvements to iOS compared to the classic UIWebView. Scroll events are better, making infinite/virtual scroll faster and more fluid, JavaScript execution is much faster, and there are more APIs available to web developers.
For existing apps, we recommend trying it out and seeing if it improves your apps. We are confident it will.
However, there are some things you’ll need to keep in mind when using it. Read our post on WKWebView for more info.
Ionic Pro Updates
Ionic Pro is our new platform for making Ionic development faster and easier than ever before. Pro automatically tracks runtime errors (even back to your TypeScript!), makes it possible to ship updates without going through app store submission, (soon) will have PWA hosting, and more. (Learn more about Pro)
For those that have stumbled on Ionic Pro and given it a try, thanks for being early customers and for sharing your feedback. Expect rapid evolution of Pro as we iterate quickly on it and start to hire to staff the team. The early reception has been really positive despite some rough edges and the team has many improvements planned to help take your Ionic development to the next level.
We’re actively working on a few major features, including Progressive Web App hosting, which will roll out to everyone on Pro once it’s ready.
Ionic DevApp and Ionic View
A few months ago we talked about the Ionic View app evolving into two apps: the new Ionic View focused on beta and external testing, and Ionic DevApp focusing on local development.
We took a look at Ionic View, and while the app was popular, users were either trying to use it as a local development aid, or using it for external testing. It wasn’t amazing at either.
What we’ve done since then is move the tester use case into the new Ionic View. With that we’ve added a number of features to make it easy to share builds of your app with a lot of external testers and clients, including doing A/B testing and sharing different versions to different people. We’ve also added a ton of new native plugins to it. We are confident it’ll be a major part of your beta testing strategy going forward and that you’ll find it much easier to use than TestFlight or similar tools. We also fixed a few issues with the app in the last week or so, if you tried it earlier Oct/late Sept give it another try!
We’ve then taken the local development use case and made it 100 times better in the (soon to launch) Ionic DevApp. Instead of doing a server upload just to test in the app, the DevApp works by discovering your ionic serve
instance and loading your app seamlessly over the network. It also supports live reload!
I think DevApp will be a major boon to Ionic devs’ workflow, as it removes the need to deal with any Cordova or Native SDK toolchain to build out a large portion of your app. Stay tuned for the official DevApp release in a few weeks!
Ionic for Enterprise
We’re expanding our work with enterprise companies that use Ionic today. Are you interested in getting expert help and expanded Ionic features in an enterprise setting? Please get in touch.
Next 3-6 months
Ionic 4
We’ve been working hard on the next generation of Ionic that will see us moving a large portion of our components to standardized Web Components built with a new tool we’ve created to build fast web components: Stencil.
Ionic 4 is significant for a few reasons, but primarily because it’s the first release of Ionic that will be framework agnostic.
For those that were with us since the beginning, Ionic was always meant to be first and foremost a web-based component library. Unfortunately, there was no “native” way to ship a library of custom HTML tags back in 2013, so we picked AngularJS because it was the best way to offer a library of custom tags that users could use without having to manually scaffold or initialize components. The Angular community ended up being a great place for Ionic and we are thankful for all the support and help from the community and the Angular team itself helping us get to this point.
With Web Components now natively supported in 2017 in Chrome and Safari (and iOS!) and other browsers catching up or working really well with polyfills, we feel the time is right to go back to the original dream and open up Ionic’s components for every web developer, no matter what stack they use.
Does this mean we’re leaving Angular? No way! We think Angular is great and our goal is to keep ionic-angular
very similar from an API standpoint. This isn’t another one-to-two situation. Instead, the Ionic component tags used today in your Angular apps will end up running web components instead of Angular code, which should make ionic-angular
smaller and reduce loading time.
For those that love Ionic but want to use it with Vue, or React, or Ember, or jQuery, or plain JavaScript, you’ll be able to once Ionic 4 releases. In fact, we’re confident that you’ll be able to use Ionic 4 components in AngularJS (1.x), which should provide a path way into the future for developers still on Ionic/AngularJS 1!
Beyond supporting new frameworks (or none at all), Ionic 4 will have some significant performance increases for Progressive Web Apps, primarily due to “Using the Platform” (i.e. shipping less code and using native browser component features), along with some new lazy loading strategies we’ve added into Stencil.
We hope that, by moving to web components, we’ll be able to help end Framework Churn once and for all.
Cordova Plugin Initiative
We are hiring to build out a Cordova Plugin support initiative. We know that the Cordova plugin ecosystem is both one of the best yet most challenging aspect of Ionic/Cordova development. Many plugins exist to interface with a plethora of native features, but many are not maintained or updated quickly enough. We want to throw more of our resources behind helping these plugins improve, as well as offering businesses some premium plugins we’ve built ourselves, and support for those plugins.
Progressive Web Apps
It’s no secret that we are big fans of Progressive Web Apps (PWAs), the term for a modern web app that uses new APIs to provide an app-like experience for users.
There’s a lot of confusion around PWAs. Does this mean Cordova doesn’t need to exist? Is Ionic dropping support for app store apps? Will PWAs replace native apps?
While some in the web community do see PWAs as a long term replacement for native apps, we don’t see it that way at Ionic. We think everything depends on the context your users find your app from. Are your users coming heavily from google search or web links? A PWA can greet them with a quality experience instead of risking pushing them to download an app in the app store. Are users finding your app in the app store or through other apps? A native app might make more sense. It also might make sense if your app requires native functionality not available on the web yet. Does your app have the ability to provide a nice, simple web experience and then expand with lots of native APIs when installed from the app store? You might find that having both a PWA and a native app makes sense!
Always Bet on the Web
With major advances in Web APIs, dramatic successes with mobile web apps, and ever faster and more capable devices, we feel validated that betting on the web was the right strategy.
We want Ionic to be a UI layer for wherever the web runs. We see native apps (app store apps) as a majorly important platform for Ionic, but we also think it’s amazing that Ionic devs can target the web through Progressive Web Apps with the same code. Additionally, Ionic apps run in Electron and as responsive web sites.
We’re proud to be 100% focused on open web standards and web technology, even when it wasn’t the cool thing to do.
Going forward, we will continue to push this practical approach: target the web, wherever it runs.
Always Bet on the Web!
Cheers,
Max