Submit Search
Upload
VIPER アーキテクチャによる iOS アプリの設計
•
20 likes
•
12,314 views
Yuichi Adachi
Follow
第二回 北海道勉強会「スマホアプリ開発、あしたのための環境と設計のアプローチ」 資料
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 35
Download now
Download to read offline
Recommended
RxSwift コードリーディングの勘所@社内RxSwift勉強会
RxSwift コードリーディングの勘所@社内RxSwift勉強会
Yuki Takahashi
RxSwift コードリーディングの勘所@社内RxSwift勉強会
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
Yuhei Miyazato
LocoPartnersさんのiOSもくもく会#6にてお話したスライドです。 http://connpass.com/event/13198/
今日こそ理解するHot変換
今日こそ理解するHot変換
Yuki Takahashi
今日こそ理解するHot変換
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Atsushi Nakamura
学生LT発表コンテンツ
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
PHPカンファレンス2012 & WordCampTokyo2012 LT発表資料です。 タイトルの元ネタ: http://www.amazon.co.jp/dp/4094512624
OpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみた
Takahiro Miyaura
XRミーティング 2022/04/20【AR/CR/MR/SR/VR】(https://osaka-driven-dev.connpass.com/event/244101/)登壇資料。 XRコンテンツ開発を容易にするための標準規格について調べてみた話。OpenVRを使いたいときにそれ自体のSDKがあるのかわからなくて基本的なことを調査した。
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
akio19937
第1回ROS勉強会で発表した時のスライドです。
Recommended
RxSwift コードリーディングの勘所@社内RxSwift勉強会
RxSwift コードリーディングの勘所@社内RxSwift勉強会
Yuki Takahashi
RxSwift コードリーディングの勘所@社内RxSwift勉強会
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
Yuhei Miyazato
LocoPartnersさんのiOSもくもく会#6にてお話したスライドです。 http://connpass.com/event/13198/
今日こそ理解するHot変換
今日こそ理解するHot変換
Yuki Takahashi
今日こそ理解するHot変換
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Atsushi Nakamura
学生LT発表コンテンツ
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
PHPカンファレンス2012 & WordCampTokyo2012 LT発表資料です。 タイトルの元ネタ: http://www.amazon.co.jp/dp/4094512624
OpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみた
Takahiro Miyaura
XRミーティング 2022/04/20【AR/CR/MR/SR/VR】(https://osaka-driven-dev.connpass.com/event/244101/)登壇資料。 XRコンテンツ開発を容易にするための標準規格について調べてみた話。OpenVRを使いたいときにそれ自体のSDKがあるのかわからなくて基本的なことを調査した。
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
akio19937
第1回ROS勉強会で発表した時のスライドです。
Unity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成について
Tatsuhiko Yamamura
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
オンラインゲームの仕組みや工夫を調べてみたのを社内勉強会で発表した。ときのスライド。の公開用。 オンラインゲームの種別とそれぞれの仕組みについての話と、オープンソースになっているQuakeの仕組みの話、という2つの話が主なトピック
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
gree_tech
php conference 2019 で発表された資料です。 https://phpcon.php.gr.jp/2019/
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
Genya Murakami
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
2021/12/21 PHPerKaigi petit - PHP8.1リリース祝賀会 でのトーク「モダンPHPテクニック 12選 ―PsalmとPHP 8.1で今はこんなこともできる!―」のスライドです。発表時点からごくわずかに加筆修正した部分があります。 https://phperkaigi.connpass.com/event/233022/
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA
Forkwell Meetup #3 https://forkwell.connpass.com/event/48147/
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
分散システムのFault Injectionの話 NTTデータテクノロジーカンファレンス2017で発表する際に用いたプレゼン資料 https://oss.nttdata.com/hadoop/event/201710/index.html
Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界
Hideki Takase
Erlang & Elixir Fest 2019で講演しました! 関数型言語ElixirによるIoT開発フレームワーク“Nerves”について,ライブデモをふんだんに交えながら日本の皆さまに共有させていただきました. https://elixir-fest.jp/ 最後にbig news!!があるので,ぜひご覧ください! https://swest.toppers.jp/keynote/ 誤記 P.27: fukuoka.exでのNerves Trainingは6/7ではなく7/7に開催しますm(_ _)m 講演概要: Nervesってご存知でしょうか? "Craft and deploy bulletproof embedded software in Elixir"のスローガンのもと,ElixirでIoTデバイスの開発を実現できるフレームワークです.Raspberry PiやBeagleBoneなどを対象として,数十MB程度の省メモリでElixirアプリの駆動を可能とします.mixツールに統合されたビルドシステム,GPIOやI2CなどIoTデバイス制御のための豊富なデバイスドライバ・ライブラリ,NervesHubを介したクラウド経由のセキュアなファームアップデート,Phoenixと連携したリアルタイム通信とデータ可視化と,そのエコシステムの完成度は目を見張るものがあります.本発表では,IoTシステム開発のライブデモを交えながら,Nervesの概要ならびに現状と目指しているところを紹介します. 発表者はLonestar ElixirConf 2019に参加してきました.Nervesのコア開発者からTrainingを直接受講してきて,多くのNerves技術者の発表を聴講して議論してきて,その動向に大いに衝撃を受けました.Austinで得てきたこれらの知見と経験について,日本の全てのElixir技術者の皆さまとこの技術を共有したいと思います.
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
Tadahiro Ishisaka
2015-01-31 Hokuriku.NET 勉強会 TLスライド まぁしゃれっすよしゃれ。
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
2022-03-05 YAPC::Japan::Online 2022
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうか
Yuki Miyatake
Boost.Asio を読みやすくする。
Web API: The Good Parts 落穂ひろい
Web API: The Good Parts 落穂ひろい
API Meetup
API Meetup Tokyo #6での水野さんの講演資料です。ご本人から許可をいただいて掲載しています
『ゲームAI技術入門』講義用素材
『ゲームAI技術入門』講義用素材
Youichiro Miyake
『ゲームAI技術入門』 https://gihyo.jp/book/2019/978-4-297-10828-1 の本書に記載された図の三宅の元スライドを、教育の講義用素材として提供いたします。講義・授業などでご使用ください。 ダウンロードしてご使用ください。PPT形式となっています。 ご使用の際は本URLを参照先としてご銘記ください。
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
アプリ「ニュースパス」をマイクロサービスで開発してみた泥臭い体験談です。
MagicOnion入門
MagicOnion入門
torisoup
[非公式] Unite Tokyo 2019 Eve2 LT Fes https://connpass.com/event/139403/
WebSocketのキホン
WebSocketのキホン
You_Kinjoh
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
Talked at CEDEC 2018, 2018/08/22 - https://2018.cedec.cesa.or.jp/session/detail/s5b559852a6405
Marp Tutorial
Marp Tutorial
Rui Watanabe
北村研Notion用
今日こそ理解するHot / Cold @社内RxSwift勉強会
今日こそ理解するHot / Cold @社内RxSwift勉強会
Yuki Takahashi
Rx ( RxSwift) における Hot / Cold の性質の説明です。
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
2021年にインフィニットループ社内の新卒向け研修で使われた資料です。
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Toru Yamaguchi
特定のプロジェクトがあり、要件定義をし概要設計をする。 それがアーキテクトの仕事だと思われがちですが、大きな視点を持ち様々な課題を自らリードして解決していく立場としても絶好のポジションです。 このセッションでは、Mobage オープンプラットフォームの立ち上げから、 グローバルプラットフォーム展開、さらには mixi 社との共同プラットフォーム構築、 JavaScript SDK と認証技術の組み合わせによる新しい HTML5 プラットフォーム構築をアーキテクトという立場でリードし続けた立場から、技術選択のみならず実現したい事に対する俯瞰的な捉え方を、これまでの実例と共に紹介し、アーキテクトという役割について、お話します。
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
CData Software Japan
de:code18 セッション資料
More Related Content
What's hot
Unity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成について
Tatsuhiko Yamamura
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
オンラインゲームの仕組みや工夫を調べてみたのを社内勉強会で発表した。ときのスライド。の公開用。 オンラインゲームの種別とそれぞれの仕組みについての話と、オープンソースになっているQuakeの仕組みの話、という2つの話が主なトピック
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
gree_tech
php conference 2019 で発表された資料です。 https://phpcon.php.gr.jp/2019/
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
Genya Murakami
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
2021/12/21 PHPerKaigi petit - PHP8.1リリース祝賀会 でのトーク「モダンPHPテクニック 12選 ―PsalmとPHP 8.1で今はこんなこともできる!―」のスライドです。発表時点からごくわずかに加筆修正した部分があります。 https://phperkaigi.connpass.com/event/233022/
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA
Forkwell Meetup #3 https://forkwell.connpass.com/event/48147/
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
分散システムのFault Injectionの話 NTTデータテクノロジーカンファレンス2017で発表する際に用いたプレゼン資料 https://oss.nttdata.com/hadoop/event/201710/index.html
Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界
Hideki Takase
Erlang & Elixir Fest 2019で講演しました! 関数型言語ElixirによるIoT開発フレームワーク“Nerves”について,ライブデモをふんだんに交えながら日本の皆さまに共有させていただきました. https://elixir-fest.jp/ 最後にbig news!!があるので,ぜひご覧ください! https://swest.toppers.jp/keynote/ 誤記 P.27: fukuoka.exでのNerves Trainingは6/7ではなく7/7に開催しますm(_ _)m 講演概要: Nervesってご存知でしょうか? "Craft and deploy bulletproof embedded software in Elixir"のスローガンのもと,ElixirでIoTデバイスの開発を実現できるフレームワークです.Raspberry PiやBeagleBoneなどを対象として,数十MB程度の省メモリでElixirアプリの駆動を可能とします.mixツールに統合されたビルドシステム,GPIOやI2CなどIoTデバイス制御のための豊富なデバイスドライバ・ライブラリ,NervesHubを介したクラウド経由のセキュアなファームアップデート,Phoenixと連携したリアルタイム通信とデータ可視化と,そのエコシステムの完成度は目を見張るものがあります.本発表では,IoTシステム開発のライブデモを交えながら,Nervesの概要ならびに現状と目指しているところを紹介します. 発表者はLonestar ElixirConf 2019に参加してきました.Nervesのコア開発者からTrainingを直接受講してきて,多くのNerves技術者の発表を聴講して議論してきて,その動向に大いに衝撃を受けました.Austinで得てきたこれらの知見と経験について,日本の全てのElixir技術者の皆さまとこの技術を共有したいと思います.
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
Tadahiro Ishisaka
2015-01-31 Hokuriku.NET 勉強会 TLスライド まぁしゃれっすよしゃれ。
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
2022-03-05 YAPC::Japan::Online 2022
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうか
Yuki Miyatake
Boost.Asio を読みやすくする。
Web API: The Good Parts 落穂ひろい
Web API: The Good Parts 落穂ひろい
API Meetup
API Meetup Tokyo #6での水野さんの講演資料です。ご本人から許可をいただいて掲載しています
『ゲームAI技術入門』講義用素材
『ゲームAI技術入門』講義用素材
Youichiro Miyake
『ゲームAI技術入門』 https://gihyo.jp/book/2019/978-4-297-10828-1 の本書に記載された図の三宅の元スライドを、教育の講義用素材として提供いたします。講義・授業などでご使用ください。 ダウンロードしてご使用ください。PPT形式となっています。 ご使用の際は本URLを参照先としてご銘記ください。
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
アプリ「ニュースパス」をマイクロサービスで開発してみた泥臭い体験談です。
MagicOnion入門
MagicOnion入門
torisoup
[非公式] Unite Tokyo 2019 Eve2 LT Fes https://connpass.com/event/139403/
WebSocketのキホン
WebSocketのキホン
You_Kinjoh
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
Talked at CEDEC 2018, 2018/08/22 - https://2018.cedec.cesa.or.jp/session/detail/s5b559852a6405
Marp Tutorial
Marp Tutorial
Rui Watanabe
北村研Notion用
今日こそ理解するHot / Cold @社内RxSwift勉強会
今日こそ理解するHot / Cold @社内RxSwift勉強会
Yuki Takahashi
Rx ( RxSwift) における Hot / Cold の性質の説明です。
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
2021年にインフィニットループ社内の新卒向け研修で使われた資料です。
What's hot
(20)
Unity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成について
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうか
Web API: The Good Parts 落穂ひろい
Web API: The Good Parts 落穂ひろい
『ゲームAI技術入門』講義用素材
『ゲームAI技術入門』講義用素材
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
MagicOnion入門
MagicOnion入門
WebSocketのキホン
WebSocketのキホン
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Marp Tutorial
Marp Tutorial
今日こそ理解するHot / Cold @社内RxSwift勉強会
今日こそ理解するHot / Cold @社内RxSwift勉強会
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Similar to VIPER アーキテクチャによる iOS アプリの設計
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Toru Yamaguchi
特定のプロジェクトがあり、要件定義をし概要設計をする。 それがアーキテクトの仕事だと思われがちですが、大きな視点を持ち様々な課題を自らリードして解決していく立場としても絶好のポジションです。 このセッションでは、Mobage オープンプラットフォームの立ち上げから、 グローバルプラットフォーム展開、さらには mixi 社との共同プラットフォーム構築、 JavaScript SDK と認証技術の組み合わせによる新しい HTML5 プラットフォーム構築をアーキテクトという立場でリードし続けた立場から、技術選択のみならず実現したい事に対する俯瞰的な捉え方を、これまでの実例と共に紹介し、アーキテクトという役割について、お話します。
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
CData Software Japan
de:code18 セッション資料
Adobe XD Plugin「Scenegraph」の操作とDialogの作り方
Adobe XD Plugin「Scenegraph」の操作とDialogの作り方
Yoshiki Takeoka
はじめてのAdobe XDプラグイン開発(2018/12/13開催)の登壇資料です アートボードに配置されたオブジェクト(矩形、楕円、テキストなど)の操作に必要なScenegraphと、ユーザーからの入力を受け取るDialogの作成時のコツについて説明します。 対象 Adobe XDのプラグイン開発に興味がある方 ※ JavaScriptの知識が少し必要 テーマ 2018年10月からAPIによる機能拡張が可能になったAdobe XD。そのプラグイン開発の手順について紹介します。 ソースコード https://github.com/yoshikinoko/XDPluginMeetupJapan
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Atsushi Nakamura
「Visual Studio 2019 Launch Event in Tokyo.」イベント発表資料
最近のiOS開発の現状と実状
最近のiOS開発の現状と実状
クラスメソッド株式会社
20110824 android apps_endo
20110824 android apps_endo
一般社団法人メディア事業開発会議
ActiveResourceモデルによるAPIの隠蔽の怖い話~レスポンスタイムへの致命的影響~ at #shinjukurb
ActiveResourceモデルによるAPIの隠蔽の怖い話~レスポンスタイムへの致命的影響~ at #shinjukurb
Koichiro Sumi
ActiveResourceモデルによるAPIの隠蔽の怖い話~レスポンスタイムへの致命的影響~ 新宿.rb 27th での発表資料です。 SideCIのリリース当初のアーキテクチャ及びその時に使用していたActiveResourceの話を超てきとうにまとめました。
20110824 android apps_endo
20110824 android apps_endo
一般社団法人メディア事業開発会議
Rancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げる
Michitaka Terada
Rancher meetup#6資料
20180130 設計イベント
20180130 設計イベント
Atsushi Takayasu
システム設計の謎を解く 改訂版を書いた背景や動機を踏まえて設計について説明した資料 1月30日のイベントで説明をしています。
Spring I/O 2015 報告
Spring I/O 2015 報告
Takuya Iwatsuka
2015/06/22 にJSUGのイベントでの発表に使用した資料です.
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
Yahoo!デベロッパーネットワーク
Yahoo! JAPAN MeetUp #9 (EC技術カンファレンス) LT「決済金融から始めるデータドリブンカンパニー」の発表で使用した資料となります。 https://yj-meetup.connpass.com/event/48215/
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
2018年12月7日(金)に開催された「GrapeCity Web TECH FORUM 2018」より、日本プロテック 荒井光司様/疋田直樹様のセッション資料です。
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
Tsutomu Ogasawara
某社勉強会で発表した内容。一部伏せ字にしてあります。
Angularreflex20141210
Angularreflex20141210
Shinichiro Takezaki
http://acrovision.connpass.com/event/9957/ の資料です
継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える
Atsushi Nakamura
.NET Conf 2018 Tokyo, Japan にて発表の「継続的にテスト可能な設計を考える」の資料です。 ソースコードなどは以下に公開しています。 https://github.com/nuitsjp/Continuous-Testable-Design
決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニー
Tokuhiro Eto
Yahoo! JAPAN MeetUp #9 (EC技術カンファレンス)LT「決済金融から始めるデータドリブンカンパニー」の発表で使用した資料となります。 ■参考URL https://yj-meetup.connpass.com/event/48215/
Toolsの杜- 弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~
Toolsの杜- 弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
2018年7月10日開催 グレープシティ 開発支援ツール30周年記念フォーラム「Toolsの杜(ツールのもり)」のセッション「弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~/弥生 黒木進矢様、澤村嘉孝様」の資料です。
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
Tomoki Hasegawa
06/25開催のSwiftLT会の発表資料です。 発表時からはスクリーンショットなど削除してコア部分のみに絞っています。 下記スライドもあわせてご覧下さい。(このスライドの更新・増補版です) http://www.slideshare.net/hasegawatomoki/swift2014
Jazug-8th: Azure AKS & FIWARE & Robot
Jazug-8th: Azure AKS & FIWARE & Robot
Nobuyuki Matsui
Japan Azure User Group 8周年イベントで講演した資料です。「Azure AKS & FIWARE & Robot ~ ロボットと人が共生する社会へ ~」
Similar to VIPER アーキテクチャによる iOS アプリの設計
(20)
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Adobe XD Plugin「Scenegraph」の操作とDialogの作り方
Adobe XD Plugin「Scenegraph」の操作とDialogの作り方
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
最近のiOS開発の現状と実状
最近のiOS開発の現状と実状
20110824 android apps_endo
20110824 android apps_endo
ActiveResourceモデルによるAPIの隠蔽の怖い話~レスポンスタイムへの致命的影響~ at #shinjukurb
ActiveResourceモデルによるAPIの隠蔽の怖い話~レスポンスタイムへの致命的影響~ at #shinjukurb
20110824 android apps_endo
20110824 android apps_endo
Rancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げる
20180130 設計イベント
20180130 設計イベント
Spring I/O 2015 報告
Spring I/O 2015 報告
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
Angularreflex20141210
Angularreflex20141210
継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える
決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニー
Toolsの杜- 弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~
Toolsの杜- 弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
Jazug-8th: Azure AKS & FIWARE & Robot
Jazug-8th: Azure AKS & FIWARE & Robot
More from Yuichi Adachi
Seminar on Quantum Computation & Quantum Information part28
Seminar on Quantum Computation & Quantum Information part28
Yuichi Adachi
量子情報勉強会 第28回 板書要約
Swift2.x を Scala からみる
Swift2.x を Scala からみる
Yuichi Adachi
2015/11/11 「iOS 9 Bootcamp」 発表資料
Swift2 の新機能 Protocol Extension
Swift2 の新機能 Protocol Extension
Yuichi Adachi
2015/06/19 Develpers.IO Meetup 11 in 北海道 WWDC2015勉強会 発表資料
Seminar on Quantum Computation & Quantum Information part19
Seminar on Quantum Computation & Quantum Information part19
Yuichi Adachi
量子情報勉強会 第十九回 発表資料
続・ゲンバのSwift
続・ゲンバのSwift
Yuichi Adachi
2015/3/29 Developers.IO 2015 Developers Day D-1 Session資料
Seminar on Quantum Computation & Quantum Information part15
Seminar on Quantum Computation & Quantum Information part15
Yuichi Adachi
量子情報勉強会 第十五回 発表資料
ゲンバのSwift
ゲンバのSwift
Yuichi Adachi
Developers Summit 2015 19-C-3 発表資料
Seminar on Quantum Computation & Quantum Information part14
Seminar on Quantum Computation & Quantum Information part14
Yuichi Adachi
量子情報勉強会 第十四回 発表資料
[iOS8] 新たな線形代数ライブラリ Linear Algebra
[iOS8] 新たな線形代数ライブラリ Linear Algebra
Yuichi Adachi
2014/09/18 ios8勉強会セッション、『新たな線形代数ライブラリ Linear Algebra』の発表資料
Swiftの新機能 Optional
Swiftの新機能 Optional
Yuichi Adachi
2014/6/6 @ M3 tech talk
ユニットテスト初学者がKiwiFramework非同期テストで失敗した
ユニットテスト初学者がKiwiFramework非同期テストで失敗した
Yuichi Adachi
ヤフー vs クラスメソッド Buttle6 発表資料
Applicative functor
Applicative functor
Yuichi Adachi
StartHaskell2(12/10/13) 資料
More from Yuichi Adachi
(12)
Seminar on Quantum Computation & Quantum Information part28
Seminar on Quantum Computation & Quantum Information part28
Swift2.x を Scala からみる
Swift2.x を Scala からみる
Swift2 の新機能 Protocol Extension
Swift2 の新機能 Protocol Extension
Seminar on Quantum Computation & Quantum Information part19
Seminar on Quantum Computation & Quantum Information part19
続・ゲンバのSwift
続・ゲンバのSwift
Seminar on Quantum Computation & Quantum Information part15
Seminar on Quantum Computation & Quantum Information part15
ゲンバのSwift
ゲンバのSwift
Seminar on Quantum Computation & Quantum Information part14
Seminar on Quantum Computation & Quantum Information part14
[iOS8] 新たな線形代数ライブラリ Linear Algebra
[iOS8] 新たな線形代数ライブラリ Linear Algebra
Swiftの新機能 Optional
Swiftの新機能 Optional
ユニットテスト初学者がKiwiFramework非同期テストで失敗した
ユニットテスト初学者がKiwiFramework非同期テストで失敗した
Applicative functor
Applicative functor
VIPER アーキテクチャによる iOS アプリの設計
1.
VIPER アーキテクチャ による
iOS アプリの設計 Copyright © Classmethod, Inc. Classmethod Inc 安達勇一 1
2.
Copyright © Classmethod,
Inc. 自己紹介 • iPhone アプリ・サービス事業部 • iOS 開発歴 2.5 年 • 最近は Swift で開発をしています 2
3.
Copyright © Classmethod,
Inc. 9月上旬… 3 F.T氏 私 北海道勉強会やるんだけど、なんか話さない? お題は未定ね そうすね…Swift かなんかで話しましょうか… F.T氏 Swift勉強会…いいよね…
4.
月日は流れ… Copyright ©
Classmethod, Inc. 4
5.
Swift勉強会改め、スマホアプリの設計的な話にしようかと思う んだけど、どう? Copyright
© Classmethod, Inc. 9月下旬… 5 F.T氏 私 設計の話すかwwwwwwwwww _人人人人人人人人人_ > 突然の仕様変更 < ‾Y^Y^Y^Y^Y^Y^Y^Y‾
6.
Copyright © Classmethod,
Inc. 6 ios mobile archtecture
7.
Copyright © Classmethod,
Inc. 7 ios mobile archtecture
8.
Copyright ©
Classmethod, Inc. 8
9.
VIPERアーキテクチャ • View
Interactor Presenter Entity Routing Copyright © Classmethod, Inc. 9
10.
Copyright © Classmethod,
Inc. 10
11.
その前に… Copyright ©
Classmethod, Inc. 11
12.
MVCアーキテクチャ • ModelとViewとControllerにコードを分割
• Model: ロジック • View: 表示 • Controller: Modelを制御 Copyright © Classmethod, Inc. 12 Controller View Model Event
13.
MVP on iOS
Application • Model View Presenter • ViewはModelを直接操作しない • Model : ロジック • Presenter : UIViewController • View : UIView Copyright © Classmethod, Inc. 13 View Presenter Model
14.
Massive ViewController •
ModelとViewに置けなかったロジックは ViewController(Presenter)へ • 扱うViewの量に合わせて コード量が増える • Mediatorとしては正解だが… Copyright © Classmethod, Inc. 14
15.
Massive ViewController •
ModelとViewに置けなかったロジックは ViewController(Presenter)へ • 扱うViewの量に合わせて コード量が増える • Mediatorとしては正解だが… Copyright © Classmethod, Inc. 15
16.
MVCで考えることの不満点 • Modelに様々な役割があるのにひとまとめ
にしてしまう • Massive ViewControllerになりやすい • テスト可能なModelへの移行に役割を与え たい Copyright © Classmethod, Inc. 16
17.
Copyright © Classmethod,
Inc. Before VIPER View Controller Model 17
18.
Controller(Over 1000lines!!) Copyright
© Classmethod, Inc. Before VIPER View Model 18
19.
VIPER 再び Copyright
© Classmethod, Inc. 19
20.
VIPERアーキテクチャ View Interactor
Presenter Entity Routing • フレームワークに依存しない • DB, APIに依存しない • UIに依存しない • テストしやすい Copyright © Classmethod, Inc. 20
21.
VIPERアーキテクチャ DataStore Interactor
Entity Copyright © Classmethod, Inc. • コアの静的モデル • 内部ビジネスロジック • 外界とビジネスロジッ クの仲介 • 外界 21 DB API View OSS Presenter Routing
22.
Copyright © Classmethod,
Inc. 22 View Presenter Routing Interactor Entity DataStore
23.
Copyright © Classmethod,
Inc. 23 View Presenter Routing Interactor Entity DataStore Protocolによって疎結合に、互いに知らない状態にする
24.
依存性を注入 DB,WebAPIを 仲介
UIView, UIViewController Copyright © Classmethod, Inc. 24 UIロジック Businessロジック 静的データ
25.
Copyright © Classmethod,
Inc. Interactor • 単一のユースケースを動的なモデルで表現 • ビジネスロジック部 • UIに全く依存しない • テストしやすい 25
26.
Copyright © Classmethod,
Inc. Entity • Presenter以降のレイヤに直接渡されない • 静的なモデル • VIPERでは動的でない 26
27.
Copyright © Classmethod,
Inc. Presenter • InteractorからのデータをView向けに送る • Viewからのインプットを受ける • Viewを直接知らない • Viewロジックに対する テストを書ける 27
28.
Copyright © Classmethod,
Inc. View • View, ViewController等 • 主体的にPresenterにデータを要求しない • Presenterからの指示 待ち 28
29.
Copyright © Classmethod,
Inc. Routing • UIWindowのインスタンスを保有 • WindowにViewController(VC)を注入 • VCにPresenterを注入 • VCの遷移表示も管理 29
30.
Copyright © Classmethod,
Inc. Before VIPER View Controller Model 30
31.
After VIPER Copyright
© Classmethod, Inc. 31 View Presenter Routing Interactor Entity DataStore
32.
After VIPER Copyright
© Classmethod, Inc. 32 View Presenter Routing Interactor Entity DataStore
33.
Copyright © Classmethod,
Inc. 33
34.
参考資料 objc-io 13
http://www.objc.io/issue-13/viper.html Clean Architecture http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean- architecture.html Forked Sample Code https://github.com/UsrNameu1/VIPER-SWIFT Copyright © Classmethod, Inc. 34
Download now