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
iOSDevTH #21
Search
Kajornsak Peerapathananont
August 23, 2022
Technology
0
31
iOSDevTH #21
Kajornsak Peerapathananont
August 23, 2022
Tweet
Share
More Decks by Kajornsak Peerapathananont
See All by Kajornsak Peerapathananont
Understanding your Android build
kajornsakp
0
27
What's new in Flutter (Google I/O Extended Bangkok 22)
kajornsakp
0
49
Mobile Design System at scale
kajornsakp
0
69
What's new in Flutter 2020
kajornsakp
0
52
Mobile Machine Learning for All Skill Levels
kajornsakp
0
26
What's new in Flutter 1.9
kajornsakp
0
47
Kotlin meets Web
kajornsakp
0
18
From design to develop with Material Components
kajornsakp
0
130
ML Kit : Face contour detection
kajornsakp
0
30
Other Decks in Technology
See All in Technology
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
310
生成AIのガバナンスの全体像と現実解
fnifni
1
190
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
MLOps の現場から
asei
6
640
DUSt3R, MASt3R, MASt3R-SfM にみる3D基盤モデル
spatial_ai_network
2
110
WACATE2024冬セッション資料(ユーザビリティ)
scarletplover
0
200
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
150
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
280
.NET 9 のパフォーマンス改善
nenonaninu
0
900
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
130
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
190
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
How STYLIGHT went responsive
nonsquared
95
5.2k
Optimising Largest Contentful Paint
csswizardry
33
3k
Visualization
eitanlees
146
15k
Side Projects
sachag
452
42k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Six Lessons from altMBA
skipperchong
27
3.5k
Designing Experiences People Love
moore
138
23k
A Tale of Four Properties
chriscoyier
157
23k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Transcript
None
Bazel for iOS 101
What is Bazel 🥯 • Open source build system from
Google • Internally, called blaze
What is Build System Source code Source code Source code
Source code Source code Build System Compiler Linker Binary
XCBuild Source code Source code Source code Source code Source
code XCBuild Compiler Linker Binary
Foo.swift Baz.swift Bar.swift ⌘ + R Target MyApp MyApp scheme
Target Foo Target Bar Target Baz
⌘ + R MyApp Foo Bar Compiling Linking Copy f
iles Codesigning Framework
⌘ + R Task D Task B Task C Task
A Input Output
Cons of XCBuild Disclaimer: based on my experience
Why? • Single artifacts directory per project • Switching git
branch back and forth => caches invalidated 🫠 • 1 layer of cache
Bazel advantages • Advanced local cache & remote cache •
Optimized dependency analysis • Parallel execution
Bazel dependencies Task D Task B Task C Task A
Input Output
Who use Bazel? uncon f irmed
Bazel rules • Starlark language • python dialect
How about Swift? • swift_library() • apple_resource_group() • ios_application()
Demo
None
None
None
LD IPA IDE XCBuild Compiler Linker Executable
LD IPA IDE Bazel Compiler Linker Executable
Xcode project generation Tulsi rules_xcodeproj
Tulsi
rules_xcodeproj
Bazel cache
Build Event Service (BES)
Remote Execution
When should I use Bazel Task Task Task Task Input
Output Task Task Task Task Task Task Task Task Task
When should I use Bazel Task Task Task Task Input
Output Task Task Task Task Task Task Task Task Task
Not convinced? • XCLogParser • XCMetrics • XCRemoteCache
careersatagoda.com careersatagoda.com careersatagoda. careersatagoda.com careersatagoda.com careersatagoda. careersatagoda.com careersatagoda.com careersatagoda. careersatagoda.com
careersatagoda.com careersatagoda. careersatagoda.com careersatagoda.com careersatagoda. careersatagoda.com careersatagoda.com careersatagoda. careersatagoda.com careersatagoda.com careersatagoda.