SlideShare a Scribd company logo
令和最新!
SwiftUI+async/awaitで自分は
こう設計・実装している!
野瀬田 裕樹(@ynoseda)
簡単な自己紹介
● 野瀬田 裕樹(のせだ ゆうき)
● 平成元年生まれ
● 京都出身のiOS/Androidエンジニア
● 性格はValues Cardの結果↓ 参照
twitter
話す内容
● 実際のコードをベースに設計や実装についてちょろちょろ話す
● 多分10分も話さない
● ちょっと実装が難しかったViewとかも紹介する
SwiftUI on UIViewController
● UIViewControllerのviewの上にSwiftUIのViewを乗せるスタイル
SwiftUI on UIViewController?Why?
● SwiftUIはnavigation周りが辛すぎるから
○ 度重なるdeprecated
○ .alertを二つ書けないなどのトラップ
○ そもそもViewの癖に画面遷移を管理してるのどうなの?
● SwiftUIはnavigation周りが辛すぎるから
○ 度重なるdeprecated
○ .alertを二つ書けないなどのトラップ
○ そもそもViewの癖に画面遷移を管理してるのどうなの?
SwiftUI on UIViewController?Why?
UINavigationControllerがあるじゃん!
● ということでUIViewControllerが画面全体と遷移を管理
● SwiftUIはViewとしての役割に専念
SwiftUI on UIViewController?Why?
ちなみに通信部どんな感じ?
● Alamofireの通信をwithCheckedThrowingContinuationでラップ
● async/awaitで取り扱えるようにしている
● Request**で名前統一してる
○ try await APIClient.request(Request**())
○ でAPIが叩ける
ちなみに通信部どんな感じ?
● 画面単位でObservableObjectなStore(State Holder)を作って管理している
● stateの変化はdispatch関数を通してのみ行う(ViewStateの変数はfileprivate(set)
のスコープにしている)
状態の管理はどうしてる?
● つまり、ほぼ画面単位のFluxぽい構成
● 画面が今どういう状態かはViewStateの変数を見れば分かるし、ここにはロジック
が含まれないので見通しがいい感じ
● 通信やデータの加工はStoreに渡ってくる前に全て処理する構造にしている
状態の管理はどうしてる?
こんなViewはどう実装する?
● 文字が小さいときはこんな感じで
こんなViewはどう実装する?
● 文字が大きいときはこんな感じ
こんなViewはどう実装する?
● 文字が小さいときは
○ 背景画像の中央部が見えてる
○ ただしカードの高さは一定以上という制約がある
● 文字が大きいときは
○ 背景画像が全部見えたあと、上下は固定色
○ テキストは改行してself-sizing(自身で高さを決める)
こんなViewはどう実装する?
● こんな感じで実装できます
● ポイントはfixedSizeと
backgroundの使い方
こんなViewはどう実装する?2
● よくあるバッジ
● 文字サイズによって拡大縮小しつつ、一番小さいフォントの時は小さくなりすぎない
ように最小の高さ幅を指定する
● オレンジの背景色の外側に白い枠線と影を配置
こんなViewはどう実装する?2
● こんな感じで実装できます
● Circleとかbackgroundを活用する
● 影はshadowで簡単に付けられる
こんなViewはどう実装する?3
● アイコン画像の右上に先ほどのバッジを配置
● アイコン画像に丸く枠線をつけ、枠線とアイコンの中心が重なるようにする
● もちろんフォントサイズの大小にも対応させる
● バッジサイズでoffsetを算出
● PreferenceKeyがポイント
○ バッジの背景に透明Viewを追加
○ そのViewのサイズを伝達
○ onPreferenceChangeで検知
こんなViewはどう実装する?3
DeNAでの実装事例
DeNAでの実装事例
DeNAでの実装事例
DeNAでの実装事例
ざっくりとこんな感じの実装

More Related Content

What's hot

UXデザイナーになりたい僕らのサバイバル生存戦略 〜UXデザイン・UXリサーチはどうやって学べばいいの?〜 | UX BOOST!! Vol.1
UXデザイナーになりたい僕らのサバイバル生存戦略 〜UXデザイン・UXリサーチはどうやって学べばいいの?〜 | UX BOOST!!  Vol.1 UXデザイナーになりたい僕らのサバイバル生存戦略 〜UXデザイン・UXリサーチはどうやって学べばいいの?〜 | UX BOOST!!  Vol.1
UXデザイナーになりたい僕らのサバイバル生存戦略 〜UXデザイン・UXリサーチはどうやって学べばいいの?〜 | UX BOOST!! Vol.1
Yoshiki Hayama
 
エンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなしエンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなし
Yasunori Nihei
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
 
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイントVPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
Takuya Takaseki
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
慎一 古賀
 
Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~
Mineo Matsuya
 
「運用が簡単」に惹かれ、SOCなしでEDRを初めて導入してみた
「運用が簡単」に惹かれ、SOCなしでEDRを初めて導入してみた「運用が簡単」に惹かれ、SOCなしでEDRを初めて導入してみた
「運用が簡単」に惹かれ、SOCなしでEDRを初めて導入してみた
Kyohei Komatsu
 
体験のモデリングとコンセプトデザイン
体験のモデリングとコンセプトデザイン体験のモデリングとコンセプトデザイン
体験のモデリングとコンセプトデザイン
Masaya Ando
 
SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジーSKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
Yuji Otani
 
UXデザインとコンセプト評価 ~俺様企画はだめなのよ
UXデザインとコンセプト評価~俺様企画はだめなのよUXデザインとコンセプト評価~俺様企画はだめなのよ
UXデザインとコンセプト評価 ~俺様企画はだめなのよ
Masaya Ando
 
殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜
殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜
殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜
Shuichi Tsutsumi
 
ReactとSeleniumの幸せな関係
ReactとSeleniumの幸せな関係ReactとSeleniumの幸せな関係
ReactとSeleniumの幸せな関係
Akira Kuratani
 
やはりお前らのAndroidのBLEが不安定だという認識は間違っている
やはりお前らのAndroidのBLEが不安定だという認識は間違っているやはりお前らのAndroidのBLEが不安定だという認識は間違っている
やはりお前らのAndroidのBLEが不安定だという認識は間違っている
youten (ようてん)
 
最近のUIデザインプロセス
最近のUIデザインプロセス最近のUIデザインプロセス
最近のUIデザインプロセス
Shingo Katsushima
 
AIとUXデザイン 〜ユーザーのためのAIを設計するために〜:第22回 Machine Learning 15minutes!
AIとUXデザイン 〜ユーザーのためのAIを設計するために〜:第22回 Machine Learning 15minutes!AIとUXデザイン 〜ユーザーのためのAIを設計するために〜:第22回 Machine Learning 15minutes!
AIとUXデザイン 〜ユーザーのためのAIを設計するために〜:第22回 Machine Learning 15minutes!
Yoshiki Hayama
 
【東京大学 i.school 人間中心イノベーション概論】1限目:イノベーション創出における基礎と方法論
【東京大学 i.school 人間中心イノベーション概論】1限目:イノベーション創出における基礎と方法論【東京大学 i.school 人間中心イノベーション概論】1限目:イノベーション創出における基礎と方法論
【東京大学 i.school 人間中心イノベーション概論】1限目:イノベーション創出における基礎と方法論
schoowebcampus
 
ドコモオープンイノベーションの取り組みと提供APIのIoT展開について
ドコモオープンイノベーションの取り組みと提供APIのIoT展開についてドコモオープンイノベーションの取り組みと提供APIのIoT展開について
ドコモオープンイノベーションの取り組みと提供APIのIoT展開について
API Meetup
 
ユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさ
Yoshiki Hayama
 
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_insideAuthlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Tatsuo Kudo
 
UISTで登壇発表しようぜ (UIST勉強会講演2/2)
UISTで登壇発表しようぜ (UIST勉強会講演2/2)UISTで登壇発表しようぜ (UIST勉強会講演2/2)
UISTで登壇発表しようぜ (UIST勉強会講演2/2)
Masa Ogata
 

What's hot (20)

UXデザイナーになりたい僕らのサバイバル生存戦略 〜UXデザイン・UXリサーチはどうやって学べばいいの?〜 | UX BOOST!! Vol.1
UXデザイナーになりたい僕らのサバイバル生存戦略 〜UXデザイン・UXリサーチはどうやって学べばいいの?〜 | UX BOOST!!  Vol.1 UXデザイナーになりたい僕らのサバイバル生存戦略 〜UXデザイン・UXリサーチはどうやって学べばいいの?〜 | UX BOOST!!  Vol.1
UXデザイナーになりたい僕らのサバイバル生存戦略 〜UXデザイン・UXリサーチはどうやって学べばいいの?〜 | UX BOOST!! Vol.1
 
エンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなしエンジニアも知っておきたいAI倫理のはなし
エンジニアも知っておきたいAI倫理のはなし
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
 
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイントVPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
 
Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~
 
「運用が簡単」に惹かれ、SOCなしでEDRを初めて導入してみた
「運用が簡単」に惹かれ、SOCなしでEDRを初めて導入してみた「運用が簡単」に惹かれ、SOCなしでEDRを初めて導入してみた
「運用が簡単」に惹かれ、SOCなしでEDRを初めて導入してみた
 
体験のモデリングとコンセプトデザイン
体験のモデリングとコンセプトデザイン体験のモデリングとコンセプトデザイン
体験のモデリングとコンセプトデザイン
 
SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジーSKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
 
UXデザインとコンセプト評価 ~俺様企画はだめなのよ
UXデザインとコンセプト評価~俺様企画はだめなのよUXデザインとコンセプト評価~俺様企画はだめなのよ
UXデザインとコンセプト評価 ~俺様企画はだめなのよ
 
殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜
殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜
殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜
 
ReactとSeleniumの幸せな関係
ReactとSeleniumの幸せな関係ReactとSeleniumの幸せな関係
ReactとSeleniumの幸せな関係
 
やはりお前らのAndroidのBLEが不安定だという認識は間違っている
やはりお前らのAndroidのBLEが不安定だという認識は間違っているやはりお前らのAndroidのBLEが不安定だという認識は間違っている
やはりお前らのAndroidのBLEが不安定だという認識は間違っている
 
最近のUIデザインプロセス
最近のUIデザインプロセス最近のUIデザインプロセス
最近のUIデザインプロセス
 
AIとUXデザイン 〜ユーザーのためのAIを設計するために〜:第22回 Machine Learning 15minutes!
AIとUXデザイン 〜ユーザーのためのAIを設計するために〜:第22回 Machine Learning 15minutes!AIとUXデザイン 〜ユーザーのためのAIを設計するために〜:第22回 Machine Learning 15minutes!
AIとUXデザイン 〜ユーザーのためのAIを設計するために〜:第22回 Machine Learning 15minutes!
 
【東京大学 i.school 人間中心イノベーション概論】1限目:イノベーション創出における基礎と方法論
【東京大学 i.school 人間中心イノベーション概論】1限目:イノベーション創出における基礎と方法論【東京大学 i.school 人間中心イノベーション概論】1限目:イノベーション創出における基礎と方法論
【東京大学 i.school 人間中心イノベーション概論】1限目:イノベーション創出における基礎と方法論
 
ドコモオープンイノベーションの取り組みと提供APIのIoT展開について
ドコモオープンイノベーションの取り組みと提供APIのIoT展開についてドコモオープンイノベーションの取り組みと提供APIのIoT展開について
ドコモオープンイノベーションの取り組みと提供APIのIoT展開について
 
ユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさ
 
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_insideAuthlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
 
UISTで登壇発表しようぜ (UIST勉強会講演2/2)
UISTで登壇発表しようぜ (UIST勉強会講演2/2)UISTで登壇発表しようぜ (UIST勉強会講演2/2)
UISTで登壇発表しようぜ (UIST勉強会講演2/2)
 

Similar to 令和最新!SwiftUI+async_awaitで自分はこう設計・実装している!.pdf

Swift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリとSwift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリと
Sachiko Kajishima
 
StoryboardでUIを使いまわす
StoryboardでUIを使いまわすStoryboardでUIを使いまわす
StoryboardでUIを使いまわす
Masaki Fuke
 
OpenCV on mobile
OpenCV on mobileOpenCV on mobile
OpenCV on mobile
Daisuke Yamashita
 
いまさら触るAwt
いまさら触るAwtいまさら触るAwt
いまさら触るAwt
Keiichi Kobayashi
 
Androidの世界を離れて異文化留学してみた
Androidの世界を離れて異文化留学してみたAndroidの世界を離れて異文化留学してみた
Androidの世界を離れて異文化留学してみた
Hiroshi Kikuchi
 
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
佐藤 俊太郎
 
BaseViewControllerは作りたくない
BaseViewControllerは作りたくないBaseViewControllerは作りたくない
BaseViewControllerは作りたくない
今城 善矩
 
Win32 APIをてなずけよう
Win32 APIをてなずけようWin32 APIをてなずけよう
Win32 APIをてなずけよう
Kouji Matsui
 
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
Yu Tanaka
 
About SnapKit - Open source lab -
About SnapKit - Open source lab -About SnapKit - Open source lab -
About SnapKit - Open source lab -
Daisuke Yamashita
 
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-EdoiOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
Megumi Otani(Czenhe)
 
VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発
Ryosuke Izumi
 
UI要素を動的に利用する
UI要素を動的に利用するUI要素を動的に利用する
UI要素を動的に利用する
HideoMiyake
 
E2E CSS Testing at HTML5 Conference 2016
E2E CSS Testing  at HTML5 Conference 2016E2E CSS Testing  at HTML5 Conference 2016
E2E CSS Testing at HTML5 Conference 2016
Takeharu Igari
 
AbemaTVのUIデザイン 僕なりの運用の心得
AbemaTVのUIデザイン 僕なりの運用の心得AbemaTVのUIデザイン 僕なりの運用の心得
AbemaTVのUIデザイン 僕なりの運用の心得
Shunsuke Matsumoto
 
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したいソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
Yukio Saito
 
Wolcome to swift
Wolcome to swiftWolcome to swift
Wolcome to swift
Kyohei Ito
 
チーム開発にSwiftLintを導入してみた・詳細版
チーム開発にSwiftLintを導入してみた・詳細版チーム開発にSwiftLintを導入してみた・詳細版
チーム開発にSwiftLintを導入してみた・詳細版
Ikada Kaori
 
iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜
Yusuke SAITO
 
20150728 USERDIVE in BPStudy
20150728 USERDIVE in BPStudy20150728 USERDIVE in BPStudy
20150728 USERDIVE in BPStudy
Kuni Nakaji
 

Similar to 令和最新!SwiftUI+async_awaitで自分はこう設計・実装している!.pdf (20)

Swift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリとSwift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリと
 
StoryboardでUIを使いまわす
StoryboardでUIを使いまわすStoryboardでUIを使いまわす
StoryboardでUIを使いまわす
 
OpenCV on mobile
OpenCV on mobileOpenCV on mobile
OpenCV on mobile
 
いまさら触るAwt
いまさら触るAwtいまさら触るAwt
いまさら触るAwt
 
Androidの世界を離れて異文化留学してみた
Androidの世界を離れて異文化留学してみたAndroidの世界を離れて異文化留学してみた
Androidの世界を離れて異文化留学してみた
 
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
 
BaseViewControllerは作りたくない
BaseViewControllerは作りたくないBaseViewControllerは作りたくない
BaseViewControllerは作りたくない
 
Win32 APIをてなずけよう
Win32 APIをてなずけようWin32 APIをてなずけよう
Win32 APIをてなずけよう
 
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
 
About SnapKit - Open source lab -
About SnapKit - Open source lab -About SnapKit - Open source lab -
About SnapKit - Open source lab -
 
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-EdoiOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
 
VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発
 
UI要素を動的に利用する
UI要素を動的に利用するUI要素を動的に利用する
UI要素を動的に利用する
 
E2E CSS Testing at HTML5 Conference 2016
E2E CSS Testing  at HTML5 Conference 2016E2E CSS Testing  at HTML5 Conference 2016
E2E CSS Testing at HTML5 Conference 2016
 
AbemaTVのUIデザイン 僕なりの運用の心得
AbemaTVのUIデザイン 僕なりの運用の心得AbemaTVのUIデザイン 僕なりの運用の心得
AbemaTVのUIデザイン 僕なりの運用の心得
 
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したいソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
 
Wolcome to swift
Wolcome to swiftWolcome to swift
Wolcome to swift
 
チーム開発にSwiftLintを導入してみた・詳細版
チーム開発にSwiftLintを導入してみた・詳細版チーム開発にSwiftLintを導入してみた・詳細版
チーム開発にSwiftLintを導入してみた・詳細版
 
iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜
 
20150728 USERDIVE in BPStudy
20150728 USERDIVE in BPStudy20150728 USERDIVE in BPStudy
20150728 USERDIVE in BPStudy
 

令和最新!SwiftUI+async_awaitで自分はこう設計・実装している!.pdf