top | item 30156929

Building a Cross-Platform Web and Mobile App from the Ground Up

126 points| mfburnett | 4 years ago |ambrook.com

30 comments

order

parthi|4 years ago

We do something similar across a React and a Next JS app. A little different because they are both web, but same principles of letting the clients do their own thing and having common backend logic.

Also just started looking around your site. This is actually a quality engineering blog! We're actively implementing stylized components in a manner similar to yours.

brishin|4 years ago

Yes very similar, thanks for the reminder. So it’s four platforms in the end (Browser, Backend/Node, Android, iOS).

theanirudh|4 years ago

This talk at Nextjs Conf explores cross platform solutions for common issues like routing, styling and animation. Found it to be quite helpful!

https://youtu.be/0lnbdRweJtA

brishin|4 years ago

Would also recommended this talk! It highlights some key libraries bridging these two (Next.js/ React Native) opinionated libraries together.

cudgy|4 years ago

How is this “from the ground up”? It basically uses the same web technologies and back end from the existing web solutions.

Also, I missed the challenges of handling offline usage which was stated as a requirement, but the back end appears to be GraphQL queries to a server?

thih9|4 years ago

I guess it's "from the ground up" as in "greenfield", where there's no preexisting code to support or rewrite. I.e. "ground" means "fresh project" (and not e.g. entering bits by hand).

japhib|4 years ago

Yeah, I saw the headline and was hoping it was something crazy like Rust compiled for mobile and wasm

rajeevn|4 years ago

Was flutter considered a candidate for the technical solution.

brishin|4 years ago

We considered Flutter, React Native, Kotlin Multiplatform Mobile and pure native as solutions. The factors we looked at were size of hiring market, ease of conversion of web codebase and the effectiveness of the current team in that framework.

dvh|4 years ago

Too high risk of it being cancelled soon

philprx|4 years ago

For those who have the pleasure and luxury to go green field new dev, i started using the Quasar Framework, which builds on top of Vue. I really love it.

https://quasar.dev/

robertlagrant|4 years ago

> the opportunity to approach the challenge of supporting multiple platforms without the constraints of legacy engineering decisions

While I am keen on this article, I must pause reading it to come here and plead that people say "prior" instead of "legacy".

Legacy - due to its provenance in Microsoft sales techniques to mean "not Microsoft" - implies "bad". When actually the decisions may have been good, at least at the time.

jrubinovitz|4 years ago

> On mobile, we generate a QR code that can be scanned by a phone running the Ambrook app to download and run the latest Javascript bundle live on the phone.

This is awesome!

brishin|4 years ago

Thanks jrubinovitz! We tried to make it as easy as possible to do the right thing (QA + code review at once).

marstall|4 years ago

also possible to share (nearly) 100% of code between mobile+web using react-native-web

(plug: I did this, save a small iOS shim, for my music player https://shelf.fm).

TeeWEE|4 years ago

Cool. but I miss a link to the demo ;-)

grigg|4 years ago

Loved this

gailees|4 years ago

Do farmers really use apps?

iamstupidsimple|4 years ago

Of course, why wouldn't they use the latest stuff? Farming technology is literally the reason you and your (relatively) recent ancestors aren't slaving away in the fields. Doesn't matter if that's combine harvesters or logistics apps.

fouc|4 years ago

Farmers are business owners. They definitely use Excel or other computer apps to keep on top of everything.

kwertyoowiyop|4 years ago

Hopefully you are joking. Farming was high-tech before a lot of other professions were.

cercatrova|4 years ago

Better than using Excel which is what many currently use.