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
390
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
90
Coordinators and deep linking
rechsteiner
0
1.6k
Other Decks in Programming
See All in Programming
Preact、HooksとSignalsの両立 / Preact: Harmonizing Hooks and Signals
ssssota
1
120
Kubernetesで実現できるPlatform Engineering の現在地
nwiizo
2
1.6k
英語文法から学ぶ、クリーンな設計の秘訣
newnomad
1
260
아직도 SOLID 를 '글'로만 알고 계신가요?
sh1mj1
0
350
今から始めるCursor / Windsurf / Cline
kengo_hayano
0
100
AIエージェントを活用したアプリ開発手法の模索
kumamotone
1
730
Compose Navigation実装の見通しを良くする
hiroaki404
0
170
体得しよう!RSA暗号の原理と解読
laysakura
3
490
RCPと宣言型ポリシーについてのお話し
kokitamura
2
130
もう一人で悩まない! 個の知見をチームの知見にする3つの習慣と工夫 / Into team knowledge.
honyanya
3
510
GDG Super.init(version=6) - From Where to Wear : 모바일 개발자가 워치에서 발견한 인사이트
haeti2
0
540
Return of the Full-Stack Developer
simas
PRO
1
300
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
176
52k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Speed Design
sergeychernyshev
28
850
Docker and Python
trallard
44
3.3k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
Making the Leap to Tech Lead
cromwellryan
133
9.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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