I don't really want to call myself an iOS developer. I just want to port a simple web app to iOS, and my options are learning just enough iOS development to do it myself, or hiring a real iOS developer. So I'm curious if this framework would tip the scale in favor of the first option.
Saying this, I have no real idea how abstracted react native is from normal IOS dev, so maybe it wouldn't be as helpful as, say, learning python and django at the same time.
You don't even have to dive into React (which has its own unique way that I'd call barely JS anymore).
Have you tried Cordova / Phonegap?
Eh, I assume you're referring to the JSX syntax. I happily don't use it at all. It's all just JavaScript functions and objects.
But even the pure JS method. I shouldn't have said "barely JS anymore".
I'm just not a huge fan of apps built entirely in JS that spit out markup. I find it so messy personally, but also a giant brain shift too.
The commenter I was replying to wanted a way to take a web site and get it to run as an app. HTML, CSS, JS -- Cordova / Phonegap is one way to do it that requires very little rewriting of your code. At least compared to taking a HTML/CSS/JS web app and rewriting it in React.
Granted, I am no React expert and plan to give it more time soon. But at the 30k ft view, it's simpler to port your app that's already built by using Cordova. If you're going to rewrite anyway, sure, use React Native if you're already a strong JS programmer.
Compared to more complex frameworks, React hems closely to JavaScript as a language. I enjoy working with it because it lets me write entirely in JavaScript without any weird template languages or typical framework "bloat." In my experience, it helps me write readable and correct frontend code.
Random tangent: sometimes I imagine that React would have another name—say, something dull like "libdomdiff." The JavaScript world for some reason seems to operate by making everything into a fancy big deal; every library needs its own conferences and consultancies. I feel like being a "React expert" is kind of overrated. It's basically just a library with like a dozen functions.
But you're right too that it is a different way of writing apps. I hope your experiences with it will be as positive as mine!
I totally agree with you, but does it matter in the grand scheme of things? Look at web developers that only know frameworks. They may only know jQuery or only know Rails, but if they're still getting shit done, does it ultimately matter? There may come a day where that developer is required to go deeper than the lib/framework allows and they may be exposed or may be forced to learn more or they may drown because they never learned to swim.
This is interesting to me because it brings up the question of how important is mastery when there are deadlines?
Dragging and dropping all the time is cumbersome and it is impossible to version control storyboards in any meaningful way. Dragging lines to outlets is a real pain, and the references stick around after you delete stuff, causing countless infuriating runtime crashes.
Most things that you would like to do can only be accomplished with goofy hacks.
Long thread of 50loc+ answers to something that would be accomplished with one line of CSS: http://stackoverflow.com/questions/19226965/how-to-hide-ios7...
Like Facebook's Groups app and Ads Manager app, which both use React Native?
Also ask yourself a question, do you really think you can call yourself an iOS developer when the only way you truly know how to create apps is with React?