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
Ionic×Angularで作る ストーリーズ風UI
Search
scrpgil
November 27, 2021
0
400
Ionic×Angularで作る ストーリーズ風UI
scrpgil
November 27, 2021
Tweet
Share
More Decks by scrpgil
See All by scrpgil
Firebase Realtime DB から ActionCable 移行のマネジメントの話
scrpgil
0
69
フレーム問題で考えてみるやる夫スレViewer
scrpgil
0
7
ChatGPTとLangChain さわってみた
scrpgil
0
75
久しぶりに ionic startしてみた
scrpgil
0
230
Ionic 6でWeb3やってみた
scrpgil
0
190
Angularで作るモバイルアプリ開発〜スタートアップの開発事情〜
scrpgil
0
590
夢のクロスプラットフォーム開発
scrpgil
0
360
Stencil JSについて
scrpgil
0
410
PWA_Toolkitについて.pdf
scrpgil
0
1.7k
Featured
See All Featured
Embracing the Ebb and Flow
colly
84
4.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Rails Girls Zürich Keynote
gr2m
94
13k
Typedesign – Prime Four
hannesfritz
40
2.4k
Scaling GitHub
holman
459
140k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Into the Great Unknown - MozCon
thekraken
34
1.5k
Making the Leap to Tech Lead
cromwellryan
133
9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
GitHub's CSS Performance
jonrohan
1031
460k
Transcript
IonicとAngularで作る ストーリーズ風UI 株式会社キネカ 榊原宏祐
自己紹介 ・榊原宏祐 ・株式会社キネカ所属 ・エンタメマッチングアプリ「pato」の開発 ・patoの開発からコーポレート、採用を担当 ・Twitter:@scrpgil
日本初エンタメマッチングアプリとして 2016年にリリース。最短30分で、近く にいるエンタメキャストを呼ぶことがで きるサービス。 経営者層を中心に、口コミで広まって おり、サービス開始以来、多くのユー ザーに利用される。
ストーリーズとは?
ストーリーズの説明 https://bit.ly/3nCECmx • Instagramの写真投稿機能 • 一定時間で写真が自動的に切り替わ る • 今では様々なサービスで同様の UIが
使われている Instagram
ストーリーズ実装の3つのポイント • ポップイン表示 • スライドのアニメーション • プログレスバー
ポップイン • ストーリーを開く時のアニメーション • クリックした場所から拡大されるように開くの が特徴
スライドのアニメーション • ストーリー切り替えるときのアニメーション • 立体的に切り替わるのが特徴
プログレスバー • ストーリーの経過時間を表示する • アニメーションの終了と共に、次のストーリー へ切り替わる • 写真や動画によって時間が可変で変わる
Ionicについて Ionicは、モバイルアプリ向けのUIフレーム ワーク集 Webコンポーネントで作成されており、 Angularと組み合わせれば、Webネイティブ の技術で高品質なモバイル向けアプリを簡 単に作成できる
ポップインの実装1 • Ionic Modalはデフォルトだと下からスライ ドするモーダル • アニメーションはカスタマイズ可能
ポップインの実装1 • Ionic Modalはデフォルトだと下からスライ ドするモーダル • アニメーションはカスタマイズ可能 • 公式がアニメーションのサンプルを提供し ていくれている。https://bit.ly/3HRjKjE
ポップインの実装1 • Ionic Modalはデフォルトだと下からスライ ドするモーダル • アニメーションはカスタマイズ可能 • 公式がアニメーションのサンプルを提供し ていくれている。https://bit.ly/3HRjKjE
ポップインの実装2 • クリックイベントを取得する • event内のclientX、clientYがクリックした位 置の縦軸、横軸 • この情報を使ってアニメーションのコードを書 き換え
ポップインの実装2 • クリックイベントを取得する • event内のclientX、clientYがクリックした位 置の縦軸、横軸 • この情報を使ってアニメーションのコードを書 き換え
ポップインの実装3 • 完成 • 閉じるときはIonicアニメーションで逆描画 (revers)させる • opacityは1のままのほうがそれっぽい
スライドアニメーションの 実装1 • Ionic Slideを使って実装 • デフォルトは横スライドだが、カスタマイズ可能 • 公式でcubeアニメーションのカスタムアニメー ションのコードを提供
https://bit.ly/3FCoMyi
スライドアニメーションの 実装2 • Cubeアニメーションをそのまま使うと違和感が ある • フルサイズで描画すると角が画面から見切れる のが原因 • ドラッグ中はサイズを調整する
https://bit.ly/30PtQR9
スライドアニメーションの 実装3 • ドラッグ中のイベントハンドリング はIonicSlideが提供してくれてい る • ドラッグ中の場合、少し縮小 • 開始時と終了時で、アニメーショ
ンの速度も調整
スライドアニメーションの 実装4 • 完成
プログレスバーの 実装1 • ストーリーをどれくらい表示するか示すもの • requestAnimationを使うなど、いろいろな方 法がありますが、今回は CSSアニメーションを 利用している •
zuck.jsというライブラリを参考 https://github.com/ramon82/zuck.js/
プログレスバーの 実装2 • (animationend)で終了時のイベントをハンド リングする • アニメーション終了時に次のストーリーへ移 動 • 動画は、(loadedmetadata)でmetadata読み
込みをハンドリングし、動画の再生時間を取 得
プログレスバーの 実装3 • 完成
ストーリー風UIの完成 • 完成したサイト https://ionic-angular-stories-ui.netlify.app/ • ソースコード https://github.com/scrpgil/ionic-angular-s troies-ui
会社紹介 • 株式会社キネカ • 2017年1月設立したスタートアップ • 平均年齢:23~24歳 ◦
リファラル中心に人が増えています
採用案内 • Angularを使える or 使いたいエンジニアを募集中 ◦ 未経験 ◦ ベテラン
• patoの開発から、新規事業まで ◦ 入社1ヶ月目:サーバー&クライアント関わる開発に参加 ◦ 入社半年:新機能の開発に携わった ◦ フリーランス:Angularのバージョンアップ • Angular好きはもちろん、自分でプロダクト開発したい方ならぜひ。 • Meety、Qiita JobまたはTwitterで声をかけてください! Meety Qiita Job Twitter
おわり