Live data from Hacker News

React Native at Instagram

engineering.instagram.com

141–150 of 238 posts

Re: React Native at Instagram

#141
post #105

Earlier quoted context omitted.

Thanks for pointing that out, forgot my old site was still in the profile. What do you mean by feds? That's still a very confusing statement. Switched off of Xamarin about 8 months ago and haven't looked back. My organization had a ton of problems with Xamarin, without honestly that much gain at all. We still needed specific devs for Android and iOS. Sharing component and state code has been an absolute boon in produ…

Let me explain the "fed" thing. React Native's number one "feature" is that web developers are able to join in development, or even start a "native" app where it would not have been possible before due to no native development teams. In the web dev world, "fed" /front end developer/ is usually the term for the front end web developers - this is what I meant. (While iOS and Android is also front end, it seems "fed" is…

FWIW, I have worked in webdev for over a decade and have never seen front-end referred to casually as "fed".

Re: React Native at Instagram

#142

Earlier quoted context omitted.

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…

Instagram is the last group that would have problems hiring iOS and Android developers. I'm almost certain that's not the reason for the switch to React Native. The main reason to switch is that the user cannot tell the difference for their use case, and they get to iterate faster.

I'm not sure if this is still the case, but I remember hearing a year and a half ago or so that the Instagram team was still pretty small then. FB is pretty lean in terms of number of frontend devs - at that time I remember being told the number was ~250 or so, which has probably grown since then.

Re: React Native at Instagram

#143

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.

I had found that earlier, I wasn't sure if it was ready enough for production use. Glad to hear it worked for you!

Re: React Native at Instagram

#144

Earlier quoted context omitted.

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.

Good point! However I would assume any (smart) developer would be aware of this and does the research, as always when in foreign territory..

Re: React Native at Instagram

#145

Earlier quoted context omitted.

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…

Instagram is the last group that would have problems hiring iOS and Android developers. I'm almost certain that's not the reason for the switch to React Native. The main reason to switch is that the user cannot tell the difference for their use case, and they get to iterate faster.

Yeah it's certainly not the main reason. Perhaps just a nice side effect, but I don't think it's a negative one

Re: React Native at Instagram

#146
post #105

Earlier quoted context omitted.

Do I really deserve the "dude" treatment? Not sure how you developed with Xamarin, or how long ago, but it most definitely does not have worse toolchain development. Starting with a proper IDE, to compilation, to native-interop, to performance, to actual base library that exists. As a side note, it seems http://subvertapps.com is down.

Thanks for pointing that out, forgot my old site was still in the profile. What do you mean by feds? That's still a very confusing statement. Switched off of Xamarin about 8 months ago and haven't looked back. My organization had a ton of problems with Xamarin, without honestly that much gain at all. We still needed specific devs for Android and iOS. Sharing component and state code has been an absolute boon in produ…

We are using Xamarin for our mobile apps and around 90% of .NET code is shared between both platforms. The platform specific code is basically just UI related, which makes sense given the different approaches to some UI mechanics in iOS vs Android. Also leveraging the huge .NET Ecosystem which in general has quite high quality and superb tools for development and debugging is a big plus.

We are also starting to use .NET Core for Backend Microservices which would allow more code sharing and Backend devs could in theory chime in on the mobile codebase quite easily.

With all the cross compiling/ web assembly stuff going on it will probably soon be possible to use a .NET lib in JS frontend code as well.

I agree that RN is a good alternative to this if your team is very JS dev heavy and while i did a lot of nodeJS and Angular in my life, i just loathe the JS ecosystem of today.

Re: React Native at Instagram

#147

Call me old-fashioned, but I thought the Android/iOS code sharing nut was cracked: Business logic in C or C++ and UI in Objective-C (iOS) and Java (Android + NDK). As a bonus, you could bolt a desktop UI on top of the C++ as well.

It's certainly possible, but comes with a large number of its own issues:

- C++ is a way more complicated language with the manual memory management. C is way too low level for things like this.

- Complicated builds if you need to use a bunch of C++ libraries as dependencies.

- Much slower iteration.

- Complicated debugging.

- The need to either write (slow) or generate (constraining) the Java/ObjC bindings.

Then there are things like having to reconcile the lifetime of your C++ objects with the Android Activity/Fragment lifecycles, etc.

If I was faced with the decision of what technology to use for a set of typical mobile apps, I would definitely want to avoid the native C++ path if at all possible.

Re: React Native at Instagram

#148

Earlier quoted context omitted.

It's not that easy, and not just one field. DEX uses a method table, listing every method with an ID, and using in the rest of the file only that ID to refer to it. This ID is limited to 2 bytes. Obviously, thats an issue, but short of using varint or straightaway uint32 there's few alternatives. And those use either more CPU or memory.

So why can't Google create a new version of the dex format, update Android Studio to generate it, and update the store to accept and distribute it to new devices? Seems easy enough for Google to be able to do.

Because of their clever idea of not forcing OEMs to update devices, almost no one will get that.

Re: React Native at Instagram

#149

Earlier quoted context omitted.

It's not that easy, and not just one field. DEX uses a method table, listing every method with an ID, and using in the rest of the file only that ID to refer to it. This ID is limited to 2 bytes. Obviously, thats an issue, but short of using varint or straightaway uint32 there's few alternatives. And those use either more CPU or memory.

Thanks for the correction. Here's a transcript from the Android Developer podcast, courtesy of http://blog.osom.info/2014/10/multi-dex-to-rescue-from-infam... , talking about the issue with an Android engineer: >Tor: So [regarding] the infamous 64k method [issue].. I understand that it is a dex file format limitation.. which is a short integer. Do you have plans to address this somehow, by either change the dex forma…

Available on 0.x% of devices, thanks to them not forcing OEMs to update as part of Play Store contract.

Re: React Native at Instagram

#150

Call me old-fashioned, but I thought the Android/iOS code sharing nut was cracked: Business logic in C or C++ and UI in Objective-C (iOS) and Java (Android + NDK). As a bonus, you could bolt a desktop UI on top of the C++ as well.

That is my solution as well.

Although I am now eyeing on Xamarin, because I got tired of having to deal with JNI all the time.

Post reply on HN