ReactFoo 2019

ReactFoo 2019

A gathering of over 250 web and mobile developers working with React

Siddhant Soni


Truly Cross-Platform React Native

Submitted Jan 31, 2019

At Flipkart, we have been using React Native for more than 2 years now. Though React Native allows us to build Apps that run on Android and iOS, we wanted to explore whether it was possible to make truly cross platform apps which will run on Android, iOS, mobile web and desktop. Could React Native scale to all form factors and not just run on mobile handsets?
Needless to say, we were able to build and ship multiple features on aforementioned platforms. This talk will walk you through the questions we asked ourselves while we were approaching problems like these, how we mitigated them and then made our features available to millions of our users. It should serve as a guide for others trying to solve similar problems and how they could piggy bank on our experiences.


We will be addressing the following questions:

React Native solves for android and ios but can it solve for mWeb?
What is react native web?
If mobile web is possible, is desktop possible as well?
What about design problems on desktop?
Can react native solve for animations?
Can those animations work equally performant on Web?
How to do animations? How to use svg’s?
Can the same animations work on web?
What about the bundle size on web for react native pages?
Can we do bundle chunking in these pages?
Can Native Modules exist on web?

Lastly, we will talk about 2 games that we recently launched on the Flipkart Gaming Platform which saw more than 40 Million gameplays across India.

Speaker bio

Hi I am Siddhant Soni, a Frontend Software Engineer at Flipkart. I have been working with frontend technologies for about 3 years now. I have worked with Angular, React and ReactNative. Previously I was part of the Flipkart’s mobile website team which is a PWA. Currently I am part of the CrossPlatform Team where we write UI which runs on all platforms, Native and Web alike.


{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}