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
SwiftUI×TCAリアーキからみえた コーディング視点の開発者体験
Search
asa
November 10, 2022
Technology
0
330
SwiftUI×TCAリアーキからみえた コーディング視点の開発者体験
2022.11.10 UB Tech vol.4
https://uzabase-tech.connpass.com/event/263883/
asa
November 10, 2022
Tweet
Share
More Decks by asa
See All by asa
iOSDC2021_LiveStreaming
asa08
1
450
Other Decks in Technology
See All in Technology
AIエージェント入門
minorun365
PRO
2
610
日経のデータベース事業とElasticsearch
hinatades
PRO
0
190
デスクトップだけじゃないUbuntu
mtyshibata
0
600
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
220
わたしのOSS活動
kazupon
2
330
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
27
14k
Potential EM 制度を始めた理由、そして2年後にやめた理由 - EMConf JP 2025
hoyo
2
1.5k
ExaDB-XSで利用されているExadata Exascaleについて
oracle4engineer
PRO
3
140
Classmethod AI Talks(CATs) #17 司会進行スライド(2025.02.19) / classmethod-ai-talks-aka-cats_moderator-slides_vol17_2025-02-19
shinyaa31
0
170
システム・ML活用を広げるdbtのデータモデリング / Expanding System & ML Use with dbt Modeling
i125
1
300
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
1
140
Oracle Cloud Infrastructure:2025年2月度サービス・アップデート
oracle4engineer
PRO
1
420
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
50
11k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Building an army of robots
kneath
303
45k
Visualization
eitanlees
146
15k
Being A Developer After 40
akosma
89
590k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
A Tale of Four Properties
chriscoyier
158
23k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
RailsConf 2023
tenderlove
29
1k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Transcript
SwiftUI×TCAリアーキからみえた コーディング視点の開発者体験 2022.11.10 Maiko Morisaki
00 自己紹介 ©NewsPicks Inc. All Rights Reserved. Maiko Morisaki
iOS Engineer たまに Flutterを書く _asa08_ _asa08_ iOSDC 2019スタッフ 2020登壇(40分でわかるライブ配信)
前話し 目次 01 02 03 04 今は昔… リアーキで 受けた恩恵 心もコードも
健全に
©NewsPicks Inc. All Rights Reserved. 01 前話し
01 前話し コーディング体験ベースの話がしたい 以前はどのような状況だったか リアーキテクチャでのコーディングの体験はどうか SwiftUI
宣言的UIフレームワーク The Composable Architecture(TCA) Redux Likeなシステムアーキテクチャを提供するフレームワーク
©NewsPicks Inc. All Rights Reserved. 02 今は昔… ‐ UI
01 今は昔 ‐ UI コードベース GUI(Xib)ベース
01 今は昔 ‐ UI コードベース GUI(Xib)ベース 赤:Viewの階層構造 黄:レイアウトの設定
青:コンポーネント一覧
01 今は昔 ‐ UI コードベース GUI(Xib)ベース コードをみるとhtmlのような感じになっている 同時に同じxibをいじると勿論競合が発生するが、これを手で直さなけ ればいけない
01 今は昔 ‐ UI コードベース GUI(Xib)ベース コードをみるとhtmlのような感じになっている 同時に同じxibをいじると勿論競合が発生するが、これを手で直さなけ ればいけない
GitHub上でのコードレビューが難しい 同じ画面の同時編集ができない
01 今は昔 ‐ UI コードベース GUI(Xib)ベース コードをみるとhtmlのような感じになっている 同時に同じxibをいじると勿論競合が発生するが、これを手で直さなけ ればいけない
GitHub上でのコードレビューが難しい 同じ画面の同時編集ができない
01 今は昔 ‐ UI コードベース GUI(Xib)ベース コードをみるとhtmlのような感じになっている 同時に同じxibをいじると勿論競合が発生するが、これを手で直さなけ ればいけない
GitHub上でのコードレビューが難しい 同じ画面の同時編集ができない View階層やレイアウト設定の確認が大変
01 今は昔 ‐ UI デザインの印象以上に大変 チーム開発でボトルネックになることがある
01 今は昔 ‐ UI SwiftUI!
©NewsPicks Inc. All Rights Reserved. 02 今は昔… ‐ UnitTest
01 今は昔 ‐ UnitTest UnitTestがあると 既存の複雑なロジックの修正もある程度 の安心がある 何のテストを書くか 意味のあるテストを書くために何をテスト するか明確になっているといい
テストを書くには テストが書ける設計になっている必要が ある
01 今は昔 ‐ UnitTest UnitTestがあると 既存の複雑なロジックの修正もある程度 の安心がある 何のテストを書くか 意味のあるテストを書くために何をテスト するか明確になっているといい
テストを書くには テストが書ける設計になっている必要が ある
01 今は昔 ‐ UnitTest The Composable Architecture!
©NewsPicks Inc. All Rights Reserved. 03 リアーキで受けた恩恵
03 UI 03 リアーキで受けた恩恵 SwiftUI GtiHub上でのレビューが難しい Viewの階層やレイアウトの確認が大変
同じ画面の同時編集ができない 体験向上 体験向上 体験向上
03 UnitTest 03 リアーキで受けた恩恵 The Composable Architecture View
State Action Reducer Environment
03 UnitTest 03 リアーキで受けた恩恵 The Composable Architecture テストが書ける設計になっている
何のテストを書くか明確 体験向上 体験向上 View State Action Environment Reducer
©NewsPicks Inc. All Rights Reserved. 04 心もコードも健全に
04 心もコードも健全に 健全なコードはエンジニアの心を明るくす パフォーマンスがあがり施策も高速でまわせる 会社もチームも個人も幸せに
ありがとうございました。