Updated Facebook's cross-platform open-source mobile framework React Native lived up to its marketing hype for Walmart Labs as the US shopping giant deployed the software last year.
However, the retail goliath hit a wall when it came to people.
"The marketing spiels of React Native turned out to be true," said Alexander Grigoryan, senior director of software engineering at Walmart Labs, during a presentation on Wednesday at the Node Summit in San Francisco.
Mobile development is increasingly important for Walmart, Grigoryan explained, noting that 60 per cent of orders through Walmart's grocery app come through mobile devices. With that figure expected to grow, so too is Walmart's investment in mobile development.
The problems of divergence
Walmart relies on native mobile applications, Grigoryan said, but differences between the two platforms cause problems. Feature divergence between iOS and Android apps, he explained, can be dealt with, but differences in core functionality like authentication, analytics data, and business orchestration logic create challenges.
Hence the lure of a cross-platform option like React Native. Walmart, he said, wasn't about to write its apps completely, but React Native provided a way to rewrite specific app components.
Hey you smart, well-paid devs. Stop clicking on those phishing links and bringing in malware muck on your shoesREAD MORE
The technology turned out to be capable enough; the company's developers, however, made the transition much harder than it needed to be. Those trained on native mobile development didn't appreciate change.
"Friction with native engineers is an understatement," said Grigoryan, describing the dev culture clash during the transition. "I got death stares, three-minute silences in the room."
Once Walmart managed to assemble a team of committed developers, React Native showed promise for what the company want to accomplish but it wasn't enough. For example, React Native components might create warnings or errors following compilation and native platform engineers didn't want to deal with problems created by others.
"We were at a crossroads," said Grigoryan. Business-wise, React Native lives up to the hype, he said, but it doesn't really scale and the company didn't want to completely convert to the technology.
To resolve this, Walmart Labs created a platform team to help React Native and the native development tools interoperate with fewer issues. The end result was a framework called Electrode Native, which helps make React Native code more scalable, reusable and extensible. The project began taking shape in January last year and it was subsequently released as open source.
The message from Grigoryan is that technology depends on people and those people need to be ready to embrace change before things really click.
"If you want to use React Native and you already have a native team, this has to be taken into consideration," he said. ®
Updated to add
When Grigoryan said on stage, “I got death stares, three-minute silences in the room,” we took this literally.
However, Grigoryan tells us, through a Walmart spokesperson, that he said this was a joke. “Our engineers had numerous disagreements and expressed resistance often, but were very respectful in the way they raised it. My statement was more comedic effect and to show case the strong feelings,” he said.
Serverless Computing London in November will give you the state of play on serverless and function as a service, and explain how to put them to work in your business. Full details, and ticket information, at the website here.