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
410
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
130
Coordinators and deep linking
rechsteiner
0
1.7k
Other Decks in Programming
See All in Programming
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
140
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
340
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3k
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
760
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
240
株式会社 Sun terras カンパニーデック
sunterras
0
220
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
940
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
170
ネイティブ製ガントチャートUIを作って学ぶUICollectionViewLayoutの威力
jrsaruo
0
130
CSC509 Lecture 02
javiergs
PRO
0
400
CSC305 Lecture 04
javiergs
PRO
0
250
AIで開発生産性を上げる個人とチームの取り組み
taniigo
0
130
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Visualization
eitanlees
148
16k
Gamification - CAS2011
davidbonilla
81
5.5k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
It's Worth the Effort
3n
187
28k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Embracing the Ebb and Flow
colly
88
4.8k
Designing Experiences People Love
moore
142
24k
Designing for Performance
lara
610
69k
The Cult of Friendly URLs
andyhume
79
6.6k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
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