Live data from Hacker News

React Native at Airbnb

medium.com

221–230 of 259 posts

Re: React Native at Airbnb

#221

Earlier quoted context omitted.

I invested a lot into a full React webapp - it would be great to share some of that code with mobile apps. I have an iOS background but was intending to make a RN app so that I could share the bulk of the React webapp code and get Android support as well. I have separation of container components and presentational SFCs so I’m thinking I could easily re-implement UI layers in RN if I wanted to without sacrificing the…

Look into Cordova. It can wrap your static frontend in a multiplatform app that runs inside a chromeless web browser. Super easy to set up and use. Adobe even offers an online build service, PhoneGap Build, which can build Corodva applications for iOS without needing a Mac! I have successfully used this approach to develop applications for both Android and iOS.

Thanks. I think I might try this out first since there isn't much overhead. What's the performance like for you? Any advice you have on mitigating possible perf issues?

Re: React Native at Airbnb

#222
post #186

As a user of AirBnb I would be so happy if they just stopped updating the app. They are making it worse and worse. When I travel and I arrive at an airport, I do not need spiffy animations and "fun things to do" in the city I am in, I need a way to quickly find the address of the place or a way to message the host. Stop with all this experience stuff and give me the facts I need right now

I couldn't possibly agree more. The annoying minimalism is killing me. It took me 5 minutes to find a map view the other day because they've buried it so much and floated their "experiences" stuff up top.

>floated their "experiences" stuff up top

That is no minimalism in my hand book

Re: React Native at Airbnb

#223

Earlier quoted context omitted.

> native web dev That has to be the strangest combination of terms I've seen this month.

Ever heard of PhoneGap or Electron?

Yes, and neither of them are native, nor are either of them relevant to my comment.

What was your point again?

Re: React Native at Airbnb

#224

Earlier quoted context omitted.

"Built-in" and "native" don't mean the same thing last time I checked.

I think you mean 'built-in' into react native? Facebook routinely lets the community settle on the correct api aside from a limited core. E.g. react router on web has gone through many versions and there are several community libraries for doing web navigation and how you want to track that application state.

And as a result there's a ton of churn, waiting for third parties to update their libraries (sometimes forever) and beginners having to make choices on how to do the most basic things without the experience or knowledge to help them make good decisions.

Re: React Native at Airbnb

#225

Isn't React Native end of lifed at Facebook? The effort is taking the best principles of React Native and focusing on Litho https://fblitho.com or ComponentKit - the effort to have a unified framework for both iOS and Android is pretty much abandoned. I think React Native is in legacy support mode rather than active innovation.

I can't find any reference to that with Google. Mind sharing a link?

This was recently making the rounds, I suspect this is what OP was referring to:

- https://twitter.com/sandofsky/status/1002637340291018754

Responses from someone at FB:

- https://twitter.com/sophiebits/status/1003101478427357184 - https://twitter.com/sandofsky/status/1003104331833532416

Re: React Native at Airbnb

#226

Earlier quoted context omitted.

In a simple app, no. In a really big app with tons of interdependent, asynchronously loaded state? Have fun. Redux definitely has too much boilerplate, but it does an excellent job of keeping functionality decoupled, and on a big project this ends up being way more important. When you do it right, you rarely introduce regressions when working on new features, because almost everything you do is additive: you're addin…

> The alternative is playing an endless game of whack-a-mole as an app gets too large An alternative is another state management library.

Yeah sorry, I didn't mean to imply that redux is the only option. I meant that whack-a-mole is the alternative to using some sort of robust state management approach.

Re: React Native at Airbnb

#227

Earlier quoted context omitted.

Look into Cordova. It can wrap your static frontend in a multiplatform app that runs inside a chromeless web browser. Super easy to set up and use. Adobe even offers an online build service, PhoneGap Build, which can build Corodva applications for iOS without needing a Mac! I have successfully used this approach to develop applications for both Android and iOS.

Thanks. I think I might try this out first since there isn't much overhead. What's the performance like for you? Any advice you have on mitigating possible perf issues?

The Cordova browser view is almost as fast as mobile Chrome/Safari. Debugging can be tricky, as in all mobile development, but I was overall satisfied with the available tooling. If your code is performant in the browser it should fare well in Cordova.

Re: React Native at Airbnb

#228
I wrote a few weeks ago about how ridiculous it was for AirBnB to spend 18 months testing a new font. A 5 part series on React Native is again next-level indulgent.

Why am I not surprised engineers at Airbnb have so little to do than to write a novel about a framework?

Re: React Native at Airbnb

#229
post #110

Tangential to this, he says Airbnb has 100 mobile devs writing about 80k LoC of app code, 40K LoC of infra, and 220 "screens". We've got an app with about the same "dimensions", developed in a similar timeframe, with some very complex financial business logic and 2 developers working on it... what on Earth do their devs spend their time on? Is their engineering organization really _that_ inefficient?

That's on average 2 screen per dev.

Re: React Native at Airbnb

#230

Earlier quoted context omitted.

Given that Redux is an implementation of the Flux pattern, your grievances may actually be with the naming conventions in Flux itself. https://facebook.github.io/flux/docs/in-depth-overview.html#...

This is the thing that everyone seems to have forgotten. Redux didn't invent these terms out of nothing. Redux was specifically written as an implementation of the Flux Architecture, and the terms "store", "action", and "type" came directly from Flux. The term "reducer" had been in use with Clojure already, I think, and is based on the way these functions have the same signature as a callback you pass to `Array.proto…

One other addendum:

The "store" is the object returned from `createStore()`, which has the `dispatch`, `getState`, and `subscribe` methods.

The store object contains your "state" value, which could be a simple number by itself, an array, an object, or whatever else you return.

Typically that top level value _is_ an object with other values nested inside of it, and _that_ is your "state tree". So, the "store" contains the "state tree", and they are not the same thing.

Post reply on HN