

▹ Frontend developers are still not used to testing their change across all platforms and it feels a lot of effort for them to locally test their changes across web & iOS. Frontend developers not testing changes across all platforms This leads to better focus (3x more) to improve our React Native platform and also makes it quicker to form a new team and not having to figure out whether the team would need Android, iOS or Web developer. Though there are technology specific experts but almost all frontend developers can work fluently in React Native. ▹ There’s now only one frontend team at Grofers rather than 3 (Android, iOS, Web) before.

But still there are some questions to be answered before a dev can start coding in React Native. ▹ React Native Live Reload feature got more love with the Fast Refresh feature after we upgraded to React Native(v0.61).įaster multi-platform development (coding in 1 platform instead of 4)Ĭoding in React Native generally takes much lesser time as compared to coding in all platforms separately. To see their changes load within a few seconds gives a much faster feedback loop to developers. ▹ The live reload feature of React Native is simply amazing and is absolutely loved by our Android developers. The change was made across platforms as developer had to make change just at a single place rather than involving chapter leads of 3 different technologies and asking multiple devs to accommodate the task in their sprint.īetter development experience compared to native ▹ For example, a very small change request from compliance team to change MRP text on our product page from 25 to 25.0 was done unbelievably quickly. Quick to roll out bug fixes across platforms ▹ No more platform specific bugs being reported like our membership widget not shown correctly in iOS which were earlier not considered to be done on iOS by backend devs or product teams.ģ. ▹ All our analytics events and impressions are also at parity across platforms. ▹ Lots of other features which only had got ported into Android like our listing page filters, etc. ▹ Features like widgetised (or backend driven) framework for screens are now there in iOS & Web as well - this was only there in Android before but thanks to React Native, it has now enabled all tech and non-tech teams to create new layouts on the fly across all platforms. Let’s dive into details of each of these challenges one by one:Įarlier there were many features that used to get reported on our primary platform Android and then other platforms always played catchup mode with Android. ▹ Extra effort in maintaining high performance (Read below for more details on how we are approaching to solve these) ▹ Faster release cycle & adoption with OTA (Over the air releases). ▹ Faster multi-platform development (coding in 1 platform instead of 4). ▹ Better development experience compared to native ▹ Feature parity across all platforms - Android, iOS, mobile web & desktop web Here’s a quick look at all the goods and not-so-goods of React Native that we have experienced. It involved lots of team restructurings, convincing native app developers, training enough devs to be able to do the strenuous task of migrations in a brownfield app, keeping the functional requirements bug free and ensuring app stability (achieving same crash free rate as before). And this what we are going to talk about in this blog. We had to deal with a lot during this migration process and we learned a lot in the process. ▹ The next year involved migrating our post-checkout flow (thank you screen after placing an order, order details) and the browsing flow (product details pages, product listing pages).Īt present, apart from checkout workflow screens, all our screens are now migrated to React Native. It was then followed by porting our homescreen and all widgetised pages covering most of our marketing pages.

▹ The first year involved a React-Native POC with just a UI widget. In these two years, we have managed to handle all the business requirements while still maintaining these brownfield apps across platforms with a very small and lean team. It’s been almost two years since we started integrating React Native into its native apps. Through this series we attempt to share the journey of integrating React Native into one of India’s largest e-commerce grocery web & native app This blog is part of the Grofers React Native blog series.
