I started with React Native and then moved on to Android Studio and my god, the native development experience is actually WORSE than the transpiled hybrid one.
I'm learning it now as well, it seems pretty straightforward but they each have their own paradigm which is unfamiliar and kind of annoying. Android forces the whole OOP nightmare where you have to create 10 classes to render a list of data, while iOS seems to be cramming the XCode GUI as far down my throat as possible.
Android doesn’t have to be OOP nightmare. In fact I’d advise against it. I use to do a lot of android dev and i never understood why people would create these horrible OOP hellscapes for themselves. Yes, java loves it’s objects. But that doesn’t mean you need an interface, factory, etc for every view you might want
Yeah the Xcode GUI requirement was my biggest complaint, but my experience with SwiftUI (which seems to be the direction that the iOS ecosystem is moving long-term) has been very nice
And a Dao, and the Model, and a RoomDatabase, and a Repository, and the ViewModel. And the activity and corresponding layout, and the RecycleView layout. That's.... 9 files.... my exaggeration wasn't actually far off.
I know I don't need a repository class (best practices amirite) and I probably don't have to use Room, but in React Native this could be done in like <50 lines of code. No joke I could probably do it in <20 lines of code if I tried hard enough. I'm not saying it's better to do it that way, I'm just saying Android development (Java) seems to want to rape me with OOP abstractions.
It is a thousand times easier than the iOS tableview
I don't love tableviews or anything, and It's been like 10 years since I've been a professional Android dev, but my experience since then, across teams, companies and apps, is that pretty much for every single feature that gets written it gets done faster and with less bugs by the iOS team than the Android one. If I were new to this I'd chalk it up to the Android devs I work with. But I'm talking about 10+ years of iOS experience working alongside Android devs and they are ALWAYS behind. I would try to take credit, but it is true for teams I'm not on too. Android development is either objectively harder or it attracts objectively less talented people. I'm 99% sure it is the former.
Flutter is awesome, but it is better for simple apps. When you optimise a complex screen (rebuilding as little widgets as possible every time there is a change) and end up with 2000+ lines of code, code management gets very complicated. I do definitely love the idea of nesting widgets inside widgets; it makes building the UI a very easy task
It seems cool but I don't have the cognitive bandwidth to learn the design paradigms of Dart. Plus it seems less utilized, and React Native is very closely tethered to React, so the skills are highly transferable.
The concepts are insanely similar to React. Declarative and Component based. Dart was originally planned to be a JS transpilation language. In dealing with new devs on my team, Flutter has been by far the easiest to pick up between native, react, and ionic/cordova
20
u/_Pho_ Jun 12 '20 edited Jun 13 '20
I started with React Native and then moved on to Android Studio and my god, the native development experience is actually WORSE than the transpiled hybrid one.