$30 off During Our Annual Pro Sale. View Details »
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
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
6
360
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
380
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
18
7.6k
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
160
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
160
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
420
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
400
SwiftUIで本格音ゲー実装してみた
hypebeans
0
450
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
130
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
860
Microservices rules: What good looks like
cer
PRO
0
1.6k
AIエージェントの設計で注意するべきポイント6選
har1101
5
1.4k
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.1k
Optimizing for Happiness
mojombo
379
70k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
The Invisible Side of Design
smashingmag
302
51k
Test your architecture with Archunit
thirion
1
2.1k
Docker and Python
trallard
47
3.7k
Designing Powerful Visuals for Engaging Learning
tmiket
0
180
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
310
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
110
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
120
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
180
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