To quickly recap, we have a small but functional (my puns are always intended) DSL for building a family tree in Kotlin:
The family trees are of course the focus of the series as they are revealed to us piecemeal; episode by episode, season by season. After watching it, I was overwhelmed with all the details and quickly gave up trying to fit it all together. …
Ever since first getting into Kotlin, I’ve known it has a few things that makes building domain-specific languages (DSLs) easier. I’ve read the mind-expanding type-safe builders guide for building a DSL for HTML, but until recently I hadn’t found a good use case for building a DSL of my own.
My team at Zalando maintains server-driven UI libraries for Android & iOS that power completely dynamic screens such as home, brand homes, collections, and various landing pages in the Zalando fashion store apps. Often, we need to build mock responses during development for new features that don’t have a backend…
As previously outlined in my talk at Mobius Conference in Saint Petersburg last year, our team at Zalando is building a server-driven UI platform we call AppCraft. AppCraft allows us to add or update screens in our app with only server changes instead of the normal app release constrained way of doing things.
On the client side, we are building every screen the same way: fetch layout & data from the server, parse it, and render it.
Since the API response time is mostly out of our control, this leaves:
In Part I, we explored reasons you might want to use React Native and some of the challenges I encountered attempting to integrate it into an existing app. My goal was not to scare you away from it, but rather to demonstrate that it is a large dependency and may limit your ability to upgrade other libraries. In Part II, we’ll examine the development experience, cross platform code sharing, and dynamic updates. We’ll finish with an example showing how you can combine a React Native UI with existing native code to get the best of both worlds.
When new technologies start gaining momentum in the Android community, the pragmatic (or lazy) among us eventually have to ask ourselves, “Is it worth it?” After the initial arrival and departure of the hype train, some of these become trusted tools we use in almost every app. Think RxJava and Dagger.
Senior Software Engineer @ Zalando, ProAndroidDev editor