Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Foundation over features
Search
rechsteiner
November 14, 2019
Programming
0
420
Foundation over features
How investing in our own component framework has helped us build Norway’s largest mobile bank.
rechsteiner
November 14, 2019
Tweet
Share
More Decks by rechsteiner
See All by rechsteiner
Banking on testing
rechsteiner
0
140
Coordinators and deep linking
rechsteiner
0
1.7k
Other Decks in Programming
See All in Programming
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
130
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
320
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
360
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
520
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
370
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
440
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
140
認証・認可の基本を学ぼう後編
kouyuume
0
240
GISエンジニアから見たLINKSデータ
nokonoko1203
0
160
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
100
愛される翻訳の秘訣
kishikawakatsumi
3
330
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.3k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
390
How to Ace a Technical Interview
jacobian
281
24k
GitHub's CSS Performance
jonrohan
1032
470k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
115
91k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Done Done
chrislema
186
16k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Faster Mobile Websites
deanohume
310
31k
Facilitating Awesome Meetings
lara
57
6.7k
Transcript
Foundation over features How investing in our own component framework
has helped us build Norway’s largest mobile bank.
None
Building a new mobile bank
For 4 months the app was completely blank Investing time
to build a foundation
Theming Backend simulator Global model store Coordinators Deep linking Design
system Skeleton views HTTP Client Repository Authentication library NSOperations abstractions Component framework
None
We needed a shared foundation
One big UICollectionView Account list component Table component
None
None
None
None
The missing piece: Layouts
None
None
None
Composable collection view layout
• Each component has its own layout • Custom collection
view layout takes each component layout and converts it into one big UICollectionViewLayout. Composable collection view layout
None
None
None
Benefits • Reusable components allows us to share functionality throughout
the app • Ability to compose bigger screens out of smaller components • Declarative layout system • Data-driven UIs are easy to unit-test • Animations are handled automatically • Allows us to transition to SwiftUI
Transitioning to SwiftUI
None
None
None
None
None
Automatically dequeue cells based on layouts
None
Take-aways
• Investing time in building a good foundation can really
pay off in the long term • Owning the abstraction gives you a lot of freedom • Use frameworks for the hard problems
None