Why we build the ABOUT YOU app with Flutter

Join our Tech Director for Shop Applications, Robert, in a reflection on the journey of the development of the ABOUT YOU mobile app, from Cordova to React Native to Flutter.

When we built the first app for ABOUT YOU, I was a new employee. I was responsible for the mobile website and we needed a reliable app so that our customers could order as conveniently as possible from their smartphones as they did from their laptops. As of our latest publications, we are serving over 90 million mobile user sessions per month to support the 80% of ABOUT YOU customers using mobile devices.* This shows how rapidly the use of our app has developed, and highlight the importance of our framework choices for the further development of the app.

The history of the ABOUT YOU app

When we started developing our own app in 2015, we simply had our mobile website embedded in a Cordova layer. In 2017 we switched to React Native. We were already using React for the ABOUT YOU store and website and loved the concept behind the library, with Redux as the state container and Redux saga as the sync layer. At that time we also switched to React and Typescript with all teams to develop components and interfaces as clean as possible. However, the usage of our app and accompanying feature requests grew at such speed that we could no longer meet the demands using our previous setup. The more maintenance work had to be done on the app, the more complicated it became. Dependency management using npm in conjunction with native libraries constantly led to problems. Redux Saga, while very handy at first, reached a certain point where it became more and more difficult for our developers to understand which action did what. In retrospect, it was probably just our own fault for not thinking more carefully in advance about how to best set up Redux Saga for our use cases — at some point it seemed like we had missed the jump.

[…]

Why Flutter in particular?

That was all three years ago now. One day Sebastian Betz, our Co-Founder and Co-CEO responsible for Tech and Product, approached me and said, “Have you actually seen Flutter before?”. […] Word quickly got around our development team that Flutter could be a solution to our stalled scaling problems with the ABOUT YOU app, and everyone was eager to try it out.

[…] After the successful proof-of-concept, we then decided to tackle the full-on migration from React-Native to Flutter. In total, it took us six months to rebuild and optimize the app using Flutter. After nine months, it was then live on Flutter — with a new design and optimized UX. Looking back, it was a huge success, although I still sometimes wonder how we managed to do it in parallel with the live operation!

[…]

Curious to learn more about our switch from React Native to Flutter, and the technical choices that followed? Check out the full article on the ABOUT YOU TECH Blog!

--

--

--

ABOUT YOU Development and Engineering articles. Check out more content and our tech job openings on https://aboutyou.tech!

Recommended from Medium

What Are the Major Differences Between AWS Lambda vs. Azure Functions?

Spawning Objects in Unity without the Clutter

Chapter 7 Attorney

chapter 7 attorney

Connect to remote Hbase server from java (without dependency management tools)

3 ways DevOps can increase the value of organizational data — WalkingTree Technologies

Determining How Long Powerup Effects Should Last

Why Django is the best Python Web framework ever

Benefits of using the Cloud computing for Disaster Recovery

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
ABOUT YOU TECH

ABOUT YOU TECH

ABOUT YOU Development and Engineering articles. Check out more content and tech job openings on https://aboutyou.tech!

More from Medium

Flutter v/s React Native: Choose the Right Framework for your Business Application

Will cross-platform development replace native development?

Accessibility in Flutter?

Flying High With Design Pattern & Dependency Injection & State Management