一次编写,到处运行:React Native 引领通用APP发展

原文链接: http://arc.applause.com/2015/09/15/facebook-react-native-universal-app-platform/
原文发表时间: 2015年9月15日

真的可以么?一个代码库就能搞定一切?

一次编写,到处运行。自从个人计算及多平台技术出现以来,这句话就变成了无数软件开发者的梦想。 虽然Web技术给那些渴望寻求一次编写方案的程序员们带来了希望,但互联网巨头们却一直未能根本解决这个问题。

不过,问题总会有答案的。

JavaScript是一门Web开发语言。如果Facebook一直这么坚持下去,JavaScript仍然将是开发人员构建“一次编写、到处运行”的iOS和Android应用的主流语言。

过去几年,Facebook一直在建设一个跨平台的开发平台--React。今年初, Facebook公布了React Native, 一个一次编写就可以在所有平台上运行的语言,该语言可以取代JavaScript用于构建类原生的iOS和Android应用。

React Native是Facebook基于“一次编写,到处运行”理念的第二次大胆尝试(第一次是HTML5),试图用一套同样的源码来构建Web、 iOS和Android应用。尽管React Native还没有迎来它的黄金时期,但Facebook已经建好了一个看上去健壮且可伸缩的开发平台来使用JavaScript构建接近原生性能的应用。

React Native: 为 iOS & Android 设计的开源框架

facebook_ads_manager_react_native_android

第一个React Native概念的具体应用是一款叫做Facebook 广告管理器的iOS应用(为小型企业管理和创建广告)。本周,Facebook宣布其已将大部分iOS版广告管理器的代码做了移植,成功构建出了第一个React Native的Android应用。

和iOS一样, Facebook也已将React Native for Android开源, 让任何开发者都可以使用React Native工具在任意的平台上构建APP应用。Facebook的开发人员Daniel Witte和Philip von Weitershausen写到,他们可以将85%的iOS广告管理器Android版的代码分享出来。

“当所有事情都宣布并且完成后,我们兑现了自己的承诺--我们可以将Facebook第一个完整的React Native应用部署到两个平台上,界面和操作与原生应用并无两样,并且是由同一个JavaScript工程师组成的团队构建出来。”Witte和 von Weiterhausen写到

目前,React Native对iOS和Android两个大平台都已开源。 但这并不意味着每个程序员都可以轻松的在此平台上用Javascript编写iOS和Android应用。据称,Facebook在iOS的基础上构建Android版的广告管理器应用时遇到了很大的挑战。

对于Facebook来说,最大的问题在平衡多个函数库和两套代码源。一些iOS和Android之间的设计差异也需要被消除。

Witte和von Weiterhausen写到:

React Native团队随着我们的App应用开发一起研发出了平台,并拿出了我们所需要的本地组件及API。那些组件可以为后面开发App的每个人带来好处。即使我们不得不自己做一些组件出来,在纯原生的系统上使用React Native仍然是值得做的一件事。我们如果不写那些组件,那些组件也就不会在将来被其他团队重用。

通用APP时代的到来

几个正在进行中的重大项目正在突破平台和操作系统之间的障碍。React Native是Facebook强力推进的“一次编写,到处运行”的开发框架。微软也想要所有的代码,给程序员们提供各种“方便的桥梁“这将能帮助他们从iOS, Android和Web上获得代码(和更老的Win32 app一起)用以构建跨多个设备平台的Windows 10 app应用。

苹果和Google在开始研究如何跨平台地构建App的时候并没有和Facebook与微软一起在相同的领域,但他们各自都在自己的生态系统里通过精简的手段跨越设备之间的壁垒。苹果已经可以使用Xcode来为Apple Watch,iPhone,iPad,CarPlay构建应用,很快Apple TV也会使用相同的代码库。Google已经拥有了能将Android应用移植到ChromeOS上的能力,同时还会为Android TV,Auto和Watch提供hooks。

HTML5的成熟--加上CSS和Javascript--也会促进跨平台开发的演进和发展。当Facebook在几年前使用HTML作为其移动应用的基础时,结果是有些作用但缓慢且不那么明显。这是为什么Facebook抛弃了HTML5转向用Objective-C和Java写的原生app。但Facebook从没有放弃跨平台的梦想,他持续做出的努力终于开花结果--那就是拥有更稳定平台和更广阔发展空间的React Native。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容