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
450
Ionic×Angularで作る ストーリーズ風UI
scrpgil
November 27, 2021
Tweet
Share
More Decks by scrpgil
See All by scrpgil
Firebase Realtime DB から ActionCable 移行のマネジメントの話
scrpgil
0
110
フレーム問題で考えてみるやる夫スレViewer
scrpgil
0
44
ChatGPTとLangChain さわってみた
scrpgil
0
110
久しぶりに ionic startしてみた
scrpgil
0
250
Ionic 6でWeb3やってみた
scrpgil
0
220
Angularで作るモバイルアプリ開発〜スタートアップの開発事情〜
scrpgil
0
660
夢のクロスプラットフォーム開発
scrpgil
0
380
Stencil JSについて
scrpgil
0
450
PWA_Toolkitについて.pdf
scrpgil
0
1.9k
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Why Our Code Smells
bkeepers
PRO
340
57k
Navigating Team Friction
lara
190
15k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
4 Signs Your Business is Dying
shpigford
186
22k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
BBQ
matthewcrist
89
9.9k
Agile that works and the tools we love
rasmusluckow
331
21k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
900
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
おわり