Ionic V3 ー> V5 アップデートのツラミ / The pain of Ionic update
by
acnaman
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Ionic V3 ー> V5 アップデートの ツラミ 2020/5/20 PWA Night 加藤翼 @acnaman
Slide 2
Slide 2 text
自己紹介 ● 加藤翼 ● インフォテック株式会社 新規事業T プログラマー ● GitHub : acnaman ● Twitter : acnaman_dev ● コミュニティ運営メンバー 2
Slide 3
Slide 3 text
おことわり ● スライドはアップ済みです ● 基本ツイート等OKですが、1スライドの みダメなやつがあります →該当スライドのときにアナウンスします ● ハッシュタグは #pwanight で! ● お酒片手(or両手)にお聞きください 3
Slide 4
Slide 4 text
アジェンダ ● Ionicとは ● V3→V5へバージョンアップした話 ● バージョンアップのツラミ(裏話) 4
Slide 5
Slide 5 text
アジェンダ ● Ionicとは ● V3→V5へバージョンアップした話 ● バージョンアップのツラミ(裏話) 5
Slide 6
Slide 6 text
知ってる人〜? Twitterアンケートに反応もとむ! 6
Slide 7
Slide 7 text
Ionicとは ● モバイル向けJavaScriptフレームワーク ● PWAの作成 ● iOS/Androidネイティブアプリへの変換 ● TechFeedとかで使われてます 7
Slide 8
Slide 8 text
メジャーバージョンの変遷 V3 2019年1月 V4 V5 2020年1月 8
Slide 9
Slide 9 text
メジャーバージョンの変遷 V3 2019年1月 V4 V5 2020年1月 独自路線の単体 フレームワーク (Angularベース) 他フレームワークとの 連携が可能 ※Vue対応はbeta 9
Slide 10
Slide 10 text
アジェンダ ● Ionicとは ● V3→V5へバージョンアップした話 ● バージョンアップのツラミ(裏話) 10
Slide 11
Slide 11 text
Ionic V3で構築したPWA ● 新規事業のプロトタイプ ● モバイル利用を想定したPWA ● Ionic + Firebase ● 新規事業のため詳細は非公開です 11
Slide 12
Slide 12 text
V3に限界がきた ● TypeScriptのバージョンアップに追随 しない ○ プロダクションビルド時のエラー ○ Jestのエラー →V5出たしアップデートしよう! 12
Slide 13
Slide 13 text
npmで最新落とせば いけるっしょー > npm install ionic/angular@latest こんな感じ? アップデート舐めてたぼく 13
Slide 14
Slide 14 text
npmで最新落とせば いけるっしょー > npm install ionic/angular@latest こんな感じ? アップデート舐めてたぼく 14 否
Slide 15
Slide 15 text
メジャーバージョンの変遷 V3 2019年1月 V4 V5 2020年1月 独自路線の単体 フレームワーク (Angularライク) 他フレームワークとの 連携が可能 大アップデート 破壊的な変更 ※Vue対応はbeta 15
Slide 16
Slide 16 text
「破壊的変更」の説明資料 1962行分の 「破壊的変更」 @IonicのGitHub 16
Slide 17
Slide 17 text
公式の移行ガイド さらっと 「プロジェクト作り直せ」 って書いてある 17
Slide 18
Slide 18 text
つらすぎるので移行方法書いた 18
Slide 19
Slide 19 text
一部抜粋 19
Slide 20
Slide 20 text
CLIのバージョンアップ 新しいCLIをインストール パッケージ名すら変わっているという罠 20 V3 V5 CLIパッケージ名 ionic @ionic/cli
Slide 21
Slide 21 text
チェックツールを使う 「破壊的な変更」のチェックツール チェックツール:https://github.com/ionic-team/V4-migration-tslint 21 V3のソースファイル チェックツール レポートログ
Slide 22
Slide 22 text
ソースの移行方法 旧プロジェクト (チェックツール分修正済み) > ionic generate XXX 新プロジェクト 生成されたファイルに 中身をコピペする 新Ionic用の ファイルを生成 22 新プロジェクト作成+ionic generate →生成されたファイルに中身をコピペ
Slide 23
Slide 23 text
続きはQiitaで! https://qiita.com/acnaman/items/b44b09b1f0c0c341c081 23
Slide 24
Slide 24 text
アジェンダ ● Ionicとは ● V3→V5へバージョンアップした話 ● バージョンアップのツラミ(裏話) 24
Slide 25
Slide 25 text
ツラミ1:開発が止まる ● ぼっち開発者 ● アップデート作業中は機能追加ができ ない 25 機能 追加 アップ デート
Slide 26
Slide 26 text
どうすべきだったか? ● 機能が多くなる前にバージョンアップ すべきだった 26 対象ファイル少ない 対象ファイル多い
Slide 27
Slide 27 text
ツラミ2:重くなる ● アプデ後の初期ロードが遅い ○ ファイル数の増加 ■ 79ファイル → 1122ファイル ○ Angularの最適化できてない 27
Slide 28
Slide 28 text
どうすべきだったか? ● Angularのチューニング ○ service-workerでキャッシュ制御 ○ Lazy Load 28 ただし頻繁に更新する時期だと やりづらい 学習コスト高いの が悩み…
Slide 29
Slide 29 text
もちろん良かったことも ● TypeScriptのエラーは消滅 ● Angularの恩恵を受けられる ○ V3はAngularの機能を使い切れない ○ ドキュメント豊富 29 これから新しく作る場合はIonic V5で作りましょう
Slide 30
Slide 30 text
まとめ ● IonicはPWAを作れるフレームワーク ● V3→V4で大きなアップデートがあった ● アップデート手順はQiitaにまとめた ● アップデートしても全てが良くなるわ けではない(重くなるなど) 30