この記事は Ionic Advent Calendar 2017 の初日の記事です。
こんにちは、榊原です。
今年は、Ionic Meetupを東京・大阪で3回行いまして、何となく国内でも使ってる人の顔が見えてきました。来年には書籍もでるので、2018年には爆発的に広がっていくのではないでしょうか(希望的観測)。
2018年といえば、Ionic v4もリリース予定です。Ionicが採用しているAngularがSemVerを採用しているので、Ionicもそれに追随する形で定期的にバージョンを重ねてきています。
バージョン | リリース時期 |
---|---|
Ionic 2.0.0 | 2017年1月25日 |
Ionic 3.0.0 | 2017年4月5日 |
Ionic 4.0.0 | 2018年夏 |
Ionic v4ではどういう変更があるのか、どういうメリットがあるのかをみていこうと思います。
Web Componentsベース
AngularのCustom Componentsベースではなく、HTML5の規格であるWeb Componentsベースで構築されることになりました。各ComponentsでLazyLoadingに対応し、またファイルサイズも小さくなることからかなりの高速化が実現されるようです。Ionic IconもWeb Componentsベースに生まれ変わります!
これによって、IonicのComponentsをIonic以外でも利用できるようになります。実際に、Reactベースのカンファレンスアプリがionic-team/ionic-react-conference-appで公開されています。
ただ、Ionic teamはionic-angular
のようなReactやVue向けライブラリは用意するつもりはないと言っていますので、<ion-button>
などの単純なUIパーツだけに留まらず、<ion-tabs>
であったり無限スクロールなどのAPIまで実案件で採用するならかなり険しい道になりそうです。
React、Vue.jsのサポートが発表されました。Web Componentsとフレームワークをつなぐラッパーは提供されます。ただ、CLIについては未発表です。
Server Side Rendering (SSR)のサポート
Angular CLIがSSRを実装したので後追いとなってしまいましたが、Ionic v4でSSRを実装する予定です。こちらはもう実装は完了しているようです。
Ionic v4に備える
Ionic v4は、core
というブランチ名で開発が進んでいます。
そこに、BREAKING.md(破壊的変更)があり多くの項目が挙げられていますが、対応はさほど難しくなさそうです。
例えば <button ion-button>
が<ion-button>
になったり、icon-left
がslot="start"
になるような一括置き換えでほとんど対応ができる項目がほとんどです。リリースされましたら、一括置き換えのための正誤表をつくる予定なので、それを利用いただいたらよほど複雑なアプリ以外は、30分もかからず対応できると思います。
v4に備えるという意味では、v3の最新版に追随しておくというのが一番有効です。
- まだv2をつかっている人は、早々にv3にあげてください。v2=>v4はやることが多いのでつらい作業になります
- v3でも、3.9.0以前のものをお使いの方は最新版にあげてください。DependenceがAngular 4からAngular 5へアップデートされています。
- HttpModuleをお使いの方は、HttpClientModuleに置き換えてください。やがて使えなくなります。
Web Componentsベースで開発するためのライブラリ「Stencil」をつくったり、またIonic Dev Appsという実機でライブリロード開発できるアプリを出したりと、早いサイクルで多くの取り組みが行われていますので、2018年もIonicは面白くなりそうです。
それでは、また。