Reactjs react js web代码可以用于使用react native构建移动应用程序吗?
我正在从事一个pet项目(web应用程序),我想知道是否应该使用react,因为使用此代码创建本机应用程序很容易(将来如果需要的话)Reactjs react js web代码可以用于使用react native构建移动应用程序吗?,reactjs,web,react-native,Reactjs,Web,React Native,我正在从事一个pet项目(web应用程序),我想知道是否应该使用react,因为使用此代码创建本机应用程序很容易(将来如果需要的话) 如果答案是肯定的,那么最佳实践是什么 大多数苏苏 如果答案是否定的,你能推荐一个替代方案吗 关于我的情况的更多信息。 我是一个比较新的反应,我的选择将是良好的ol'html与引导和jquery。我正在考虑使用asp.net mvc和web api。在React web应用程序和React本机应用程序之间共享应用程序逻辑,同时保持每个平台的单个组件呈现唯一是可能
- 如果答案是肯定的,那么最佳实践是什么 大多数苏苏
- 如果答案是否定的,你能推荐一个替代方案吗
我是一个比较新的反应,我的选择将是良好的ol'html与引导和jquery。我正在考虑使用asp.net mvc和web api。在React web应用程序和React本机应用程序之间共享应用程序逻辑,同时保持每个平台的单个组件呈现唯一是可能的 在我看来,这是一个很好的选择,我们有。我将给你一个方法的概述和一些建议 在理想情况下,我们将能够100%共享代码。据我所知,这是不可能的,但我们仍然可以共享很多代码。尽管React Native与React类似,但需要注意的是呈现代码不同。您使用React本地组件,如
,
和其他内置组件,而不是像
或
这样的web组件
然而,在大多数情况下,业务逻辑只是JavaScript,这是我们可以共享的重要内容之一
计划
基于您正在使用的Flux体系结构,这意味着您的存储、还原器、操作将是共享代码,以及大多数业务逻辑(服务内部或其他)以及常量和实用程序
然后使用React native专门为每个本机平台编写UI层,并使用React专门为web编写UI层。这不仅是因为有必要用React本地组件替换HTML元素,而且还因为这些组件在移动应用程序上可能具有非常不同的行为
一些一般准则/建议
- 考虑良好的体系结构和代码结构,以便尽可能多地共享代码(和应用程序逻辑)。尝试分离UI表示组件(对于每个平台,这将是不同的)
- 请查看React原生文档中的。使用React Native时,您将在两个环境中运行JavaScript代码:
- 在iOS模拟器和设备上,Android模拟器和设备。React Native使用JavaScriptCore,这是支持Safari的JavaScript引擎。在iOS上,由于iOS应用程序中缺少可写可执行内存,JSC不使用JIT
- 当使用Chrome调试时,它运行Chrome本身中的所有JavaScript代码,并通过WebSocket与本机代码通信。所以您使用的是V8李>
- 考虑共享代码的不同策略。为了访问共享代码,您正在构建的应用程序不必都位于同一个代码库或git存储库中 更现实地说,您可能会有两个或多个单独托管的项目,因此npm包是在它们之间共享代码的最简单方法之一 制作一个新包并将其设置为每个项目中的依赖项,这很容易。对于共享项目的路径,您可以使用git存储库,而不是指向npm上的公共包 即使您现在只构建web应用程序,您也可以花一些时间思考如何概括一些共享代码,以便将来更容易重用
- 这是可能的,也是可行的。每个平台(web/android/ios)都必须有一个视图,因为每个平台都有自己的组件
业务逻辑必须在视图之外。使用flux可以简化本机的项目,因为它将api交互移动到数据层,让视图只是一个视图。有,但它的工作方式正好相反。.内置React native并在以后创建网页这是可能的。我建议你像@atlanteh所说的那样阅读,这个框架是存在的。React-Native没有“DOM”,但可以使用DOM创建React-Native中使用的相同组件。(浏览器提供了比React本机组件所支持的更为内置的渲染灵活性)这很好地回答了这个问题,但是仅仅重新使用React JS代码而不是重新编写一堆东西有什么错呢?谢谢。这肯定helps@MartinMazzaDawson这是不可能的,因为web和mobile的渲染代码不同。在移动设备上,我们使用React本地组件,如
,
,以及其他表示移动设备特定项目的内置组件,而不是像
或
这样的web组件。