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
Foundation over features
Search
rechsteiner
November 14, 2019
Programming
0
430
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
160
Coordinators and deep linking
rechsteiner
0
1.8k
Other Decks in Programming
See All in Programming
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
220
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
210
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
1
440
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
160
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
150
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
710
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
610
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1k
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
190
Codex の「自走力」を高める
yorifuji
0
1.2k
20260315 AWSなんもわからん🥲
chiilog
2
160
AIに任せる範囲を安全に広げるためにやっていること
fukucheee
0
140
Featured
See All Featured
Crafting Experiences
bethany
1
89
Documentation Writing (for coders)
carmenintech
77
5.3k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
150
The Curse of the Amulet
leimatthew05
1
10k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
53k
The SEO identity crisis: Don't let AI make you average
varn
0
420
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
200
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
290
We Have a Design System, Now What?
morganepeng
55
8k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
220
How to Ace a Technical Interview
jacobian
281
24k
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