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
43
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
37
What's new in Flutter (Google I/O Extended Bangkok 22)
kajornsakp
0
61
Mobile Design System at scale
kajornsakp
0
81
What's new in Flutter 2020
kajornsakp
0
60
Mobile Machine Learning for All Skill Levels
kajornsakp
0
30
What's new in Flutter 1.9
kajornsakp
0
51
Kotlin meets Web
kajornsakp
0
20
From design to develop with Material Components
kajornsakp
0
140
ML Kit : Face contour detection
kajornsakp
0
35
Other Decks in Technology
See All in Technology
モバイルゲームの開発を支える基盤の歩み ~再現性のある開発ラインを量産する秘訣~
qualiarts
0
1.1k
【Λ(らむだ)】最近のアプデ情報 / RPALT20250729
lambda
0
230
alecthomas/kong はいいぞ
fujiwara3
6
1.4k
LIFF CLIとngrokを使ったLIFF/LINEミニアプリのお手軽実機確認
diggymo
0
230
Strands Agents & Bedrock AgentCoreを1分でおさらい
minorun365
PRO
6
230
JAWS AI/ML #30 AI コーディング IDE "Kiro" を触ってみよう
inariku
3
270
AIエージェントを現場で使う / 2025.08.07 著者陣に聞く!現場で活用するためのAIエージェント実践入門(Findyランチセッション)
smiyawaki0820
6
590
マルチモーダル基盤モデルに基づく動画と音の解析技術
lycorptech_jp
PRO
4
500
Claude CodeでKiroの仕様駆動開発を実現させるには...
gotalab555
3
880
金融サービスにおける高速な価値提供とAIの役割 #BetAIDay
layerx
PRO
1
720
dipにおけるSRE変革の軌跡
dip_tech
PRO
1
230
ビジネス文書に特化した基盤モデル開発 / SaaSxML_Session_2
sansan_randd
0
260
Featured
See All Featured
KATA
mclloyd
31
14k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
870
Embracing the Ebb and Flow
colly
86
4.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
We Have a Design System, Now What?
morganepeng
53
7.7k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Optimizing for Happiness
mojombo
379
70k
The Invisible Side of Design
smashingmag
301
51k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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.