Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You had a point with your first paragraph but fell flat with sentence one of your second paragraph.


JS->iOS is the way of the future, beacuse increasingly you can get to Javascript from any language. So for example, if your backend data system is built in Clojure you can get to Javascript via ClojureScript which is a Clojure->Javascript compiler. If you wanted to build a web application off your data model you could use your Clojure data model on the front-end, the final HTML produced is just some web rendering of that data model.

Traditionally if you wanted to build an iOS app off the data model, you would need to hire an iOS developer who knows XCode/Objective-C to build a separate application that communicates with your backend through some REST/JSON combination. But with React Native I can just take the ClojureScript components that I'm already rendering on web and give them alternative renderings that target iOS native, because it's all just Javascript/React, and build my app that way. It's much easier for the person who created the initial domain model to build native components in the exact same workflow without missing a beat. iOS native is just a rendering target for your Javascript component just like web is, and you can code it in any language that can get to Javascript.

In a sense you're just building one application, and making it work natively anywhere, instead of building multiple decoupled applications. I am literally betting my future on this being a better way to build mobile applications, I'm sure that it is. The biggest barrier to making it work is the staggered release cycles you need because of the app store approval stop gates, but hopefully that will get cleaned up in the next couple years.


I don't buy it. This is the same argument I've heard from Node.js proponents.

You'd be offloading your development and debugging to a third party tool that will always be staggered behind native development.

You'd be translating your code through a shitty javascript transpiler.

You'd end up hiring javascript programmers with little to no domain knowledge to make apps that feel less than native.

You'd end up having interface with the platform anyway, but through a JS shim.

You'd be putting all your eggs in one basket on a platform known for killing off its dependents. Apple doesn't like what React Native is doing to its ecosystem? You're shit out of luck when they pull you from their market.

Hire a competent person with the relevant experience instead of trying to shoehorn javascript into every problem domain. You'll end up hiring one anyway.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: