I spent a little bit time watching a number of the developer-focused displays given on the current Swift Heroes occasion, however thought an insightful clarification of the advantages of modular iOS app improvement from JustEat principal developer, Alberto De Bortoli could also be price flagging up.
Fast development? New issues…
Since inception, JustEat has grown quick, and this ultimately led it to undertake a modular method to improvement fairly early on, De Bortoli explains.
The transfer adopted a few years throughout which the corporate working two distinct groups to deal with improvement of its apps: One workforce was devoted to the UK, the place the corporate started, whereas the opposite dealt with apps for international markets.
Unfortunately, whereas this helped the UK workforce develop sooner, the choice to run two teams additionally accelerated speedy code diversification because the apps diverged, which meant the corporate turned much less in a position to ship constant experiences.
That’s when the choice to convey the groups collectively once more came about, however doing so posed different issues, partially, as a result of builders had develop into a little bit protecting over the work that they had carried out.
To reconcile this, the corporate determined to undertake a modular method.
It wanted to seek out some technique to transfer app improvement ahead and because it was increasing quickly a whole rewrite of the present code might have generated unpredicted penalties.
Lay sturdy foundations
Strong foundations are essential to app improvement, much more so when constructing modular apps. De Bortoli believes one of many first necessities is to, “Integrate individuals first, expertise later,” he stated.
This is sensible at each degree of the enterprise, I feel. Digital transformation calls for the erosion of siloes in favor of constructive collaboration.
De Bortoli explains: “We determined to step by step and strategically modularize components of the mobile merchandise and onboard them onto the opposite codebase in a managed and secure manner.”
The workforce additionally rewrote and improved parts of the code utilizing Swift, delivering strong enhancements at a foundational degree.
For De Bortoli, adopting this kind of approach – in which functionality is separated into independent, interchangeable modules each of which contains all that’s required to do one aspect of the app’s overall task – enabled JustEat to reuse parts of the code across multiple products, and also helped it unify development streams.
His experience is that modular architectures are easier to work with than vast, monolithic code bases, at least to some extent, though the workload of ensuring all these components work together poses additional strain.
The advantage of the approach is that multiple developers can work on different modules within the overall solution simultaneously, and can iterate those modules more rapidly. That’s a huge benefit, but not one that every app developer needs.
“Benefits become tangible only after a certain complexity threshold is crossed,” he says.
Several years on and the company seems to have an app infrastructure that’s sufficiently robust to handle a huge range of different needs, with features that can be enabled, disabled or personalized for specific audiences and geographies.
The JustEat app needed this because it is offering menus from over 205,000 restaurants, handling thousands and thousands of orders from its 54 million customers, in multiple languages across multiple nations.
It does this while supporting personalized experiences, special offers, mobile payments and all wrapped up in a highly secure, approachable app wrapper.
In what are very much layman’s terms, I like to think of this approach to app development as a little like building multiple ‘widget’ apps for separate tasks that complement each other. If you want a more in-depth account, De Bortoli has an excellent guide here.
In the case of JustEat, modular development has have helped the company deliver scale and agility across its mobile/iOS operations, and – as you might expect, given this conversation emerged at Swift Heroes — Swift has been an important enabling technology for the attempt.
Please follow me on Twitter, or be part of me within the AppleHolic’s bar & grill and Apple Discussions teams on MeWe.
Copyright © 2020 IDG Communications, Inc.