Live data from Hacker News

What do you dislike about React Native?

github.com

51–60 of 62 posts

Re: What do you dislike about React Native?

#51
post #48

I will probably be heavily downvoted but here goes nothing. I have not used React Native yet, but I followed and was heavily invested in the "write once deploy anywhere" trend between 2009 - 2014. From phonegap (before it became cordova), to Adobe Air with it's bad performance and "native extensions", to Appcelerator Titanium that put a nodejs server in your phone and even had Windows Phone 7 support, to cordova, to…

> I do not understand why web developers have such a knee jerk reaction to native development. So this is a one-off anecdote, but my experience with my teammates at work is that it's not so much an objection to native development, but an objection to having to learn more. Over half took a bootcamp-style class for web development after having never done any programming before, and managed to get hired. Their current s…

I think you might be right, based on my experience anyway. Especially regarding the last paragraph.

Nothing against bootcampers per se, but I remember my university lecturers telling us this isn’t accounting, you’ll be learning for life. They didn’t tell us to get out of the class if we’re not up for it, they just set the expectation.

Even despite this, 5 years later I got a harsh reminder after other life factors getting in the way, and for about 2 years I stopped doing any extra curricular learning at all. It took me 1-2 years after that to pick up the pieces. Never again until I retire. You just can’t afford to not “want” to continually learn in this industry.

Re: What do you dislike about React Native?

#52

Earlier quoted context omitted.

There are no equivalents to electron. You either use a browser, or you get stuck in someone else's lacking UI, like qt. Electron just works, and that's why it's everywhere.

I agree with you that on desktop the situation is a bit different. I 've only played around with UI on OSX, and for some reason it is way harder than native ui on ios (old NextStep api vs UI api). Fonts are handled differently. The coordinate system is different (starting from the bottom left corner if I remember correctly). Coding for multiple screens; like tracking pointer position on windows on different screens i…

Native UI is nice for system dialogs and programs associated with the system in some manner. I wouldn't want a harddrive formatting software to be using some transitioney css+js.

But I would want my media player, or chat application, or something that's meant to be a media-based experience to be well presented.

Re: What do you dislike about React Native?

#53

I will probably be heavily downvoted but here goes nothing. I have not used React Native yet, but I followed and was heavily invested in the "write once deploy anywhere" trend between 2009 - 2014. From phonegap (before it became cordova), to Adobe Air with it's bad performance and "native extensions", to Appcelerator Titanium that put a nodejs server in your phone and even had Windows Phone 7 support, to cordova, to…

Everyone intrinsically understands that native is better, and I'm saying this as somebody who runs a 120k LoC Electron app ( https://getaether.net ) myself. I'm painfully aware that native is better, all day, every day. The problem is this: I'm a solo founder. I am both the engineer and designer (and PM). The alternative for me would be not to write a Mac app, a Windows app, and a Linux app separately, and have them…

> The alternative would be for Aether to not exist.

Do you really think the only options are to target all platforms or none? There's nothing wrong with being platform specific and building other clients later, if you were specifically building an MVP then this would be the minimum.

Re: What do you dislike about React Native?

#54
post #53

Earlier quoted context omitted.

Everyone intrinsically understands that native is better, and I'm saying this as somebody who runs a 120k LoC Electron app ( https://getaether.net ) myself. I'm painfully aware that native is better, all day, every day. The problem is this: I'm a solo founder. I am both the engineer and designer (and PM). The alternative for me would be not to write a Mac app, a Windows app, and a Linux app separately, and have them…

> The alternative would be for Aether to not exist. Do you really think the only options are to target all platforms or none? There's nothing wrong with being platform specific and building other clients later, if you were specifically building an MVP then this would be the minimum.

You’re already limiting yourself by being desktop only, which I have to for the time being, because of its P2P nature. At that point, you don’t get to choose what to support.

Re: What do you dislike about React Native?

#55

Earlier quoted context omitted.

Qt actually performs better than Electron and works everywhere and

Seconded this. The downside is you have to use C++ to beat Javascript performance. You can use Python of course but it is kinda slow.

The first version of Aether was in fact just that, Qt + Python. The performance was abysmal.

Re: What do you dislike about React Native?

#56
post #46

Earlier quoted context omitted.

What you want is cross-platform: - Web (IE, Safari, Firefox, Chrome, and older versions of those browsers) - Web responsive (When you access it from small screens or access the web from your phone's browser) - Android (old devices to recent ones) - iOS (old devices to recent ones) - And, eventually, get to a desktop app, ideally on windows, mac and linux. Say you're the tech lead and you need to make a decision about…

The fact is, only very rarely are you in a team of 2-3 devs and you need to support ALL of these platforms. If that’s the case for a small startup, serious strategic errors and lack of focus is being made by the founders! Even Instagram didn’t even have an Android app until they were acquired, and then it still took them another couple of years to support web. Their focus was their success.

To be fair, Instagram didn’t have an Android app a long while ago. The Android market & demographic has changed a lot since, with high-end Android phones sporting great screens, cameras and costing nearly as much as the iPhone.

An Instagram launching today would see much greater pressure to be on Android sooner rather than later.

Re: What do you dislike about React Native?

#57

I will probably be heavily downvoted but here goes nothing. I have not used React Native yet, but I followed and was heavily invested in the "write once deploy anywhere" trend between 2009 - 2014. From phonegap (before it became cordova), to Adobe Air with it's bad performance and "native extensions", to Appcelerator Titanium that put a nodejs server in your phone and even had Windows Phone 7 support, to cordova, to…

it's worth reading up on what react-native is. it isn't "write once deploy anywhere," but rather "learn once, write anywhere." in essence it allows us to enjoy the fairly transformative one way state driven view paradigm (think functional) to write apps. that is the magical part of it - the one language multiple platforms aspect is a tertiary consideration in my opinion. the pleasure comes from an environment where c…

What you describe though are good software practises in general, not exclusive to react. I don’t blame you for thinking this though, because I hear this a lot, it’s not just you.

I’ve been building in react for a year after working in iOS and Android. Something like a tree structure capturing all of the view components is available right out of Xcode. Another example: time saved compiling is mitigated by time spent debugging, trying to find the source of exceptions etc is a mystery box and a huge time suck.

What I think is happening is that most Javascript and react developers have spent time only in one domain. So they make a lot of assumptions that all of these advantages of react are exclusive to the paradigm and platform, when that’s not true at all.

Re: What do you dislike about React Native?

#58

I will probably be heavily downvoted but here goes nothing. I have not used React Native yet, but I followed and was heavily invested in the "write once deploy anywhere" trend between 2009 - 2014. From phonegap (before it became cordova), to Adobe Air with it's bad performance and "native extensions", to Appcelerator Titanium that put a nodejs server in your phone and even had Windows Phone 7 support, to cordova, to…

As someone that has done native and react native development this is far from true. Laying out views in react native using flex is 1000 times easier than anything iOS/Android has. Also you get to reload your code almost instantly to test changes in react native Creating a UITableView compared to FlatList in code is way easier. And don't get me started with the Android Activity/Fragments lifecycle methods mess. Android Studio and Xcode sucks both in different ways.

Even if it was the same effort to do these things in native it's stupid that in 2018 we have to implement basically the same things using 2 very different languages and tools. It's just sad to see the actual state of native development right now.

Sure performance is still a lot off than native but is enough most of the time. The complains I have about React native is that with version 0.56 they did lots of breaking changes that meant I am stuck for now with 0.55, the performance has much room for improvement and the quality of many modules are subpar. But I am hopeful that with the fabric rewrite things change.

Re: What do you dislike about React Native?

#59
post #46

Earlier quoted context omitted.

What you want is cross-platform: - Web (IE, Safari, Firefox, Chrome, and older versions of those browsers) - Web responsive (When you access it from small screens or access the web from your phone's browser) - Android (old devices to recent ones) - iOS (old devices to recent ones) - And, eventually, get to a desktop app, ideally on windows, mac and linux. Say you're the tech lead and you need to make a decision about…

The fact is, only very rarely are you in a team of 2-3 devs and you need to support ALL of these platforms. If that’s the case for a small startup, serious strategic errors and lack of focus is being made by the founders! Even Instagram didn’t even have an Android app until they were acquired, and then it still took them another couple of years to support web. Their focus was their success.

Depends on what you're building. But sure, if you can remove the "cross-platform" spec. and say just build a desktop app on Linux, use whatever suits your boat.

Personally, I find it amazing to have one engineer builds a feature end-to-end from the server to the web/mobile devices by using the same language and re-using 90% of the code across all the clients.

Re: What do you dislike about React Native?

#60

You can develop native apps in languages that range from ok, to really good (Java -> Swift). Javascript is a terrible language for many reasons (lack of a decent standard lib, weak typing, foot guns galore, psychotic build pipeline and tooling...). React Native encourages more JS development so I dislike it for that reason.

Thanks for "foot guns". Have never heard it but like it!
Post reply on HN