Ionic teamの2021年の取り組みをレポジトリから眺めてみる。

公開:2021/01/02
更新:2021/01/02
2 min読了の目安(約2500字TECH技術記事

新年になりましたので、レポジトリからIonic teamの2021年の取り組みをみていこうと思います。これからどう変わるかを知ることで、今後の開発に活かしてもらうことができればと思います。

Ionic Framework 6.0.0

まず大きなトピックとして、 Ionic 6.0.0 のマイルストーンが昨年半ばに立ち上がっています。

https://github.com/ionic-team/ionic-framework/milestone/77

IonicはSemVerに基づいてバージョニングされていますので、 v6 がでる時(メジャーリリース)はAPIに重大な変更が含まれる可能性があります。そのため、検証期間が長く用意されており、まだ当分リリースされないものと思って大丈夫です。現在のおもしろそうなトピックとして、以下のようなものがあります

  • 標準Form Validatorの追加 (Constraint Validation DOM Methods#21872
  • パンくずリストUIの追加 #22701
  • ToastのデザインをiOS14のスタイルにアップデート #22676
  • Modal Controllerに canDismiss メソッドの追加 #22308
  • Toastをスワイプでも閉じることができるように #22133
  • Modalのスワイプで閉じる機能を ion-content 上でのスワイプでも閉じれるように #21227
  • Ionicのライフサイクル( ionViewWillEnter など)をDirectiveやComponentにInjectできる機能 #19391

他にも破壊的変更を伴うAPIの不具合の修正などもありますので、ぜひマイルストーンをご覧ください。

Capacitor 3.0.0

Capacitor 3.0.0がリリース予定です。もうすでに 3.0.0-alpha.11 まででてるので、beta版もまもなくですね。

v3でどう変わるかそんなにまとめてる記事ないですね。また正式リリース前にまとめようと思いますが、簡単にまとめると以下のような変更が予定されています。

  • Core Pluginはそれぞれ独自パッケージになって個別にインストールするようになります(アプリのbundleサイズ削減のため)
  • Androidのプラグインを追加する時、毎回 MainActivity でパッケージを読み込む必要がなくなります
  • npx cap run コマンドが提供され、IDE(Xcode, Android Studio)を開かなくてもデバイスで展開できるようになります
  • コード上でのプラグイン読み込みがシンプルになります(以下)
// old
import { Plugins } from '@capacitor/core';
const { MyPlugin } = Plugins;

// new
import { MyPlugin } from 'my-plugin';

ちなみにドキュメントも以下URLで用意がはじまっています。

https://capacitorjs.com/docs/v3

全体的に「細かく制御できるようになる」という進化かなという感想をもっています。

その他

Ionic Frameworkのa11y対応

標準アクセシビリティ対応の取り組みもはじまっています。主にキーボードでのUI操作に対するサポートです。

https://github.com/ionic-team/ionic-framework/milestone/89

Ionic FrameworkのDesktop対応

以前はGridの提供をもってDesktopサポートとしていたのですが、マウスのスクロールホイールでのPickerの操作などより細かいDesktop対応への取り組みがはじまっています。個人的に興味深いのは、IonicでつくったページはIonContentのスクロールが印刷できなかったのを修正する #19886 ですね。

https://github.com/ionic-team/ionic-framework/milestone/67

まとめ

2021年もすばらしい進化が待っているようなので取り残されないようにウォッチしていければと思っています。それではまた。