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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
scrpgil
November 27, 2021
470
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ionic×Angularで作る ストーリーズ風UI
scrpgil
November 27, 2021
More Decks by scrpgil
See All by scrpgil
Firebase Realtime DB から ActionCable 移行のマネジメントの話
scrpgil
0
120
フレーム問題で考えてみるやる夫スレViewer
scrpgil
0
120
ChatGPTとLangChain さわってみた
scrpgil
0
120
久しぶりに ionic startしてみた
scrpgil
0
270
Ionic 6でWeb3やってみた
scrpgil
0
230
Angularで作るモバイルアプリ開発〜スタートアップの開発事情〜
scrpgil
0
700
夢のクロスプラットフォーム開発
scrpgil
0
400
Stencil JSについて
scrpgil
0
460
PWA_Toolkitについて.pdf
scrpgil
0
2k
Featured
See All Featured
Making Projects Easy
brettharned
120
6.7k
Believing is Seeing
oripsolob
1
140
Evolving SEO for Evolving Search Engines
ryanjones
0
220
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Statistics for Hackers
jakevdp
799
230k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
How STYLIGHT went responsive
nonsquared
100
6.2k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
460
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Mind Mapping
helmedeiros
PRO
1
250
AI: The stuff that nobody shows you
jnunemaker
PRO
8
710
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
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
おわり