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
330
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
38
Coordinators and deep linking
rechsteiner
0
1.5k
Other Decks in Programming
See All in Programming
リハビリmruby
kishima
1
160
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
gotok365
6
1.3k
Android開発者のための Kotlin Multiplatform入門
ntaro
0
190
Webエディタライブラリ 「CodeMirror」から学ぶ Webアプリ開発のテクニック
ryosukeigarashi
0
250
スクラムマスターって孤独じゃないですか?
yoshitaroyoyo
1
140
Composing an API the *right* way (Droidcon Berlin 2024)
zsmb
1
450
Polarsの成長: v0.14からv1.0までの変遷と今後の展望
zerebom
1
350
DDDを志して3年経ったら「DDDの皮を被ったクリーンアーキテクチャ」になった話【デブサミ2024夏】
texmeijin
1
620
Modern Angular: Renovation for Your Applications
manfredsteyer
PRO
0
140
Temporalを取り巻く仕様を整理する
sajikix
0
110
Microservices rules (July 2024) : what good looks like
cer
PRO
0
1.6k
APIのない大学ログインWebサービスをWKWebViewとJavaScriptでアプリ化した話
akidon0000
1
330
Featured
See All Featured
Creatively Recalculating Your Daily Design Routine
revolveconf
214
11k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Automating Front-end Workflow
addyosmani
1362
200k
How to Think Like a Performance Engineer
csswizardry
4
590
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
353
29k
Visualization
eitanlees
139
14k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.8k
How to train your dragon (web standard)
notwaldorf
79
5.5k
Speed Design
sergeychernyshev
9
270
Designing for Performance
lara
604
67k
Done Done
chrislema
179
15k
In The Pink: A Labor of Love
frogandcode
139
22k
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