SlideShare a Scribd company logo
1 of 16
Download to read offline
できるだけUI系のライブラリを用いないアニメーション
を盛り込んだサンプル実装まとめ
potatotips #45 @ リクルートマーケティングパートナーズ様
2017 / 11 / 28
Fumiya Sakai
自己紹介
・酒井 文也 (Fumiya Sakai)
・ever sense. inc エンジニア
・Designer → ServerSide Engineer → AppDeveloper
Accounts
・Facebook: https://www.facebook.com/fumiya.sakai.37
・Twitter: https://twitter.com/fumiyasac
・Github: https://github.com/fumiyasac
・Qiita: https://qiita.com/fumiyasac@github
Who are you?
Library (Personal)
Products (ever sense. inc)
このトピックスを選んだ理由
UI構築やアニメーション等の実装に携わる機会が多かった
こだわり1. 不自然にならない心地よいタイミングの動き
こだわり2. 動きの肝心なところはできる限りDIYする
こだわり3. 内部の構成も同様に気配りをする
参考資料とアプリ:
UIの中に随所に自然な形で散りばめられた心地の良いアニメーション
・AWA - 自然さを追求した本質体験のためのUX
https://www.slideshare.net/KokiTogashi/awa-coockpad-tech-kitchen-
20170913
今回はアプリ内の下記の2つの画面の動き
に近いものをDIYしてみました。
今回のサンプル概要
なるべくは1つのアプリに近づけたものになります。
・Githubサンプル
https://github.com/fumiyasac/InteractiveUISample
・詳細解説Qiita
https://qiita.com/fumiyasac@github/items/d1b56ffc6d7d46c0a616
設計のポイント
※ 画面はデモします
・データに関する処理とUI表示の処理をへの関係性
・なるべくView要素を部品に切り出す
・命名や処理の整理を行いやすくする準備を
【Chapter1】2つのコンテンツが切り替わるタブメニュー
UIScrollViewを活用するタブ&コンテンツの動きに関する設計
1番目のコンテンツ
(ContainerView)
(1) まずはタブ用とコンテンツ用のScrollViewを配置する。
<コンテンツ用ScrollViewのレイアウトを当てる手順>
2番目のコンテンツ
(ContainerView)
タブ用のScrollView コンテンツ用
ScrollView
(2) [Simulated Metrics] でFreeformを選び、[Simulated ViewController]
でサイズを750pxにする。
(3) ScrollViewの内部に、Widthを375px・Height=コンテンツ用ScrollView
の大きさのContainerViewを隣り合わせに2つ配置する。
(4) 1番目は上・左・下方向に0の制約を、2番目は上・右・下方向に0の制約
をそれぞれつける。
(5) ContainerViewからコンテンツ用のScrollViewへ [Ctrl + ドラッグ] して
Equal WidthとEqual Heightの制約をそれぞれつける
(6) [Simulated ViewController]をFixedへ戻す。
※ iPhone8の見た目の場合
【Chapter1】補足資料:制約の図解
・コンテンツ用のScrollViewをスワイプすると、動くバーと一緒に切替
・タブ用のScrollViewにあるボタンを押下後、0.26秒間のスライドをして切替
2つのScrollViewの動きについて
【Chapter2】UIScrollView & UIStackViewの構成
部品として切り出したUIViewの配置とAutoLayoutの制約に関するもの
(1) ContainerViewの高さをContainerViewにつな
がれているViewControllerのプロパティにする
UIStackViewを内包した
UIScrollView
<高さが可変するViewへの制約>
2番目のコンテンツ
(ContainerView)
高さが可変するView
高さが可変するView
+
セル高さが可変する
UITableViewを設置
Notificationを送信
して高さを調節する
height ≧ 0
priority = 1000
height = ●●
priority = 250
<StackView内のContainerViewへの制約>
UIView
UIView
ContainerView
(2) ViewControllerにNotificationを設定しておく
(3) viewDidLayoutSubviewsでtableViewの内部
コンテンツ高さとtableViewの高さを合わせる
(4) viewDidAppearでNotificationを送信する
【Chapter3】視差効果とCoreAnimationを組み合わせる
一覧表示部分のスクロールに合わせたアニメーションの効果を演出する
(1) UITableViewのスクロールに合わせてサムネイル画像がパララックスする
scrollViewDidScroll(_ scrollView: UIScrollView) でスクロール検知時に
セル側で設定したサムネイル画像の上下につけた制約を変更する。
利用するDelegate : UIScrollViewDelegate
<2つの性質の異なるアニメーション共存させる>
(2) スクロールでセルが現れる/消える際にフェードイン/アウトが入る
利用するDelegate : UITableViewDelegate
tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell,
forRowAt indexPath: IndexPath) でセルが表示されるタイミングになったら
「CoreAnimation」で設定したフェード処理を実行する。
【Chapter4】記事詳細を表示する想定の画面設計
ヘッダー上部のNavigationとアイキャッチ画像がスクロールに伴って動く
このViewControllerのポイント
(2) このViewControllerのrootに
UINavigationControllerを設置する
コンテンツ用表示
UITableView
NavigationBar
GradientHeaderView
ArticleHeaderView
ArticleHeaderViewは、
配置されたtableViewの
.headerにセットする
UITableView
(3) MainViewControllerから
ArticleViewControllerの画面遷移は、
ArticleCustomTransition.swiftを利用
※ 上の制約のみSuperview.Topにつけること
(1) UITableViewの制約:上下左右0
・GradientHeaderView
・ArticleHeaderView
ダミーのヘッダーになるView
スクロールで伸縮する画像のView
スクロール量に応じてArticleHeaderViewに配置した画像とGradientHeaderがアニメーションが行われる。
【Chapter4】補足資料:挙動に関するイメージ
動きの概要
y < 0 y > 0 ScrollViewDidScrollで制約を更新する
コードでConstraintを加えて、引数を
UIScrollViewとする、
「setParallaxEffectToHeaderView」
で制約を更新して動きを出す。
全体の流れと解説
(1) NavigationBarに内包するヘッダー
クラス名: GradientHeaderView.swift
(2) 画像を表示するヘッダー
クラス名: ArticleHeaderView.swift
記事を表示するために下へスクロールすると画像が隠れる
タイミングに合わせてNavigationBarが出現する。
y = 0
背景のアルファとダミーヘッダーの上方向の
制約を、
「setHeaderNavigationTopConstraint」
で更新して動きを出す。
【Chapter5】iPhoneXの画面に関する考慮
ヘッダーViewの高さをデバイスのサイズによってうまく調節する
端末の縦横サイズで場合分けを行う
デフォルトのNavigationBarと高さが
揃うように調節を加えると綺麗になる。
高さ調整を加える
(1) ヘッダーの高さ
クラス名: GradientHeaderView.swift
iPhoneX: 88.5, それ以外: 64.0
(2) 画像を表示するヘッダーの高さ
クラス名: ArticleHeaderView.swift
iPhoneX: 244, それ以外: 200
【補足1】Storyboard設計
【補足2】View - Model - PresenterパターンとUI
データとViewとの繋がりをできるだけパターン化して整理する
ViewController Presenter Model
データ構造の定義UI表示とデータ取得の仲介データを伴うUIの表示
API通信を伴う部分は、
SwiftyJSONを利用して初期化
→ データ構造の作成
※APIでの非同期通信
Alamofireをラッピングした
APIRequestManager.swiftを利用
(1) ViewController側で実行する
プロトコルの定義
(2) Modelの形に則ったデータの
作成やAPI通信のハンドリング
Presenter側で定義した
プロトコルの具体的な実装をする
データを取得 → UIの更新
の流れをつくる
Viewとデータの関係を密接にする
そのほかサンプルに盛り込んだトピックス
アプリUIに関する部分のDIYやカスタムトランジションを入れました
・View要素が多くなると整理がしずらくなる
パターン化やデータ&UIに関わる部分の
つなぎこみを上手にするための工夫を。
その1. 既存のUIKitの拡張を利用して効率化をする
その2. アコーディオン形式のUITableViewのToggle表現
その3. カスタムトランジションと3D表現の組み合わせ
その4. フォトギャラリーの用にUIScrollViewでの拡大縮小
・Storyboardが触りにくくなる
・定型処理の簡略化したい
作り込むとつらみになりがち
まとめ
ライブラリを使わないUI実装はなかなか味わいと興味がある部分
DIYをすることで見えてくるもの & 実務で活かすことができることが僕にはあった
UIの作り込みだけではなく設計や部品化する部分についても深掘りをしておく
※今回のサンプルで新しく追加した部分で気になる所は12/3の「Swift愛好会」のAdvent Calendarにて書きます
・Animationの組み合わせ(UIView.animateとCoreAnimation)で表現するワンポイント表現
・よくあるポピュラーそうなUIやライブラリの挙動をさらに深く知ることで得られた知識と知見
・データとの連携をするような局面ではできるだけ流れやパターンにしておくと後からの機能追加も楽になる
・最初にあらかたの設計や構成にあたりをつけておくと実際のUI構築が捗る印象
エバーセンスよりメッセージ
弊社ではiOS / Androidエンジニア募集しております!
https://www.wantedly.com/projects/158484

More Related Content

What's hot

iOSアプリUIとの触れ合いと歩む僕なりのSwiftの楽しみ方
iOSアプリUIとの触れ合いと歩む僕なりのSwiftの楽しみ方iOSアプリUIとの触れ合いと歩む僕なりのSwiftの楽しみ方
iOSアプリUIとの触れ合いと歩む僕なりのSwiftの楽しみ方Fumiya Sakai
 
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返りFumiya Sakai
 
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略Fumiya Sakai
 
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & CombineFumiya Sakai
 
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞくレイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞくFumiya Sakai
 
最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返り最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返りFumiya Sakai
 
少しずつキャッチアップしていくAndroidアプリ開発
少しずつキャッチアップしていくAndroidアプリ開発少しずつキャッチアップしていくAndroidアプリ開発
少しずつキャッチアップしていくAndroidアプリ開発Fumiya Sakai
 
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介Fumiya Sakai
 
Approach of Prototyping for making Application User Interface about iOS
Approach of Prototyping for making Application User Interface about iOSApproach of Prototyping for making Application User Interface about iOS
Approach of Prototyping for making Application User Interface about iOSFumiya Sakai
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説Fumiya Sakai
 
RxSwiftとMVVMパターンと仲良くなる次のステップ
RxSwiftとMVVMパターンと仲良くなる次のステップRxSwiftとMVVMパターンと仲良くなる次のステップ
RxSwiftとMVVMパターンと仲良くなる次のステップFumiya Sakai
 
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)Fumiya Sakai
 
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)Fumiya Sakai
 
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)Fumiya Sakai
 
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒントiOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒントFumiya Sakai
 
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-EdoiOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-EdoMegumi Otani(Czenhe)
 
Master-Detail App を実装する
Master-Detail App を実装するMaster-Detail App を実装する
Master-Detail App を実装する幸雄 村上
 
スマートスピーカーのバックエンドで Azure を使う方法
スマートスピーカーのバックエンドでAzure を使う方法スマートスピーカーのバックエンドでAzure を使う方法
スマートスピーカーのバックエンドで Azure を使う方法一希 大田
 
できることから始めるOss活動
できることから始めるOss活動できることから始めるOss活動
できることから始めるOss活動Motoki Narita
 
Oss written in swift
Oss written in swiftOss written in swift
Oss written in swiftYuki Asai
 

What's hot (20)

iOSアプリUIとの触れ合いと歩む僕なりのSwiftの楽しみ方
iOSアプリUIとの触れ合いと歩む僕なりのSwiftの楽しみ方iOSアプリUIとの触れ合いと歩む僕なりのSwiftの楽しみ方
iOSアプリUIとの触れ合いと歩む僕なりのSwiftの楽しみ方
 
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
 
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
 
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
 
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞくレイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
 
最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返り最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返り
 
少しずつキャッチアップしていくAndroidアプリ開発
少しずつキャッチアップしていくAndroidアプリ開発少しずつキャッチアップしていくAndroidアプリ開発
少しずつキャッチアップしていくAndroidアプリ開発
 
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
 
Approach of Prototyping for making Application User Interface about iOS
Approach of Prototyping for making Application User Interface about iOSApproach of Prototyping for making Application User Interface about iOS
Approach of Prototyping for making Application User Interface about iOS
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
 
RxSwiftとMVVMパターンと仲良くなる次のステップ
RxSwiftとMVVMパターンと仲良くなる次のステップRxSwiftとMVVMパターンと仲良くなる次のステップ
RxSwiftとMVVMパターンと仲良くなる次のステップ
 
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)
 
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
 
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
 
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒントiOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
 
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-EdoiOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
 
Master-Detail App を実装する
Master-Detail App を実装するMaster-Detail App を実装する
Master-Detail App を実装する
 
スマートスピーカーのバックエンドで Azure を使う方法
スマートスピーカーのバックエンドでAzure を使う方法スマートスピーカーのバックエンドでAzure を使う方法
スマートスピーカーのバックエンドで Azure を使う方法
 
できることから始めるOss活動
できることから始めるOss活動できることから始めるOss活動
できることから始めるOss活動
 
Oss written in swift
Oss written in swiftOss written in swift
Oss written in swift
 

Similar to できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ

UIを作る際にライブラリにする?それともDIYする?の切り分け&実装のアイデア例と事例紹介
UIを作る際にライブラリにする?それともDIYする?の切り分け&実装のアイデア例と事例紹介UIを作る際にライブラリにする?それともDIYする?の切り分け&実装のアイデア例と事例紹介
UIを作る際にライブラリにする?それともDIYする?の切り分け&実装のアイデア例と事例紹介Fumiya Sakai
 
UIを作る際にライブラリにする? それともDIYする?の切り分け(僕の見解)
UIを作る際にライブラリにする? それともDIYする?の切り分け(僕の見解)UIを作る際にライブラリにする? それともDIYする?の切り分け(僕の見解)
UIを作る際にライブラリにする? それともDIYする?の切り分け(僕の見解)Fumiya Sakai
 
メディアアプリでよく見る無限スクロールするタブの動きへの考察
メディアアプリでよく見る無限スクロールするタブの動きへの考察メディアアプリでよく見る無限スクロールするタブの動きへの考察
メディアアプリでよく見る無限スクロールするタブの動きへの考察Fumiya Sakai
 
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).Fumiya Sakai
 
まずはできるところから始める UnitTestとテストができる実装について
まずはできるところから始める UnitTestとテストができる実装についてまずはできるところから始める UnitTestとテストができる実装について
まずはできるところから始める UnitTestとテストができる実装についてFumiya Sakai
 
ReactNative + Redux + NativeBaseでつくるサンプル実装をのぞく
ReactNative + Redux + NativeBaseでつくるサンプル実装をのぞくReactNative + Redux + NativeBaseでつくるサンプル実装をのぞく
ReactNative + Redux + NativeBaseでつくるサンプル実装をのぞくFumiya Sakai
 
Clean Architecture用の開発ツールを作ったお話
Clean Architecture用の開発ツールを作ったお話Clean Architecture用の開発ツールを作ったお話
Clean Architecture用の開発ツールを作ったお話雄大 廣瀬
 
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話Shuji Yamada
 
Go言語で色々試行錯誤して フレームワークもどきを作ってみた話
Go言語で色々試行錯誤して フレームワークもどきを作ってみた話Go言語で色々試行錯誤して フレームワークもどきを作ってみた話
Go言語で色々試行錯誤して フレームワークもどきを作ってみた話Fumiya Sakai
 
Visual Studio App CenterでGitHubのIssue発行を自動化しよう
Visual Studio App CenterでGitHubのIssue発行を自動化しようVisual Studio App CenterでGitHubのIssue発行を自動化しよう
Visual Studio App CenterでGitHubのIssue発行を自動化しようShinya Nakajima
 
Herokuのご紹介
Herokuのご紹介Herokuのご紹介
Herokuのご紹介Ayumu Aizawa
 
Xamarin.Forms with VUI(JXUG 2019/8/31)
Xamarin.Forms with VUI(JXUG 2019/8/31)Xamarin.Forms with VUI(JXUG 2019/8/31)
Xamarin.Forms with VUI(JXUG 2019/8/31)拓将 平林
 
アジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたことアジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたことArata Fujimura
 
なぜ私はこの本を書いたか
なぜ私はこの本を書いたかなぜ私はこの本を書いたか
なぜ私はこの本を書いたかSatoru Ueda
 
デザイナーがネイティブ実装に関わるメリットとコツ
デザイナーがネイティブ実装に関わるメリットとコツデザイナーがネイティブ実装に関わるメリットとコツ
デザイナーがネイティブ実装に関わるメリットとコツYurie Shiratori
 
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発Satoru Yamaguchi
 
SIerは如何にしてGitHub Enterpriseを導入するにようになったか
SIerは如何にしてGitHub Enterpriseを導入するにようになったかSIerは如何にしてGitHub Enterpriseを導入するにようになったか
SIerは如何にしてGitHub Enterpriseを導入するにようになったかYou_Kinjoh
 
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -de:code 2017
 

Similar to できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ (19)

UIを作る際にライブラリにする?それともDIYする?の切り分け&実装のアイデア例と事例紹介
UIを作る際にライブラリにする?それともDIYする?の切り分け&実装のアイデア例と事例紹介UIを作る際にライブラリにする?それともDIYする?の切り分け&実装のアイデア例と事例紹介
UIを作る際にライブラリにする?それともDIYする?の切り分け&実装のアイデア例と事例紹介
 
UIを作る際にライブラリにする? それともDIYする?の切り分け(僕の見解)
UIを作る際にライブラリにする? それともDIYする?の切り分け(僕の見解)UIを作る際にライブラリにする? それともDIYする?の切り分け(僕の見解)
UIを作る際にライブラリにする? それともDIYする?の切り分け(僕の見解)
 
メディアアプリでよく見る無限スクロールするタブの動きへの考察
メディアアプリでよく見る無限スクロールするタブの動きへの考察メディアアプリでよく見る無限スクロールするタブの動きへの考察
メディアアプリでよく見る無限スクロールするタブの動きへの考察
 
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
Hint of“Passcode Lock”Screen and Logic (with LocalAuthentication).
 
まずはできるところから始める UnitTestとテストができる実装について
まずはできるところから始める UnitTestとテストができる実装についてまずはできるところから始める UnitTestとテストができる実装について
まずはできるところから始める UnitTestとテストができる実装について
 
ReactNative + Redux + NativeBaseでつくるサンプル実装をのぞく
ReactNative + Redux + NativeBaseでつくるサンプル実装をのぞくReactNative + Redux + NativeBaseでつくるサンプル実装をのぞく
ReactNative + Redux + NativeBaseでつくるサンプル実装をのぞく
 
Clean Architecture用の開発ツールを作ったお話
Clean Architecture用の開発ツールを作ったお話Clean Architecture用の開発ツールを作ったお話
Clean Architecture用の開発ツールを作ったお話
 
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話
 
Siri shortcutlts LT
Siri shortcutlts LTSiri shortcutlts LT
Siri shortcutlts LT
 
Go言語で色々試行錯誤して フレームワークもどきを作ってみた話
Go言語で色々試行錯誤して フレームワークもどきを作ってみた話Go言語で色々試行錯誤して フレームワークもどきを作ってみた話
Go言語で色々試行錯誤して フレームワークもどきを作ってみた話
 
Visual Studio App CenterでGitHubのIssue発行を自動化しよう
Visual Studio App CenterでGitHubのIssue発行を自動化しようVisual Studio App CenterでGitHubのIssue発行を自動化しよう
Visual Studio App CenterでGitHubのIssue発行を自動化しよう
 
Herokuのご紹介
Herokuのご紹介Herokuのご紹介
Herokuのご紹介
 
Xamarin.Forms with VUI(JXUG 2019/8/31)
Xamarin.Forms with VUI(JXUG 2019/8/31)Xamarin.Forms with VUI(JXUG 2019/8/31)
Xamarin.Forms with VUI(JXUG 2019/8/31)
 
アジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたことアジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたこと
 
なぜ私はこの本を書いたか
なぜ私はこの本を書いたかなぜ私はこの本を書いたか
なぜ私はこの本を書いたか
 
デザイナーがネイティブ実装に関わるメリットとコツ
デザイナーがネイティブ実装に関わるメリットとコツデザイナーがネイティブ実装に関わるメリットとコツ
デザイナーがネイティブ実装に関わるメリットとコツ
 
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
 
SIerは如何にしてGitHub Enterpriseを導入するにようになったか
SIerは如何にしてGitHub Enterpriseを導入するにようになったかSIerは如何にしてGitHub Enterpriseを導入するにようになったか
SIerは如何にしてGitHub Enterpriseを導入するにようになったか
 
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
 

More from Fumiya Sakai

RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介Fumiya Sakai
 
少しずつ手厚くして不具合や仕様漏れを防ぐために
少しずつ手厚くして不具合や仕様漏れを防ぐために少しずつ手厚くして不具合や仕様漏れを防ぐために
少しずつ手厚くして不具合や仕様漏れを防ぐためにFumiya Sakai
 
Measures for Growth with Firebase Remote Config & Unit Testing Using RxSwift
Measures for Growth with Firebase Remote Config & Unit Testing Using RxSwiftMeasures for Growth with Firebase Remote Config & Unit Testing Using RxSwift
Measures for Growth with Firebase Remote Config & Unit Testing Using RxSwiftFumiya Sakai
 
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになったFumiya Sakai
 
UI実装に関するセッションを 簡単ながら振り返ってみる(仮)
UI実装に関するセッションを 簡単ながら振り返ってみる(仮)UI実装に関するセッションを 簡単ながら振り返ってみる(仮)
UI実装に関するセッションを 簡単ながら振り返ってみる(仮)Fumiya Sakai
 
UIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察する
UIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察するUIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察する
UIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察するFumiya Sakai
 
Hint of a little ingenuity about UI.
Hint of a little ingenuity about UI.Hint of a little ingenuity about UI.
Hint of a little ingenuity about UI.Fumiya Sakai
 
書籍執筆からの今後に向けてのロードマップ
書籍執筆からの今後に向けてのロードマップ書籍執筆からの今後に向けてのロードマップ
書籍執筆からの今後に向けてのロードマップFumiya Sakai
 

More from Fumiya Sakai (8)

RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
 
少しずつ手厚くして不具合や仕様漏れを防ぐために
少しずつ手厚くして不具合や仕様漏れを防ぐために少しずつ手厚くして不具合や仕様漏れを防ぐために
少しずつ手厚くして不具合や仕様漏れを防ぐために
 
Measures for Growth with Firebase Remote Config & Unit Testing Using RxSwift
Measures for Growth with Firebase Remote Config & Unit Testing Using RxSwiftMeasures for Growth with Firebase Remote Config & Unit Testing Using RxSwift
Measures for Growth with Firebase Remote Config & Unit Testing Using RxSwift
 
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
 
UI実装に関するセッションを 簡単ながら振り返ってみる(仮)
UI実装に関するセッションを 簡単ながら振り返ってみる(仮)UI実装に関するセッションを 簡単ながら振り返ってみる(仮)
UI実装に関するセッションを 簡単ながら振り返ってみる(仮)
 
UIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察する
UIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察するUIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察する
UIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察する
 
Hint of a little ingenuity about UI.
Hint of a little ingenuity about UI.Hint of a little ingenuity about UI.
Hint of a little ingenuity about UI.
 
書籍執筆からの今後に向けてのロードマップ
書籍執筆からの今後に向けてのロードマップ書籍執筆からの今後に向けてのロードマップ
書籍執筆からの今後に向けてのロードマップ
 

Recently uploaded

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 

Recently uploaded (8)

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 

できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ