Live data from Hacker News

React Native at Instagram

engineering.instagram.com

131–140 of 238 posts

Re: React Native at Instagram

#131

Earlier quoted context omitted.

FYI Tab Bars are now recommended by Google for Android as well http://www.androidauthority.com/bottom-navigation-material-d... There is a lot of data that shows hamburger menus create big discoverability issues and Google highly discourages uses them now. So if anything the general layout of an iOS app would meet the latest Android Design Guidelines quite well. There may be certain "iOSy" things left like very blurry…

I think the main issue is that since the Android guidelines have changed so many times in a short period of time, it makes it very confusing to follow the latest ones. Add on top of that even Google's own apps fail at following some of the most established Material Design guidelines, it is very difficult to have proper examples to look at when trying to design an Android app.

That's very true Google has never been as disciplined when it comes to design guidelines. But aside from purity to specific guidelines there is a lot of data that show hamburger menus are death for discoverability of whatever is tucked away in them. Google has been slowly moving away from that direction for years first with the removal of the hardware menu button. As far as tabs go, having tabs, and on the bottom, is tremendously helpful especially on larger screen devices. All things Apple has likely known all along and hence their original design guidelines that Google seems to be adopting more and more of over time.

Re: React Native at Instagram

#132
Has anyone tried using the React Native plugin for Windows [1] in a non-trivial app yet? I'd love to hear what experiences people have had with it, and if there's anything to watch out for coming from the RN Android/iOS camps. Any open source apps that makes use of React Native for Windows that you can point me to would be super helpful as well.

[1] https://github.com/ReactWindows/react-native-windows

Re: React Native at Instagram

#133

@martinbigio here in case anyone has questions

Probably OT but a bug that's been driving me crazy for a while now. When I open Instagram it reloads the feed every time as if the app had been purged from memory. This means if I accidentally close the app and reopen it my scroll position is lost and thanks to the sort algorithm the feed order has changed and I can't get back to where I was.

huge pet peeve of mine too, it just started happening a few months ago. hope he responds to this.

Re: React Native at Instagram

#134
post #69

So I see they have a lot of code reuse between RN iOS and RN Android. How much, if any, code reuse can there be between React Native and React (proper)?

You can't re-use the UI portion but all the business logic, API calls, stores, socket connections, etc... For Sleeperbot it's 50% code-sharing between desktop / mobile, and then 95% between iOS & Android.

Thank you!

Re: React Native at Instagram

#135
post #111
post #96

Earlier quoted context omitted.

Thanks for this. The thing that captured my interest was the point about being backed by Facebook. Parse was backed by Facebook and look where it is now.

I don't think Facebook backing Parse is relevant. React Native was designed by Facebook, so I'm assuming they understood the design choices of the mobile ecosystem at the time. Parse was an acquisition by Facebook that didn't end up working out.

I'll add that we use RN in our production apps and are building it for ourselves but never used Parse in the same way.

Re: React Native at Instagram

#136
post #9

Earlier quoted context omitted.

Same here. Something about a debug error.

That is the one thing that is difficult in React Native, getting rid of those debug errors. Sometimes they don't make enough sense to know what they are. But we google are way out of them. Sometimes they're related to a compatibility issues, and communication issues between Objective C and RN.

I would not expect any of these error messages to show up in a production build unless it was misconfigured (which it unfortunately sounds like the Instagram build was based on these reports).

Re: React Native at Instagram

#137

Did this change occur recently? I've noticed in the past 3-4 months Instagram has become a lot slower. To be fair, it's started to gain some speed in the past month, but I'd be interested to see how this increase in latency coincided with the migration to React Native.

When teams at Facebook roll out features or rewrites like this, they almost always monitor performance metrics so I'm comfortable claiming that React Native is unlikely to be responsible for slowness you've seen recently.

Re: React Native at Instagram

#138

React and React Native are pretty great pieces of tech, hopefully the ClojureScript story for them continues to improve. When I need to make a mobile app again I can't think of a reason I'd write it in Java/Swift.

The story is already quite good (having shipped a production app myself and maintained it for 6+ months). Checkout re-natal for a good template to start.

Re: React Native at Instagram

#139

They probably traded a really nice iOS codebase that had been maintained and improved upon for something that is going to end up with tons of special cases for when the UI is running on iOS/Android etc and make it incredibly difficult to test, reason about. Instead of improving the code on each respective platform, you end up with an inbred red-headed step child that shares the limitations and thorns of each, all smu…

I would guess one reason for Instagram to go the RN route is simply easier hiring. For every really good iOS/Android developer, there are probably 10 really good web developers that easily can pick up RN. As a web developer myself, it's a full time job to keep up with the JS ecosystem alone. I tried learning ObjC a few years back but gave up because of limited time, weird syntax and very slow feedback loop. Now I am…

The thing is that any good iOS/Android developer will know the platform they are working on while good web developer may have no idea what native SDKs offer and end up reinventing the wheel, badly.
Post reply on HN