5 ms·
If you're learning iOS development, stick to learning iOS development. A framework, no matter how cool and neat it is, will not replace pure iOS development for
by joslin01 12y ago
If you're learning iOS development, stick to learning iOS development. A framework, no matter how cool and neat it is, will not replace pure iOS development for serious apps.
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?
- arasmussen 12y ago> for serious apps Like Facebook's Groups app and Ads Manager app, which both use React Native?
- picardo 12y agoReact Native is only the view layer. There is a ton more to an app than just the view layer.
- aikah 12y agoHow much code is React Native and how much code is hand written Objective-C ? can you answer that question ? "Use" doesn't mean 100% without a single line of Objective-C written.
- evv 12y agoGroups is a mix of native code and React Native, but Ads Manager is pure react native. The app is completely written in Javascript.
- empthought 12y agoNo, like GarageBand, OmniFocus, Keynote, or hell even iBooks.
- woah 12y agoWhat is it about the "seriousness" of an app that would demand Apple's crappy interface builder?
- joslin01 12y agoHaha crappy. Hard to take anything you say seriously if you really believe that.
- woah 12y agoIt's pretty bad. It works well for very basic vanilla example apps that have certain patterns. But for even very small real-world apps, you end up having to call a bunch of stupid imperative methods on viewDidLoad. It's a joke. The patching that you have to do with imperative code is not visible in the interface builder and so you end up with a bunch of empty looking storyboards a lot of the time. 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-uinavigationbar-1px-bottom-line http://stackoverflow.com/questions/19226965/how-to-hide-ios7...
- freyr 12y ago> do you really think you can call yourself an iOS developer when... 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.
- thebouv 12y agoSounds like you've answered this yourself. 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?
- mbrock 12y ago"You don't even have to dive into React (which has its own unique way that I'd call barely JS anymore)." 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.
- thebouv 12y agoYes, the JSX is "weird" to me. 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.
- mbrock 12y agoSure, that's reasonable. If you already have a site and want to run it with native features quickly, Cordova is an excellent choice. That goes even if your site is already built on React. 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!
- emehrkay 12y ago> 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? 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?