Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
夢のクロスプラットフォーム開発
Search
scrpgil
May 09, 2021
0
310
夢のクロスプラットフォーム開発
scrpgil
May 09, 2021
Tweet
Share
More Decks by scrpgil
See All by scrpgil
ChatGPTとLangChain さわってみた
scrpgil
0
48
久しぶりに ionic startしてみた
scrpgil
0
170
Ionic 6でWeb3やってみた
scrpgil
0
150
Ionic×Angularで作る ストーリーズ風UI
scrpgil
0
310
Angularで作るモバイルアプリ開発〜スタートアップの開発事情〜
scrpgil
0
490
Stencil JSについて
scrpgil
0
370
PWA_Toolkitについて.pdf
scrpgil
0
1.5k
Stencil.js触ってみた
scrpgil
0
550
時間管理術_ポモドーロテクニック_について
scrpgil
0
93
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
39
2.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
80
44k
Building Better People: How to give real-time feedback that sticks.
wjessup
356
18k
A designer walks into a library…
pauljervisheath
201
23k
How STYLIGHT went responsive
nonsquared
92
4.8k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Web development in the modern age
philhawksworth
203
10k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
47k
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
Transcript
夢のクロスプラットフォーム開発 Ionic Meetup #17
https://capacitorjs.com/blog/mobile-apps-with-tailwind-css-nextjs-ionic-and-capacitor この記事読んだことある人はいますか?
<目的> この記事に夢を感じたので 実際になにか作って発表しよう!
<目的> この記事に夢を感じたので 実際になにか作って発表しよう! 途中まで作りました
自己紹介 • 名前:榊原宏祐 • ID:scrpgil • 株式会社キネカ • マッチングアプリ開発 •
Web AAビューワー開発 • Ionicヘビーユーザー(仕事 & 趣味) • 最近、ASCII.artドメイン取得
目次 • クロスプラットフォームとは? • 夢のクロスプラットフォーム • 実践編
第1部 クロスプラットフォームとは?
一般的なモバイルアプリ開発 複数のプラットフォームに対して、別々に実装が必要。 当然、プログラマー、デザイナーの工数も2倍。 プログラマー 言語・FW プラットフォーム
クロスプラットフォーム開発 一つのFWから、複数のプラットフォームへ展開可能。 プログラマーも、デザイナーも1人で済む(ことが多い) プログラマー FW プラットフォーム
フレームワークの恩恵 フレームワークが各プラットフォームのUIの差分を吸収してくれる。 デザイナーはどちらか片方のデザインに集中できる。
アプリとWebの違い モバイルアプリ Web • 高品質な体験を学習させやすい • リテンションさせやすい • シェア、拡散させやすい •
Google検索から流入できる • インストール不要ですぐに使える アプリとWebは競合せず、どちらも良いところがある 両方のプラットフォームでサービスを提供できれば理想である。
Webへの対応 主要なクロスプラットフォームFWはWebにも対応。 ただ、Webを深堀りすると対応はもう少し話は複雑である。 プログラマー FW プラットフォーム
Web開発で考えること HTML~CSSなどのコンテンツをサーバーから配信す る必要がある。 SNSでのシェアや検索への登録のために、動的に書 き換えることも必要。 また、表示速度も重要。 HTML、JS、CSS、画像 etc... Webサーバ Webブラウザ
Web開発で考えること Webアプリケーションフレームワーク(WAF)を利用することが多い。 WAFが各コンテンツ(HTML、JS、CSS)を動的に書き換える。 HTML、JS、CSS、画像 etc... Webサーバ Webブラウザ
• 画像の最適化 • ファイルシステムルーティング • サーバーサイドレンダリング(SSR) • 静的ファイル生成(SSG) • APIルート
最近のWebアプリケーションFWがもってる機能 アプリには不要だが、Webでは欲しい機能も多くある。 Webで展開する時、できればこれらの機能を使いたい。
第2部 夢のクロスプラットフォーム
クロスプラットフォーム(Capacitor)を 使いながら、Webも最新のトレンドを 使って開発したい
最近、流行ってるフレームワーク • Next.js: Webフレームワーク • Tailwind: CSSフレームワーク ここにクロスプラットフォームを統合させる。 • Ionic:クロスプラットフォーム向けUIフレームワーク
• Capacitor: クロスプラットフォーム
https://capacitorjs.com/blog/mobile-apps-with-tailwind-css-nextjs-ionic-and-capacitor Capacitorブログの記事 • Ionic作者Max Lynchが書いたブログ記事。全て取り入れた構成を実践している。
各スタックの紹介 Capacitor:アプリ全体とネイティブレイヤー Next.js:Web/Reactアプリ Ionic:ツールバー、ナビゲーションなどのプラット フォームUI Tailwind:コンテンツのスタイル
構成図 Web API HTML、JS、CSS HTML、JS、CSS AppStore API クライアント クライアント アプリ
サーバー バイナリ
IonicとTailwindの使い分け サービスのメインとなるページは、カスタムされた UIになることが多い。 IonicではなくTailwindが活躍する機会が多くなる
IonicとTailwindの使い分け 単純なリストページでは、 Tailwindを使用しない。 IonicのUIコンポーネントをそのまま使う。 いつIonicを使うか、いつTailwindを使うかは、 サービスの仕様により使い分ける。
注意点 このプロジェクトの1つの注意点: アプリとして動かすためには、クライアント側で実行できるように、 Next.jsのExportコマンドを使用する必要が あります。つまり、その時は SSRが行われません。 SSRと完全に静的なNext.jsアプリを連携させる方法は公式にはなく、無理にやる場合は、複雑な構成を必要 とする。 また、Next.jsルーティングとIonic Reactのルーティングが競合するため、使い分けが必要になります。
※Next.jsルーティングは、Ionicが持つ非線形ナビゲーションと画面遷移の状態管理を持っていないため。 実践運用する場合は、事前に検証してから使いましょう https://github.com/mlynch/nextjs-tailwind-ionic-capacitor-starter
第3部 実践編
Kaozo • テキストを簡単に共有できるサービス ◦ リンク共有するページとしないページを使い分け れば、SSRしながらIonicも利用できる。 • Figma:bit.ly/3vR6Fjf • Demo:kaozo.aahub.org
試したかったこと • Web版、アプリ版でランディング or オンボーディングページの出し分け ◦ Capacitor.isNativeを使って、アプリ用のオンボーディングページを表示
ご清聴ありがとうございました