Hacker News new | past | comments | ask | show | jobs | submit login
[flagged] How Facebook’s React Native Will Change Mobile Apps (techcrunch.com)
24 points by xngzng on April 20, 2015 | hide | past | favorite | 12 comments



They sort of disclose it, but the author of the article is also CEO of:

https://www.fusetools.com/

Which is seriously banking on cross platform development. I find this article to be dishonest at best.

------

More to the point, I hate this idea that Javascript and HTML can/should be used everywhere. Why? What about them is good? That they're easy? For who? N00bs?

I find writing apps for the browser to be incredibly obnoxious because of competing APIs, absolutely mysterious memory management, and a lack of standards. I started my programming life making my UIs with web technologies and I can say after having done native programming-- I never want to go back. It's actually easier (for me), and less buggy, to produce native applications that are networked.

I find the combination of CSS, HTML, and Javascript to be a disconnected burden. I find the plethora of competing frameworks all achieving the same thing to be a burden. Javascript is a alright language, I certainly don't hate it, but I just don't see any reason to use it when I have alternatives available...

Lastly, as others have pointed out this does nothing for helping you learn the APIs (which is the hard part). In the end, to understand the APIs you're going to have to learn some of the language anyway-- before you know it, you're just writing native code because it's easier.


"I find the combination of CSS, HTML, and Javascript to be a disconnected burden"

React Native doesn't use CSS or HTML

"I just don't see any reason to use (Javascript)"

If you need a web app and you want to share business logic between your web app and your native clients, then Javascript (or a compile-to-Javascript language, with the corresponding trade-offs) are your only options.


"Many of them [JavaScript developers] have dreaded the day they’d finally need to learn the more complicated Objective-C, Swift and Java languages"

Learning the languages (syntax) was never the difficult part. Learning the frameworks was. And React Native doesn't solve that.


Absolutely true.

As a point of comparison, it seems to me that some people feel let down by Swift because it didn't suddenly make iOS programming easy... But a programming language can't do that on its own, when the UI framework remains the same.


At least for me the issue isn't Objc or Swift. I like Objc and have known it a long time; Swift seems a bit half-baked currently but still I like some of the ideas there. I find this attractive because of React-style programming (setting state renders UI components), the ability to easily style widgets, and the short feedback loop, while retaining the ability to write a native app. OK, I'll admit I prefer to write JS than those other languages, but it's not the biggest part.

I have concerns about wrapping native widgets/objects to use in JS-land, I wonder what limitations that will incur. But overall I think there is a lot to be said for this idea and I find it pretty exciting.


So you write the business logic and layout in Javascript, but the platform's native GUI elements are used.

That's what a web browser does. Is this basically a mini-browser that looks like an "app"?


> Is this basically a mini-browser that looks like an "app"?

React native combines native UI widgets, gaining the performance and polish that those toolkits have in delivering a polished iOS or Android look and feel.

If react native were merely a wrapper around the embedded WebUI widget, you're re-implementing these UI widgets with HTML, CSS and JS. You have the performance and web standards limitations of the platforms Web UI widget.

In a way React Native is an improvement to developer workflow, bring the speed of iterating on webapps to native mobile projects. Unlike phonegap, it avoids the semantics of the web and targets platform specific APIs and UI guidelines.


The issue with a pure HTML-based UI has more to do with the DOM. UI architectures like React get a lot of mileage from asynchronous models.

However, the HTML DOM does not have the most flexible API. The API itself is structured around document manipulation. It's synchronous, and puts some limitations on how you structure UI changes. This is one of the reasons React did the whole shadow-DOM thing.

React Native essentially lets the React devs build a UI API that fits directly with their framework. It's something we can learn from and use to modify DOM APIs to serve as better UI abstractions.


> Is this basically a mini-browser that looks like an "app"?

No? I don't understand why you're abstractly positing something that a web browser does so that you can compare this to a browser.

Browsers also display text & images, is UIKit a web browser? No, it isn't.


This was obviously written by someone who doesn't understand the "React" part of React Native.

Can someone downvote this or get this garbage out of the feed. It's stupid that it is even listed. Unless it's there to be made fun of as an example of bad journalism?


For those of us who don't know React, what is the key misconception/misinformation here, which would allow us to recognize similar articles as stupid?


Care to elaborate?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: