无论是移动平台的开发者,还是Web前端开发者,想必对现在“大红大紫”的React Native都有所耳闻。那么除了“乘着Facebook这颗大树好乘凉”的优势之外,React Native到底是何方“神圣”,有什么令大家“趋之若鹜”的优点吗???
Learn Once,Write Anywhere
这句话是React Native的官方宣传广告,也是其最大的特点和优点。不过这句话倒是耳熟,没记错的话,Java语言也提出来过类似的口号!不过他们的意思可是不同的,React是“降低学习成果,针对不同的平台可能还需要单独为什么要学习React Native
开发”,而Java语言的意思则是“只需要开发一次,就可以成功运行在不同的平台和设备上”。
简单易学的开发语言
React Native开发是基于JavaScript语言的,虽然JavaScript也是一门灵活、强大且复杂的语言,但是对于新人来说,上手速度相比objective-C或Java等还是要快得多。而且。由于JavaScript严格模式的使用意见ECMAScript2015标准的推出,JavaScript被人诟病的各种问题大大减少。
不仅如此,Facebook为了进一步提高代码的可读性和开发效率,还扩展处理JSX语法,即一种可以在JavaScript代码中直接书写HTML标签的语法。
React Native的样式使用了类似CSS的规范,只是根据JavaScript的语法要求将命名方式改为了“驼峰命名法”。
接近原生应用的性能和体验
对于React Native上述的俩个优点,混合应用开发的方式其实也都有,但是,混合应用开发的方式在实际开发中却存在性能和体验不佳的先天不足。但是!!!React Native虽然使用的是类似混合应用开发的语言,其实现的机制却完全不同!!!React Native的底层仍然是基于原生平台的!所以React Native在性能和体验上与原生应用几乎没有太大差别,用户很难区分所使用的App到底是原生开发的还是React Native开发的。
完善的生态系统
React Native有着非常庞大的开发者社区和很高的活跃度,这点从React Native在Github 上线的第一天5000多颗星,截止2017年1月4日4万多颗星、9000多次fork已经9000多次提交!同时Facebook还推出了官方的调试工具React Developer Tools和开发工具Nuclide。
网上的优秀开源项目和参考资料更胜数不胜数!
