I don't think Airbnb has ever been "completely going all-in on React Native" or "completely dropping React Native", but people always seem to want it to be one or the other. The truth is it's almost always something in the middle.
114 karma · joined July 10, 2013
I don't think Airbnb has ever been "completely going all-in on React Native" or "completely dropping React Native", but people always seem to want it to be one or the other. The truth is it's almost always something in the middle.
This just isn't true. Airbnb is actively using React Native a lot and has not "stopped using it seriously". I'm not sure where you got this impression. Some people responding to this are mentioning the transition of the potential native-navigation library to react-community. This is a library that we never actually used in production, though the plan was to move off of our internal library to this one shortly after open sourcing it. Priorities shifted internally (to other, more pressing react-native related things that aren't OSS), and we have not yet been able to do that. Since the community really wanted to work on the library despite us not actively maintaining it, transitioning it to react-community seemed like a better thing to do than further fragment the community by having people fork it. I'm still hopeful that we will be able to migrate to it in the future.
Source: I am the tech lead of React Native infrastructure at Airbnb and the primary author of native-navigation.
A lot of people when they first learn about this project have a hard time understanding how it would be useful - so you're not alone!
I tweeted ([0]) about this briefly and thought I'd copy here for the benefit of readers in this thread:
> the wild thing about react-sketchapp is that we can now bootstrap designs with the actual code that powers the product we are designing
> it took me a little while to realize the paradigm shift. we normally think of the code / implementation as the end of the process
> this allows us to use production code not only for our production clients, but also for starting the next iteration
> react being decoupled from the underlying UI implementation unlocks a lot of possibilities. this is just one.
> we are starting to view our react components for our design language as not just an implementation, but as the specification itself
[0]: https://twitter.com/intelligibabble/status/856941689029640192(Note that you can do this _already_ with bodymovin on the web if you want to)
Various flows in the Airbnb app are built with React Native. Our recently launched "Experiences" platform is built mostly with React Native, and there are many flows in the app that are built with React Native. Overall it's probably about 10-20% of the app right now. The decision to use or not use React Native for a new feature is a function of what the team building the feature is familiar with, and whether or not we think we can deliver a good user experience with the technology or not. The answers to those questions are quickly evolving though as we build up more infrastructure around React Native, and as the familiarity with the platform grows.
> What has been your experience?
Generally positive, but the difficulty of integrating React Native into an existing mobile app with large existing native code bases should not be understated. It's not plug and play. I'm giving a talk about this in detail at React Conf in March. Make sure to check it out!
> If you were starting a mobile company now, would you start with RN ?
Yes.
Keep in mind that I was the main proponent of React Native being experimented with and adopted at Airbnb. As a result, I have some bias and other people at Airbnb might have different feelings / experiences.
I'm very interested in building the proper hooks natively to allow for usage with `useNativeDriver: true`. We are perfectly situated for this too, considering the author of the iOS side was also the engineer who introduced offloaded animations to React Native on the iOS side!
(Source: I made the Lottie RN bindings, and work on RN at Airbnb)
I will take another look at the signup process. While I want it to be quick, the onboarding process is important for people to customize their experience and find who they know, etc. Definitely needs to be quick and easy though.
Tech.pro is a niche social network for people in Tech, with a focus on content discovery and sharing. It's designed with blogging in mind, while also allowing users to share links, images, Q&A, micro-posts, etc.
Our main feed (the home page) is driven by a combination of the people you follow (your network) as well as the tags you follow (your interests). We've been working hard to make the platform work well for the broad range of interests that someone in the tech industry might have.
Inspiration for the site has come from many sites and communities that exist today including HN, Reddit, Facebook, Twitter, etc. but take unique aspects of each to make the best possible experience.
I'm eager to get any sort of feedback from the HN crowd. AMA
Some additional links:
- Register + Video: https://tech.pro/register
- Feed: http://tech.pro/
- Privacy Policy: http://tech.pro/privacy
- Blogging: http://tech.pro/blog/6173/getting-started-blogging-techpro
I've done it slightly different than you... rather than using `mergeDeep` in `this.setState`, I created some other methods such as `this.setStateAtPath(path, value)` and `this.mergeState` (the latter would use `mergeDeep`)
I'm going to submit a PR to allow for store mixins to be a little more 1st-class: https://github.com/kjda/ReactFlux/issues/4
If anyone is interested: https://github.com/kjda/ReactFlux
It's very similar, but I think I like how Actions and subscriptions to actions are handled with it better.
There was a post I wrote about doing something similar a little while back [1]
[1]: http://tech.pro/blog/2097/clever-way-to-demethodize-native-js-methodsOf course, they do have to land on mars, don't they? Isn't this roughly similar (and thus similarly as challenging) as earth re-entry?
Tech.pro is a blogging platform / professional network catered only to the tech world (primarily software development).
Our editor is markdown-based and handles code snippets etc. quite well in addition to having support for embedded frame sites such as jsfiddle/codepen/sqlfiddle/etc.
Although you're writing on the TP platform, you still retain full ownership of your data. You can even download a neatly organized archive of all your blogs (and revisions) in both Markdown and html format at any time.
My Blog: http://tech.pro/leland/blog My Profile: http://tech.pro/leland
I created my account around 2 yrs ago I think... maybe a little longer.
When I signed up, I remember the onboarding process being a bit similar in terms of requiring you to follow at least 5 people, except for me, the users it listed out were incredibly relevant.
It was to the point where I almost felt like my privacy had been breached. My understanding was that basically twitter looks at the IP address (or maybe it's with cookies?) of everyone viewing every page on the internet that has a twitter "tweet" button on it.
Since I read lots of blogs, articles, etc. around the web... twitter then had at the very least a starting point for the users that I would be interested in (based on the tweet buttons they put on their page).
Perhaps the code was different back then, but I remember the initial follow recommendations being really good.
As someone who uses twitter a fair amount, and barely uses facebook at all - this won't really work for me.
I know that the `:visited` exploit is handled by the browsers so that you can't figure out by javascript what is going on...
but what if you used just CSS to figure it out? For instance, what if you generated the CSS which had a unique image it requested via the `background-image` property, stored the data on the server, then just requested the data from the server after the fact?
Do the browsers prohibit the usage of url-based css properties on CSS selectors with `:visited` or something? Does anyone have a link/reference to how the exploits were patched up?
[article]: http://www.wired.com/2014/04/hospital-equipment-vulnerable/
[hn thread]: https://news.ycombinator.com/item?id=7684291
The ghosting ends up being a pretty big problem. We found some window cleaner (not windex) that does a pretty good job cleaning it, but the boards are getting more and more worn over time. Eventually I hope to replace them all...
I've ended up going a different route in my home office, and it's been quite successful.
Ikea sells these long and skinny white-colored glass. 63" x 19" for $32.00 USD.
http://www.ikea.com/us/en/catalog/products/80160645/
I have two of these mounted on the wall forming a pretty good-sized white board. It's a little bit weird with the seam in the middle, but it matters less than you'd think. The glass ends up looking WAY better and classier than the shower board would, and you don't have to worry about ghosting ever.
Also, for functions that do different things depending on how many arguments are passed in, you would never want to curry these. The curry function relies on the function passed in expecting a specific number of arguments.
Unless I'm not quite getting what you mean?
EDIT: I see that this would only happen if you passed in more arguments than expected, thus it wouldn't be a problem.
Very cool! I might update mine to work this way.