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.
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.
> 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.
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?
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.