React Native&Android?
我正在考虑使用React Native来创建一个新的网络应用程序。是否可以运送iOS和Android应用程序?
我知道这是在路线图上,但是我不清楚这将是一个单独的开源项目(例如,React Android vs React Native),还是只有一个(例如React Native)。
您可以瞄准大约80?99%(取决于您使用的Android / iOS本机视图/模块的数量,例如,您是否有自定义图形代码或低级TCP网络代码;这些只能以本机代码完成;并显示为API到你的JS代码,平台特定JS代码的数量实际上是最小的,另外你还可以使用平台检查,如if(Platform.OS ===’android’){}来解决)代码重用,这是很不错。 Dropbox和其他公司已经完成了类似的项目:使用c在iOS和Android项目之间构建“共享”组件,同时在本机iOS(Objective-c或swift)和Android(java)中实现大部分UI代码。但现在你正在用Java和ObjectiveC或Swift做C,用更多的语言来掌握,更复杂和更多的脑汁流失了。而且它可能需要一些超级强硬的体操动作,使iOS和Android中的不同的本地代码工作,加上调试…
React Native只是使JavaScript中的几乎所有内容更容易编写。但是有一个catch,只有大约80%的JS代码可以被共享。在可预见的将来,您仍然需要为Android和iOS版本编写“特定于平台的”JS代码。 这就是为什么FB说他们的目的是“学习一次,代码在任何地方”,而不是“跑”到处。 但除了代码重用(除了维护2个完全不同的版本:Android和iOS ya之外,80%的代码重用性仍然是一个很大的改进),它还是非常好的 Cmd R刷新应用程序是发展速度极大的提升。等待一个大项目编译只是让你觉得你正在死亡.. 声明性的UI你可以免费获得,因为使用React。这是另一个很好的加分!因为您不需要“挖掘”到您的特定UI代码中。数据变化了只需“刷新”它,UI就会相应更新。没有脑汁浪费了。 我刚刚把我的Android React Native应用程序移植到了iOS版本。而我花了3天的时间。应用程序的请求和iOS版本是一个相当突然和无计划的动作。如果我用iOS的方案构建Android,那么肯定会更快。巨大的胜利:) 另一个很大的好处是可以做热代码推送,而不会经历地狱1周的应用商店审查过程。所以没有更多的,“YAY,我们的应用程序被批准,让我们释放哦,Shiiit。严重的错误和我们的应用程序不断崩溃(这将在你的修复之前至少一个星期发生),你必须乞求苹果速度过程“。这是可能的,因为代码库的主要部分将以JS编写,并使用像AppHub或CodePush这样的工具,几乎可以立即将代码部署到用户。这是有条件的允许苹果。
最后,作为一个开源项目,项目长寿往往是一个问题。 React Native不是问题。由FB(广告经理)内部使用,由FB(十几个FB工程师?)由Facebook支持,近500个贡献者和25k星,React Native充满活力。看到相信:)(https://github.com/facebook/react-native) 编辑 我意识到我显然有点偏见,只谈到关于React Native的好东西。所以,checkout https://productpains.com/product/react-native/和Github的问题要全面了解。这绝对不是子弹。话虽如此,它满足了大部分我的用例,我很快就看不到我使用原生的iOS或Android。 编辑 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 小菜学设计模式——合成复用原则
- c# – Umbraco在xslt中发布日期
- 基于xml的springmvc配置例子
- AJAX:HttpContext context.Session["XX"]写入时报
- cocos2d-x学习笔记:SpriteBatchNode
- React Native:使用 JavaScript 构建原生应用 详细剖析
- c# – asp.net文本在禁用时不发送值
- 如何在ajax之后呈现facebook评论插件?
- react-native – flex vs flexGrow vs flexShrink vs React
- ruby-on-rails – 如何在不执行弹簧的情况下在生产中运行ra