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
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
130
Coordinators and deep linking
rechsteiner
0
1.7k
Other Decks in Programming
See All in Programming
AI駆動開発ライフサイクル(AI-DLC)のホワイトペーパーを解説
swxhariu5
0
690
KoogではじめるAIエージェント開発
hiroaki404
1
470
レイトレZ世代に捧ぐ、今からレイトレを始めるための小径
ichi_raven
0
300
自動テストを活かすためのテスト分析・テスト設計の進め方/JaSST25 Shikoku
goyoki
2
620
Kotlin + Power-Assert 言語組み込みならではのAssertion Library採用と運用ベストプラクティス by Kazuki Matsuda/Gen-AX
kazukima
0
110
GraalVM Native Image トラブルシューティング機能の最新状況(2025年版)
ntt_dsol_java
0
100
Web エンジニアが JavaScript で AI Agent を作る / JSConf JP 2025 sponsor session
izumin5210
3
1.2k
「10分以内に機能を消せる状態」 の実現のためにやっていること
togishima
1
280
Inside of Swift Export
giginet
PRO
1
550
Claude Code on the Web を超える!? Codex Cloud の実践テク5選
sunagaku
0
520
詳細の決定を遅らせつつ実装を早くする
shimabox
1
1k
Module Harmony
petamoriken
1
220
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Six Lessons from altMBA
skipperchong
29
4.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
670
How STYLIGHT went responsive
nonsquared
100
5.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
We Have a Design System, Now What?
morganepeng
54
7.9k
Git: the NoSQL Database
bkeepers
PRO
432
66k
For a Future-Friendly Web
brad_frost
180
10k
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