使用框架构建React Native应用程序的最佳实践

在React Conf上,我们更新了关于开始构建React Native应用程序的最佳工具的指导:一个React Native框架——一个包含所有必要API的工具箱,让您能够构建生产就绪的应用程序。

现在推荐使用React Native框架(如Expo)来创建新应用程序。

在这篇博客文章中,我们将详细介绍它们是什么,以及它们对于开始新项目的React Native开发者的意义。

什么是React Native框架?

如果您一直在构建生产应用程序,您可能会知道,迟早您需要解决一组常见问题。

在Web或原生上构建任何应用程序时,您可能希望用户能够在不同屏幕之间导航,获取数据并存储用户状态。

但对于原生应用程序,需要处理的问题更多:您需要工具在React Native版本之间升级您的原生代码,管理所有依赖项的兼容版本,并处理原生构建工具。

没有合适的工具,将应用程序从想法变为生产是一项艰巨的任务。我们希望您专注于为用户编写美丽的应用程序和功能,而不是一遍又一遍地解决这些常见问题。

这就是为什么我们相信,通过提供所需工具的框架体验React Native是最好的方式。

我们发现,您要么使用框架,要么构建自己的框架。构建自己的框架没有问题,通过为路由、导航、部署等制定自己的解决方案。

像Meta和Microsoft这样的大公司会在内部构建自己的框架,以深入集成到他们的棕地应用程序中。

但我们相信,大多数人使用现有框架会更好。如果您一直在Web上使用React,您可能熟悉生产级React框架的类似概念。

到目前为止,唯一推荐的社区框架是Expo。Expo团队自React Native早期以来一直在投资React Native生态系统,到今天,我们认为Expo提供的开发者体验是最好的。

框架将如何影响您?

如果您已经在使用推荐的框架(如Expo),那么您已经可以开始了!

如果您想将现有应用程序迁移到Expo,可以在官方Expo网站上找到说明。Expo提供了许多好处,例如更容易升级React Native版本,更好的开发者体验等等。

但是,如果您无法或不想迁移到Expo,那也没关系。继续使用没有官方框架的React Native将继续得到支持。

您一直使用的工具,如React Native社区CLI、模板和升级助手将继续正常工作。react-native init命令已从核心中移除,现在可以通过以下方式访问:npx @react-native-community/cli@latest init

如果您是React Native库的开发者,我们收集了一些关于使用哪些API的建议。在RFC中内容。

进一步阅读

如果您有兴趣了解此决策背后的原因,我们邀请您阅读RFC0759:React Native框架。

这个RFC是几个月努力的结果,涉及React Native生态系统中不同合作伙伴和参与者的无数次讨论和头脑风暴。

虽然Expo今天是唯一推荐的框架,但RFC还包含了如何成为推荐框架的指导方针,因为我们希望在这一领域看到更多的竞争和创新。此外,您还应该查看在App.js 2024上的useFrameworks()演讲,我们在其中以简短的形式介绍了这个RFC和必要的更改。

我们相信,通过明确React Native核心和框架各自的职责,我们可以促进一个更健康的生态系统,并推动React Native的增长和创新。

原文链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/875786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring 依赖注入02

文章目录 1. 核心概念2. 依赖注入的方式3. 构造函数注入3.1 构造函数注入的优点包括: 4. 设值注入4.1 设值注入的特点和优点4.2 使用设值注入的注意事项 5. 接口注入5.1 接口注入的基本概念:5.2 使用接口注入的注意事项: 依赖注入&#xff08…

代码随想录day23 ||39组合总和1 40组合总和2 131分割回文串

39组合总和1 力扣题目链接 题目描述: 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 cand…

【C语言】两个数组比较详解

目录 C语言中两个数组比较详解1. 逐元素比较1.1 示例代码1.2 输出结果1.3 分析 2. 内置函数的使用2.1 示例代码2.2 输出结果2.3 分析 3. 在嵌入式系统中的应用3.1 示例代码3.2 输出结果3.3 分析 4. 拓展技巧4.1 使用指针优化比较4.2 输出结果4.3 分析 5. 表格总结6. 结论7. 结束…

高级及架构师高频应用型面试题

一、微服务多节点批量应该怎么设计? 1、异步任务分类: 周期性定时任务调度任务批量任务 2、需要考虑并解决的问题: 2.1、避免同一任务同时被多个节点捞取。 1)数据库的行级锁 2)redis分布式锁 3)quartz…

后端面试题日常练-day06 【Java基础】

题目 希望这些选择题能够帮助您进行后端面试的准备,答案在文末 在Java中,以下哪个关键字用于表示类之间的关联性,表明一个类包含另一个类的对象? a) include b) contain c) reference d) composition Java中的方法重写&#xff…

Python写UI自动化--playwright(通过UI文本匹配实现定位)

本篇简单拓展一下元素定位技巧,通过UI界面的文本去实现定位 目录 匹配XPath 匹配文本元素 .count()统计匹配数量 处理匹配文本返回多个元素 1、使用.nth(index)选择特定元素: 2、获取所有匹配的元素并遍历: 3、错误处理: 匹配XPath 比如我们要定位到下图的…

C++笔试强训8

文章目录 一、选择题1-5题6-10题 二、编程题题目一题目二 一、选择题 1-5题 根据下面的定义故选A。 函数重载:在相同作用域中,函数名字相同,参数列表不同的一系列函数称为函数重载参数列表不同具体的体现:参数个数不同参数类型不同类型的次序不同注意:…

单元测试--Junit

Junit是Java的单元测试框架提供了一些注解方便我们进行单元测试 1. 常用注解 常用注解&#xff1a; TestBeforeAll&#xff0c;AfterAllBeforeEach&#xff0c;AfterEach 使用这些注解需要先引入依赖&#xff1a; <dependency><groupId>org.junit.jupiter<…

6 C 语言指针的奥秘:理论与实践详解

目录 1 变量访问机制 1.1 内存地址 1.2 变量的直接访问 1.3 变量的间接访问 2 指针变量及其内存大小 2.1 指针与指针变量 2.2 指针变量的定义格式 2.3 指针变量的内存大小 3 取地址操作符与取值操作符 3.1 取地址操作符 & 3.2 取值操作符 * 3.3 解引用与数据类…

Xcode是什么?它在iOS开发中的作用和功能有哪些?

Xcode是苹果公司为macOS平台开发的一款集成开发环境&#xff08;Integrated Development Environment&#xff0c;简称IDE&#xff09;&#xff0c;它主要用于开发iOS、iPadOS、macOS、watchOS和tvOS的应用程序。Xcode集成了从编写代码、界面设计、调试程序、版本控制到应用发布…

【数据结构】顺序表(杨辉三角、简单的洗牌算法)

&#x1f387;&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了 博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳&#xff0c;欢迎大佬指点&#xff01; 欢迎志同道合的朋友一起加油喔 &#x1f4aa;&#x1f4aa;&#x1f4aa; 谢谢你这么帅…

pandas.core.series.Series 转json

在Python中&#xff0c;可以使用Pandas库中的Series.to_json()方法将Series对象转换为JSON格式的字符串。以下是一个简单的例子&#xff1a; import pandas as pd# 创建一个Pandas Seriess pd.Series({a: 1, b: 2, c: 3})# 转换为JSON字符串json_str s.to_json(orientrecords…

Android SurfaceFlinger——通知消费流程(三十五)

上一篇文章介绍了 onFrameAvailable() 函数的流程&#xff0c;最终回调到了 BLASTBufferQueue 中&#xff0c;这里测处理跟 Android 老版本还是有区别的&#xff0c;在 BLASTBufferQueue 中通过提交事务的方式通知 SurfaceFlinger 进行更新&#xff0c;而不是老版本中的直接调用…

学习React(描述 UI)

React 是一个用于构建用户界面&#xff08;UI&#xff09;的 JavaScript 库&#xff0c;用户界面由按钮、文本和图像等小单元内容构建而成。React 帮助你把它们组合成可重用、可嵌套的 组件。从 web 端网站到移动端应用&#xff0c;屏幕上的所有内容都可以被分解成组件。在本章…

netty应用-手写RPC

文章目录 手写RPC之案例定位与通信过程介绍RPC框架案例定位服务端与客户端架构通信过程1. 服务注册与发现2. 请求序列化与传输3. 请求处理与响应4. 响应反序列化与结果处理实现细节1. 服务端2. 客户端技术选型关键挑战总结手写RPC之请求响应通信协议定制协议结构示例消息头格式…

GO集成方式、Java文字识别接口集成方法

我们现在经常使用到的那些软件、APP、微信小程序产品来说&#xff0c;在注册的时候需要手动填写一些证件信息的时候已经可以通过上传证件照片自动填写信息了&#xff0c;这就是OCR API的功劳&#xff0c;接入翔云OCR API的系统可以自动识别用户上传的证件信息并填写到相应的栏目…

优化医疗数据管理:Kettle ETL 数据采集方案详解

在现代医疗保健领域&#xff0c;数据的准确性、完整性和及时性对于提高医疗服务质量和患者护理至关重要。为了有效管理和利用医疗数据&#xff0c;Kettle ETL&#xff08;Extract, Transform, Load&#xff09;数据采集方案成为了许多医疗机构的首选工具之一。本文将深入探讨Ke…

【基础算法总结】队列 + 宽搜(BFS)

队列 宽搜BFS 1.N 叉树的层序遍历2.二叉树的锯齿形层序遍历3.二叉树最大宽度4.在每个树行中找最大值 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&#xff0c;我们一起努力吧!&#x1f603;&#…

MySQL作业五

1. 创建表goods&#xff0c;orders 2. 向商品表中插入商品记录 3. 触发器操作 3.1 建立触发器&#xff0c;订单表中增加订单数量后&#xff0c;商品表商品数量同步减少对应的商品订单出数量,并测试 3.2 建立触发器&#xff0c;实现功能:客户取消订单&#xff0c;恢复商品表对应…

C语言文件锁Linux

在C语言中&#xff0c;flock 是一个用于文件锁定的函数&#xff0c;定义在 sys/file.h 头文件中。它的主要目的是在对文件进行读写操作时&#xff0c;避免其他进程同时访问文件&#xff0c;以实现文件的并发控制。 flock 函数的原型 #include <sys/file.h>int flock(in…