TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Introducing React Native [video]

542 pointsby arasmussenover 10 years ago

42 comments

iLochover 10 years ago
I&#x27;m part of the group that thought &quot;what the hell?&quot; when I first saw the React syntax - but seeing this has completely changed my mind and I&#x27;m really looking forward to picking up React as soon as possible.<p>If this delivers on its promises (no reason to assume it won&#x27;t, seeing as it&#x27;s already being used in large apps) then it&#x27;s going to change the mobile development landscape.<p>It sounded like they may even be hinting at in-browser testing the way they were knocking on provisioning profiles and perhaps maybe even some sort of live-reload development tool? I&#x27;m really interested in seeing what kind of tools Facebook will make available along side the core React Native project. Mind you, this is a huge gift even if they don&#x27;t have any fancy tools to go along with it.<p>Really excited, thanks FBOS team.
评论 #8965541 未加载
评论 #8966976 未加载
评论 #8964978 未加载
评论 #8965107 未加载
评论 #8972922 未加载
评论 #8970520 未加载
cromwellianover 10 years ago
We just demoed something similar at the GWTCreate conference, an Angular-like library called Singular (<a href="http://daniel-kurka.de/talks/gwtcreate15/singular.pdf" rel="nofollow">http:&#x2F;&#x2F;daniel-kurka.de&#x2F;talks&#x2F;gwtcreate15&#x2F;singular.pdf</a>)<p>It differs in that it uses the same techniques as Google Inbox to run native code. We cross compile to Objective-C with j2objc, and cross-compile to JS via GWT, the data binding, controllers, are shared code on all platforms that run full speed native, while the UI templating language on each platform is platform native (e.g. angular directives directly in Android XML files)<p>It produces completely platform-impedance matched apps on each platform (e.g. native on mobile, JS on Web) while allowing the continued use of the regular UI design toolchains people are used to (Android Studio&#x2F;Xcode Interface Builder)
评论 #8968276 未加载
评论 #8965305 未加载
评论 #8966570 未加载
bobajeffover 10 years ago
I wish they&#x27;d go into more detail on why they can&#x27;t make an app like paper in the browser environment. They mentioned something about Web Workers being crippled and later on explained how their framework puts JavaScript in it&#x27;s own thread by default.<p>I&#x27;m also wondering why in their experience no one ever comes close to native widgets when imitating them in a Web apps.
评论 #8964533 未加载
评论 #8964572 未加载
评论 #8964605 未加载
评论 #8964528 未加载
评论 #8964575 未加载
评论 #8968420 未加载
评论 #8965267 未加载
briandearover 10 years ago
So I have a simple question; how is this better than Swift or Objective C? It seems like Facebook has done everything in its power to avoid writing Objective C. I am also interested to know if this is what powers the current 1.7 star rated Facebook app. I am just having a hard time understanding how Facebook has earned much credibility with their mobile efforts. Also, how is this different or better than Ruby Motion? I just don&#x27;t get it. We&#x27;ve had a lot of these fake native solutions but how does it work with existing Cocoa libraries, etc. I think the bigger question is why? Is Facebook allergic to actually writing Java ObC or Swift? Before the downvotes, consider the history and track record and quality of Facebook on mobile. I honestly don&#x27;t know the answers to the above questions (they aren&#x27;t completely rhetorical.)
themgtover 10 years ago
Well, my money is on this (concept if not implementation) being the future of client-side development. Absent horrific performance&#x2F;robustness problems, which seem pretty unlikely from this team, this is sounding like the droids we were looking for, the holy grail ring to unite us all, web and native.<p>And did even Steve Yegge ever see this next big language coming?
评论 #8964689 未加载
jessepover 10 years ago
Here&#x27;s the moment in the video where it&#x27;s announced: <a href="https://www.youtube.com/watch?v=KVZ-P-ZI6W4#t=1341" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=KVZ-P-ZI6W4#t=1341</a>
评论 #8964361 未加载
评论 #8964408 未加载
DAddYEover 10 years ago
I think this can be really amazing as is react js now.<p>--<p>I had to build a simple at first but very complex under the hood. I wrote that app in a weekend with react and was a ton fun and most important worked well since day one.<p>I have been out from the web development since like 1.5 year, but yeah IMO <i>react is the best thing happened to javascript since ... ever.</i><p>Thanks again guys!
评论 #8966109 未加载
sherazover 10 years ago
Wow. I&#x27;ve been struggling to teach myself objective-c, never getting beyond the simple tutorials. So I&#x27;m happy to try this out.<p>I currently have an MVP in ionic framework and would love to port this over to react. Though I should say that Ionic is amazing in its own right.<p>Also, I tend to agree with some of the comments in this thread -- regular Joe user can&#x27;t really tell the difference. Ionic on an iPhone looks damn-near close to native. Android leaves a little to be desired.<p>Nice work React team
评论 #8968499 未加载
评论 #8965991 未加载
slashnullover 10 years ago
Sorry, dumb question, don&#x27;t feel like watching the video:<p>What platforms are targetted? Out of, say, iOS, Android, Linux&#x2F;X11 desktop, Windows desktop, WinRT, OSX?
评论 #8964319 未加载
评论 #8965748 未加载
评论 #8964304 未加载
jesalgover 10 years ago
Recruters: Looking for ReactJS Native developer with 5+ years of experience!
评论 #8968933 未加载
rattrayover 10 years ago
Just a minor quibble; I think the speaker is a bit too negative about faux-native apps, especially with React. For example, see this demo by Pete Hunt:<p><a href="https://medium.com/@floydophone/building-a-real-time-frosted-glass-effect-on-mobile-web-87ce4a41019f" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;@floydophone&#x2F;building-a-real-time-frosted...</a>
评论 #8964780 未加载
评论 #8964767 未加载
评论 #8964846 未加载
jordwalkeover 10 years ago
I&#x27;m Jordan and I&#x27;m on the React (and React Native) team. There&#x27;s been some great questions and insight on this thread. React Native offers a ton of benefits around productivity (and ability to use React of course), but since there are many questions about performance, I thought I&#x27;d share some of my own personal perspective on the matter.<p>React Native is very different than other approaches because:<p>1. We&#x27;re not promising to give you One Weird Trick that allows you to change nothing about your development philosophy&#x2F;practices and yet automatically create excellent mobile experiences. If you&#x27;re developing for mobile, and you want an excellent user experience, you must care about performance and you must care about programming nuanced interactions. Behind any great mobile experience, is someone who cared. Don&#x27;t believe anyone that tells you differently. However, I feel that the amount of work that React Native asks of developers in order to achieve it, is much less than any other alternative that I&#x27;ve seen.<p>2. React Native doesn&#x27;t use the DOM at all. React naturally tames many of the performance issues that typically arise from unpredictable programming practices in the browser, but that can only get you so far. React Native takes it to the next level, beyond what can be done in the browser. React Native shows that ReactJS has always been more about &quot;zero DOM&quot; than &quot;virtual DOM&quot; (contrary to popular belief).<p>4. React Native is different because we want to keep some of the best parts about web development. Just because we want the performance and resource control of native views, that doesn&#x27;t mean we should abandon the great things about the web. With React Native, you can use CSS FlexBox to lay out your native views, and many other familiar style attributes - but without the catastrophic CSS style reflows. The event system also works exactly as it does in your React apps today because it runs the same library code. By building in terms of the subset of web styles&#x2F;layout that we know we can make fast native implementations for, it allows developers to build great apps today without setting back progress of the web in the future. I feel this is strictly better than encouraging developers to abandon anything remotely resembling web technology and instead learn a completely different toolchain (or two or three).<p>3. React Native is different because it makes high quality apps written in JS <i>possible</i>. With browsers, you will likely run up against a fundamental limitation and there&#x27;s nothing you can do about it. Either you don&#x27;t have access to a platform component (certain scroll view with physics&#x2F;Maps), or the interaction that you&#x27;re implementing keeps getting interrupted by image decoding and there&#x27;s nothing you can do about it.<p>With React Native, you can do something about it. You can build ReactJS apps using native platform views that could <i>never</i> be implemented in JS (like Maps), and you can also build using higher performing granular building blocks (multi-threaded decoded &lt;Image &#x2F;&gt;) (&lt;View&#x2F;&gt; blocks that don&#x27;t use the DOM at all). The result is that this unlocks an unprecedented level of quality that feels great and matches the platform characteristics.
评论 #8966405 未加载
评论 #8964993 未加载
评论 #8966048 未加载
评论 #8967747 未加载
评论 #8965695 未加载
评论 #8965021 未加载
评论 #8965793 未加载
评论 #8965789 未加载
_pmf_over 10 years ago
That&#x27;s it. I&#x27;m finally going to port GridBagLayout to Javascript.
评论 #8964616 未加载
debacleover 10 years ago
What is the defacto best way to learn React? I like the architecture and the coding style, but there doesn&#x27;t seem to be a lot of talk about best practices.
评论 #8970132 未加载
daemonkover 10 years ago
I wonder how they are handling persistent storage and multi-threading if at all.
tinganhoover 10 years ago
I wonder why it is such a big of a deal of not having DOM API:s on the WebWorker thread? I think the discussion from Browser vendors is that there is no use case or benefit of having them there.<p>And not having the &quot;native feel&quot; or performance. I think browser vendors are on the verge on closing this gap totally. If not browser vendors, hardware will do it.
评论 #8965237 未加载
rattrayover 10 years ago
I had just started to think about switching to Mithril from React. This completely changed my mind. Incredibly exciting.
somethingreenover 10 years ago
When I tried similar solutions (running business logic in JS and abstracting native platform specific UI implementations), one of main problems I encountered was that JS was running in a clean VM while most libraries rely in some way on either browser or node.js environment. I wonder if React Native addresses this.
评论 #8966926 未加载
iziettoover 10 years ago
Please, could anyone write a tl;dw (too long; didn&#x27;t watch)?
评论 #8965137 未加载
评论 #8965170 未加载
评论 #8965067 未加载
calebmover 10 years ago
Looks like React is reaching critical mass.
评论 #8965068 未加载
uniclaudeover 10 years ago
That sounds amazing. It&#x27;s been a while since I haven&#x27;t been that excited about a framework. Native wrappers are so hard to create and maintain that it&#x27;s promising to have a company like Facebook behind one.<p>I can&#x27;t wait to have access to this repo to see source code and examples.
ceeKover 10 years ago
Can someone elaborate on how React Native would fit into the app development workflow (iOS)?<p>Having a brief look over the ReactJS webpage, it seems like it would replace view controllers and perhaps Storyboards?<p>Or are we talking about writing the entire application in Javascript, declaratively?
评论 #8966061 未加载
评论 #8967309 未加载
stanzhengover 10 years ago
From the video, Facebook mentions that they are using the React native for the Facebook iOS groups application. Theres a live demo to demonstrate. Video starts at 24:05.<p>[1] <a href="http://youtu.be/KVZ-P-ZI6W4?t=24m5s" rel="nofollow">http:&#x2F;&#x2F;youtu.be&#x2F;KVZ-P-ZI6W4?t=24m5s</a> [2] <a href="https://itunes.apple.com/us/app/facebook-groups/id931735837?mt=8" rel="nofollow">https:&#x2F;&#x2F;itunes.apple.com&#x2F;us&#x2F;app&#x2F;facebook-groups&#x2F;id931735837?...</a>
Nilzorover 10 years ago
Can anyone please explain what a &quot;declarative API&quot; is, and why that is better than an imperative? He claims this is the best part of the framework, but I&#x27;m just left with a big &quot;what?&quot; since I don&#x27;t understand what the hell that sentence means.<p>I mean he admits he had to build a bunch of products before he understood the concept, but didn&#x27;t waste a single slide to explain it in the presentation.
评论 #8969629 未加载
mwcampbellover 10 years ago
Sounds exciting. When is the source going to be released? Also, how much of the app logic can be implemented in cross-platform JS versus native code?
zkhaliqueover 10 years ago
<a href="https://www.youtube.com/watch?v=KVZ-P-ZI6W4" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=KVZ-P-ZI6W4</a><p>Look at 10:00 ... that sounds very much like what we were going through and building at the exact same time<p><a href="http://platform.qbix.com" rel="nofollow">http:&#x2F;&#x2F;platform.qbix.com</a> ... self contained components, completely parallelizable etc. Also in PHP and JS :)<p>And it all works!
roccodover 10 years ago
I understood that the native react serializes the ui &quot;DOM&quot; to some format and sends it to the native process. Will the native rendering engine be open source and&#x2F;or will the protocol be open&#x2F;specified ? This could be handy for embedded targets.
评论 #8964847 未加载
rajingtonover 10 years ago
Will the talk dealing with Relay and GraphQL also be uploaded?
xngzngover 10 years ago
I bet someone is planning to write a Markdown editor using React Native. Maybe a text editor is a good test if React Native app can be as good as native app.
owenwilover 10 years ago
This is amazing - wonder when we can get our hands on it.
Toineover 10 years ago
What about native APIs like in-app purchases, push notifications, ads SDKs, GameCenter ? Will we be able to access those ?
评论 #8964902 未加载
potomushtoover 10 years ago
Looks amazing. Is React Native supposed to be just a View lib for XCode project or it will be the platform like Titanium?
评论 #8965784 未加载
themgtover 10 years ago
React Native, in retrospect ... the day the Berlin Wall fell?
edygarover 10 years ago
A lot of people here feels offended by new ideas. I bet that many here commented even before the end of the video, and probably never used React on real apps. Could We avoid the tribalism and territorialism, please?
gaddersover 10 years ago
Basic question - does this make it easier for someone who knows (or can hack around in) JS to create a native android app? I&#x27;m thinking&#x2F;hoping yes from the video and comments...
aceperryover 10 years ago
Sounds excellent. I need it today.
yuchiover 10 years ago
-- Attention -- Cross posting from the other thread --<p>Seasoned Appcelerator’s Titanium Mobile SDK dev here. Looks like that a lot of people here is comparing this announcement from the react team to the Titanium Mobile SDK. I’d like to give some info to shed some light on the differences, and probably anticipate the challenges they have to (or had to) solve.<p>## Architecture<p>Both Titanium SDK and this Native React thing do have a JavaScript runtime behind the curtains.<p>Both frameworks will run the JS runtime on the background, on a different thread from the UI. This is incredibly important to remind.<p>Titanium SDK follows an OOP-ish, imperative approach. You create views using factories (`Titanium.UI.createScrollView({ })`) and you add those views to parent views (`parent.add(child)`). This is very similar to a browser DOM, and in fact it’s cumbersome to work with. They built an xml preprocessor called Alloy which does a better job at exposing the view hierarchy right in the source, but it just compiles down to JS, `create()` and `add()`.<p>This is important for the evaluation at least for the following reason: every time you update a property on a view (actually on a proxy object to the real view) you’re crossing the bridge and you have to pay that penality. The bridge is the void between the JS runtime’s thread and the main, UI’s one. This is incredibly painful when trying to do JS animations, sometimes if you’re not careful you can get hurt very badly. You can still do great things, but it’s way better to use the native `.animate()` methods, which cross the bridge only twice (at start, and at the end as a callback invoking).<p>On Native React you should not have this kind of problems because changes will be batched and updated on a update loop basis or at least debounced. Or at least optimized in some smart way. I believe.<p>## Layout<p>One big problem will be the layout. Given that they don’t want the developers to understand every layout system every platform provides, they have to normalize it somehow. Titanium SDK has it’s own layout system, incredibly easy to understand even from a web-only dev experience:<p>a) by default everything is absolute positioned,<p>b) you can get a vertical flow layout by setting the &#x27;layout&#x27; property on the parent view or<p>c) you can get a horizontal flow (inline-block-ish) by setting &#x27;layout&#x27; to horizontal.<p>Native React will probably follow a more intimately web-ish approach, just look at this JS&#x2F;C&#x2F;Java implementation of the box-model and flex-box specification by Facebook itself [1]<p>[1]: <a href="https://github.com/facebook/css-layout" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;facebook&#x2F;css-layout</a><p>## Support and limits<p>Titanium SDK is always criticized for being to limited in what you can do with it. This actually comes from two different issues:<p>1) they have to (almost) manually implement every API you might need, by proxying from native-land to JS-land;<p>2) they have to follow every release of the platform’s SDK;<p>3) you cannot just put native code along-side your JS code, so you cannot go where they didn’t.<p>Let’s see how Native React will solve this issue.<p>Titanium SDK is undergoing an heavy lifting refactoring to solve exactly this issues. The project is code-named Hyperloop and is already working behind the curtains for the Windows 8 version of the SDK.<p>## Conclusion<p>Because I shamelessy want to karma-drift this topic, I’ll stop here.<p>It’s interesting, but until they show us some (native) code... it’s just ideas.<p>Follow me on twitter (@_pier) and github (@yuchi [2]) for Titanium related stuff.<p>Also my company, SMC, does a lot of great opensource things for Titanium (on gh we’re @smclab)<p>[2]: <a href="https://github.com/yuchi" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;yuchi</a>
kas0over 10 years ago
Already done with Smartface App Studio.
bronzover 10 years ago
What is this and why is it a big deal?
solarexplorerover 10 years ago
Am I getting this right: they use something like Display Postscript[1] instead of the virtual DOM? Are we back in the 80ties?<p>[1] <a href="http://en.wikipedia.org/wiki/Display_PostScript" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Display_PostScript</a>
评论 #8964285 未加载
digvanover 10 years ago
It fails like many other framework tried to create native apps with JavaScript
评论 #8964483 未加载
评论 #8964502 未加载
Toucheover 10 years ago
If I&#x27;m one of Reacts competitors I&#x27;m ecstatic that they&#x27;re abandoning the web. It reminds me of when Angular wastes energy on angular.dart because of a Google mandate. Didn&#x27;t help them much.
评论 #8967260 未加载
评论 #8964700 未加载
评论 #8964418 未加载
评论 #8964309 未加载
评论 #8964345 未加载
评论 #8964295 未加载
评论 #8964324 未加载