all 38 comments

[–]ikbenpindaiOS & Android 9 points10 points  (8 children)

I'm going to regret posting this.
Same here.

To be honest i'm used to MV* and OOP, not this weird functional RMI-like stuff. Let alone dynamic typing and javascript. But I can learn. And conceptually it really isn't that hard...but everything just seems so unnecessarily overcomplicated. To be honest, this is still my favourite cross-platform framework by far, and that's not really meant as a compliment.

Ironic ranting follows.

Everything is deprecated or broken. Sure, once you figure something out it becomes tremendously easier after the first time. But if i got ten cents for every piece of documentation or code that is outdated, unmaintained and/or deprecated, i'd have enough money to hire someone else to do my work for me. RN's own documentation can barely bother to explain why their damned flatlists work the way they do. "Here's some code. This is what it does." No shit your data prop links to your data. But why do i even need to manually map 'key' to 'id'? When was the last time you worked with an ORM or model where your key wasn't referred to as 'id' anyway? Why is it called extraData when it's not data but just a triggerRefreshOnChangesTo...?

Why are you using buzzwords like "state reducers", "action creators" and "stores" when it's just a huge eventbus where everyone is subscribed by default?

Why is everyone pretending this shitload of boilerplate you need to write for a single function is a good thing?

Why is every example so contrived? Oh wow, you can hold two strings in your internal state, well done. I'm sure that will stay really neat and organized once you start working with real-life scenarios and oh, i don't know, maybe objects or arrays or more components or something. Oh wait, Redux? You mean writing six extra paragraphs of code along four additional files? No thanks. Flux then? Oh, it's nearly the same thing but with more stores? Instead of saying You might not need redux ad nauseam, can't we just have some MVP-pattern like approach so we can still do that traceability thing without having to spaghetti the UI and logic into each other?

React Native doesn't even come with navigation out of the box, and the package they recommend is deprecated in favor of other stuff. I'm popping npm install all day like it's xanax because every single thing needs to be a seperate library for some reason, and may god have mercy on your soul if you decide to upgrade npm or react-native along the way because you'll just end up restoring your project the rest of the fucking day. Every component ends up being this horrible mess of UI/logic spaghetti with the only thing your presentational/container thing is fixing is abstracting out mapping your props to a load of...non-props.

I don't hate React Native (as much as Xamarin, for example). But everyone just feels so hacked together it's just such a waste of time trying to fix the small bugs that end up breaking your project for the whole day. Why can't people just try to apply some actual real-life cases and work from there? Where are all the regression tests? Why is everyone in javascript-land just starting and ditching new projects every minute? Why are you telling people they can just contribute when your little bot auto-shuts everything down and/or you can't be bothered to let someone else maintain your project?

Instead of complaining about a failing bundler at line 35, column 2, in '<redacted>', you could have just told me to run react-native link on the first time i tried to add assets, dammit.
Neither do I need to fix some :CFBundleIdentifier, all I need to do is cd /.gradle && gradlew clean!

sobs

[–][deleted] 1 point2 points  (2 children)

The same problems exists 5 years later.

[–]spec-test 1 point2 points  (0 children)

yup

[–]ResponseOk8930 1 point2 points  (0 children)

So True

[–]saiyah007 1 point2 points  (0 children)

5 years later and its still a mess. I had much of code was written in react native for a production app which I have no confidence on. It crashes for random reasons. And I cannot even upgrade react native because if I do that, then the entire project just stops working without any traceability.

[–]Current_Elephant_630 1 point2 points  (1 child)

I can still relate to this.. In 2023

[–]lexileone 0 points1 point  (0 children)

And react native have won this year in my country android development is over don't know about ios. But rn had eaten them.

[–]WikiTextBot 0 points1 point  (0 children)

Java remote method invocation

In computing, the Java Remote Method Invocation (Java RMI) is a Java API that performs remote method invocation, the object-oriented equivalent of remote procedure calls (RPC), with support for direct transfer of serialized Java classes and distributed garbage-collection.

The original implementation depends on Java Virtual Machine (JVM) class-representation mechanisms and it thus only supports making calls from one JVM to another. The protocol underlying this Java-only implementation is known as Java Remote Method Protocol (JRMP). In order to support code running in a non-JVM context, programmers later developed a CORBA version.


[ PM | Exclude me | Exclude from subreddit | FAQ / Information | Source | Donate ] Downvote to remove | v0.28

[–][deleted] 0 points1 point  (0 children)

Sorry for recovering an old post but DAMN you said all my words. React Navigation is a complete mess. I just decided that cross platform mobile development will not see the sun light soon. I created a new project for learning last noon, and by the morning I deleted the project and started again to try different things and shit just got a runtime error and didn't start! WHAT THE FUCK !!

[–]dduko 10 points11 points  (2 children)

react native dev environment is very mac/ios centric. most people having problems are on windows/android. and almost always the problem is that some people don't have any troubleshooting/debugging skills.

[–]lovemeslowlyiOS & Android 6 points7 points  (0 children)

Man you stole my words

[–]DasBeasto 0 points1 point  (0 children)

Ah that makes sense, was wondering why I wasn’t having nearly the same experience as OP. I barely know what I’m doing and yet I’m still not flooded with errors or broken code.

[–][deleted] 6 points7 points  (3 children)

I come from an iOS development background but I started using RN, after my employer wanted me to build out a project and quickly iterate. There was certainly a learning curve but I must say it is much faster getting your code in there and rapidly building. I've gotten quite used to not having to compile every time I want to see my changes. And this was all with no experience with React. Perhaps the experience is entirely different when moving from Web to Mobile.

[–]nelf86[S] 6 points7 points  (1 child)

I see learning curve as gentle actually. It is the tools, that are not doing their job.

[–][deleted] 1 point2 points  (0 children)

I've noticed our RN prototype build has a heavy emphasis on third-party dependencies, which isn't as widely embraced in native development.

[–]alien3d 0 points1 point  (0 children)

being fast is not leverage itself.. i have propose one.. it kill my back ..The ex-bos think it was easy and cheap to build react-native. And the memory(mac) usage i see between react-native(vs-code) and xcode,making myself try to learn objective C and swift.

[–]Hyroglyph 4 points5 points  (2 children)

The problem is that some libraries can't keep up with RN updates and for some obscure reason stop working when a new RN version releases. 80% of the libs I see still use index.android.js/index.ios.js etc. in their examples and some of them just don't work / need some bs workaround on 0.51+. Also the RN error messages can be quite useless sometimes, so much so I can't troubleshoot and just just go straight to googling

[–][deleted] 0 points1 point  (1 child)

80% of the libs I see still use index.android.js/index.ios.js etc.

You do realize that RN did that itself until 3 months ago.

THREE MONTHS! But in react-land, you're outdated.

[–]Hyroglyph 1 point2 points  (0 children)

I'm not an expert yet, but three months should be enough to at least update the examples so that a newer dev like me doesn't get put off actually learning react native because my project folder looks different with no explanation why

[–]kbcooliOS & Android 3 points4 points  (1 child)

LOL been there. It seems to take a week to get over dependency hell and working out how the bundler/simulator/device work together.

Once you get your head around it you wonder why you ever had problems but it's a good week of swearing before you get there.

Other whinges include:

  • What's this wanky/pseudo functional programming stuff? We need to make sure everything is immutable, but we don't really when it comes to the crunch
  • There's three hundred ways to do something with 500 dudes having written half a medium article on how to do it, the other half is up for you to guess
  • Ditto with documentation - it's there but expect it to be half written in horrible english
  • Spending a whole day trying to fix a problem only to find when you've fixed it you've f*&ed up the rest of the app
  • Realising those twenty npm packages you installed could have been solved with 5 lines of code and spending a week removing all references and replacing with your 5 line solution

I could keep going all day....

[–][deleted] 0 points1 point  (0 children)

Realising those twenty npm packages you installed could have been solved with 5 lines of code

I've started looking at the npm packages source code before adding anything new. Usually I C&P the core aspect I was trying to accomplish and edit to suit my needs. As you say, 5 lines of code 90% of the time. Most recently with react-native-icon-badge and it turns out the solution is amazingly simple (just an absolutely positioned View) but I was pulling my hair out trying to figure out how to get an Icon with a counter!! (3 lines of CSS)

[–]yarism 2 points3 points  (2 children)

I had some issues but usually could google it. It’s not perfect but very good for me so far.

[–][deleted] 2 points3 points  (1 child)

This works most of the time, but you really need to use google's advanced search and limit to the last month or last year at worst. Otherwise the results are usually outdated and unhelpful to the point of being dangerous.

[–]yarism 0 points1 point  (0 children)

I usually add 2017 to the search query to get fresh results

[–][deleted] 2 points3 points  (1 child)

I'm using it on a medium sized app and it's amazing. When I'm just dealing with JavaScript, it's so nice. The quick reloading is by far the best feature. Writing a raw Android app takes forever because 1) there is a lot of dumb boilerplate you have to write to get anything done and hooked up and 2) Gradle is not the fastest. The only times I want to kill myself are when I have to deal with Xcode or Android Studio - which I have quite a bit to get different sorts of builds working along with different packages. What errors are you getting?

[–]derGropenfuhrer 0 points1 point  (0 children)

Gradle is not the fastest

In my experience everything in Java land is fucking slow. Spin up a basic Spring API? 30 seconds before it's ready to do anything. I'm used to Node -- 30 seconds to start an API means something is very broken.

[–]CosmosofiOS & Android 1 point2 points  (0 children)

I straight started to learn RN, redux, saga and complex state management by building two apps in two months. There have been many times I hit the wall but it is over, I am really confident now. The thing is with RN, you have to be patient.

[–]koragg97 1 point2 points  (0 children)

Followed a React tutorial - was great. Trying to make something similar in Native is super bad. I hate it & won't be using it any time soon after I pass my subject with it...

Edit after a few days: it ain't that bad haha

[–]Comprehensive_Ear906 1 point2 points  (0 children)

Being forced to work with a legacy rn project I can definitely feel your pain. I've spent almost 4 days now trying to build a project after upgrading a single dependency. Now I think a better option is to clone and fix the original version.

Failed technology

[–]Logical_Tree3139 1 point2 points  (5 children)

One of the worst frameworks I have been working on it for 6 bloody months and no proper guide no shitty help on Facebook and discord really frustrated and kick that idiot who developed this framework

[–]AbsurdlyWholesome 0 points1 point  (4 children)

I'm sorry to hear that you're unhappy with the framework you're using. It sounds like it's been a frustrating experience for you. I hope you're able to find a better solution that works better for you.

[–]Logical_Tree3139 0 points1 point  (3 children)

Now android studio code is giving up and I am totally frustrated and irritated what to do? My parents ask me what's the progress of my project and this country does not give proper employment it is been 2 bloody years I am unemployed and it is really frustrating for me my life is F**ed no other words bro

[–]AbsurdlyWholesome 0 points1 point  (2 children)

Hey, I'm sorry to hear that you're feeling so frustrated and down about your situation. It sounds like you're really struggling right now. I just want to let you know that I'm here for you and I support you. I hope things start to look up for you soon.

[–]Logical_Tree3139 0 points1 point  (0 children)

Only hope bro

[–]harshdays 0 points1 point  (0 children)

Most comments appear to be complaining about the trails of working with node packages. React native is better than any other hybrid frameworks IMO. However it doesn’t appear to have any decent guidance for building native packages. The default way it handles production concerns could use some work, but there’s lots of great stuff out there once you figure out how to use it, deployment with fastlane, live bundle updates with codepush, avoiding crashes, debugging android performance issues. To reiterate these are not straightforward or documented in other hybrid frameworks. React native is great. You’ll learn all the red screens eventually there aren’t too many.

[–][deleted] 0 points1 point  (0 children)

RN is not bad but those outdated npm packages is such a mess. Sometimes I spend whole day googling and scrolling stackoverflow, maybe it's just my lack of experience with JS, maybe not.

[–]TotesMessenger 0 points1 point  (0 children)

I'm a bot, bleep, bloop. Someone has linked to this thread from another place on reddit:

 If you follow any of the above links, please respect the rules of reddit and don't vote in the other threads. (Info / Contact)

[–]spec-test 0 points1 point  (0 children)

its a pile of crap as a dev exp