Facebook开源React Native以及相应的IDE:Nuclide
来源:互联网 发布:战地1优化真的好 编辑:程序博客网 时间:2024/05/18 19:21
近日,Facebook开源了能够使用JavaScript开发iOS和Android原生应用的React Native。目前,React Native已实现了对iOS平台的支持,并且Facebook已经使用React Native开发出了多个产品,如iOS平台下的聊天工具Groups等。同时,Facebook还为React Native开发了一款基于跨平台文本编辑器Atom的开源IDE:Nuclide。React Native主要特性包括:
支持原生iOS组件
通过使用React Native,开发者能够使用iOS环境下的标准组件(如UITabBar和UINavigationController)来开发原生应用,这就能够保证开发出来的应用在多个平台亦能保持始终如一的外观、风格,从而提高了应用产品的用户体验和品质;
支持异步执行
JavaScript应用代码和原生平台之间的所有操作都是异步执行的,原生模块还可以使用额外的线程,从而利用React Native开发出来的应用性能比较高(运行流畅和反应快)。此外,开发者还能够在模拟器或者物理设备上运行应用的同时利用Chrome Developer Tools调试JavaScript代码;
触摸操作
React Native实现了一个类似iOS平台下的响应系统,还提供了高级的组件如TouchableHighlight等;
引入了Flexbox布局模型和样式
Flexbox布局模型有利于构建常见的UI布局,如stacked和nested boxes布局。React Native还支持常见的Web样式,如fontWeight、font-size等。样式表(StyleSheet)抽象提供了一种优化机制来声明组件所用到的所有样式和布局;
具有Polyfills功能
Polyfills功能是的开发者编写单独应用的代码而不用担心其他浏览器原生是不是支持。React Native专注于改变试图(Views)代码编写的方式,开发者能够使用npm安装JavaScript Library,并将这些Library融入React Native,如 XMLHttpRequest、window.requestAnimationFrame等
较强的可扩展性
设计React Native主要是为了使得开发者使用常规的原生视图组件扩展和模块就可以开发出一个完整的应用,开发者能够复用已经构建的任何应用或者组件,并且还能够引入自己喜爱的原生Library。
Facebook的前端工程师Christopher Chedeau曾作了一个题为《深入了解React Native》的演讲。在演讲中Christopher指出了React Native相比标准Web开发或原生开发带来了三大方面的好处,即手势识别、原生组件、样式和布局。而在Hacker News上关于Facebook宣布React Native的讨论中,用户peterhunt还对React Native的内部机制进行了说明。
此外,Facebook还开源了对应的IDENuclide。Nuclide具有能够开发基于Hack的Web应用、支持React和React Native开发、集成了构建工具Buck、集成了JavaScriot类型检查器Flow等特征。
React Native开源的消息一经传出,就引起了国内外各大科技网站的竞相报道和社区的热烈讨论,Reddit上也有了相关评论,用户dzamir评论道:
程序社区总是讨厌Facebook和Javascript,就个人而言,自己对React Native非常感兴趣,自己还在Android工程中使用Java RX,并且很期待在下一个iOS应用中使用ReactiveCocoa和React Native。
Hacker News上的相关评论已达数百条,用户CGamesPlay评论道:
React Native是自己遇到过的最有前途的跨平台UI工具包,恭喜创建它的团队。自己为此很高兴的原因是:Java承诺一次编写到处运行,这就意味着开发者只能服务最小的公共程序,而React Native承诺一次学习到处编写,这就意味着一个团队的工程师使用目标平台的UI就可以创建出高质量的应用。
创建React Native的目的是提高开发者的跨平台开发效率,它由Facebook创建并在React.js 2015大会上公布。React Native基于React.js实现,React Native像React.js一样也通过JavaScript声明语法来定义互动的用户界面,并通过自定义类型实现对原生UI组件的映射。据Facebook官方表示,React Native开源后,Facebook仍将继续资助该项目的开发。更多关于React Native的文档、教程、代码实例等相关信息,请读者查看官方提供的入门指南或登陆官方站点查看。
http://www.infoq.com/cn/news/2015/03/react-native-ide-nuclide/
- Facebook开源React Native以及相应的IDE:Nuclide
- react-native IDE(nuclide)安装
- React Native开发之IDE(Atom+Nuclide)安装,运行,调试
- React Native开发之IDE(Atom+Nuclide)安装,运行,调试
- React Native开发之IDE(Atom+Nuclide)安装,运行,调试
- React Native开发工具Nuclide使用
- React Native编辑器Atom+Nuclide插件的配置和安装及编译项目
- 如何使用Atom+Nuclide调试React-Native应用
- Mac搭建 React Native 工具篇Atom+Nuclide
- Facebook React Native 初探
- 开发React Native项目的IDE工具 - Deco IDE
- Facebook React Native开发入门
- react native 学习实践----运行facebook官方提供的例子
- React-Native环境的搭建并运行facebook例子
- 开发React-Native 的IDE 装的是webStorm
- 我的 React Native 技能树点亮计划 の React Native 开发 IDE 选型和配置
- React Native探索(二)Atom+Nuclide安装、配置与调试
- 工欲善其事,必先利其器——React Native的 IDE
- Python.Scipy -- 数值计算库
- hibernate constrained属性
- 管理:M型组织
- Codeforce 1B Spreadsheets
- Android音频AAC硬编码
- Facebook开源React Native以及相应的IDE:Nuclide
- 关于数位板电脑绘画——入门篇
- CocoaPods的安装以及遇到的坑
- 'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- 遍历文件夹下的所有文件
- 根据 *_train_test.prototxt文件生成 *_deploy.prototxt文件
- python反射
- 如何去除html代码标签之间换行产生的空格
- leetCode练习(54)