当前位置: 首页 > news >正文

为何Expo成为React Native官方推荐框架?

在React Conf上,我们更新了关于构建React Native应用的最佳工具指南:一个React Native框架——一个工具箱,包含所有必要的API,让你可以构建生产就绪的应用。

现在,使用React Native框架(如Expo)是创建新应用的推荐方法。

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

什么是React Native框架?

如果你一直在构建生产应用,你可能知道迟早需要解决一系列常见问题。

无论是在Web还是原生平台上构建任何应用,你可能都希望用户能够在不同的屏幕之间导航、获取数据并存储用户状态。但原生应用还有更多需要处理的问题:你需要工具来在React Native版本之间升级你的原生代码,管理所有依赖项的兼容版本,以及处理原生构建工具。

没有合适的工具,把一个应用从想法变为产品就像是一场孤独的旅行。

我们希望你能专注于为你的用户编写漂亮的应用和功能,而不是一遍又一遍地解决那些常见问题。

这就是我们认为通过提供一个包含所有必要工具的工具箱来体验React Native的最佳方式,这些工具可以让你构建生产就绪的应用。

我们发现,你要么使用一个框架,要么自己构建一个框架。

构建自己的框架,为自己打造路由、导航、部署等解决方案,这并没有错。像Meta和微软这样的大公司会在内部构建自己的框架,以便深入集成到他们的遗留应用中。但我们相信,大多数人最好还是使用现有的框架。

如果你一直在Web上使用React,你可能对生产级React框架的类似概念比较熟悉。

截至今天,React Native唯一推荐的社区框架是Expo。自React Native早期开始,Expo团队就一直在投资React Native生态系统,而今天,我们认为Expo提供的开发者体验是同类中最优的。

注意:Expo框架本身是免费且开源的,而Expo Application Services(EAS)是一个可选的付费服务。

如果你最近没有使用过Expo,请务必不要错过Expo的Kadi在这次演讲中展示的2024年你可以用Expo做什么。

我们还更新了网站上的“入门”页面,以反映这一推荐。

框架将如何影响你?

  • 如果你已经在使用像Expo这样的推荐框架,那么你已经准备好了!

  • 如果你想将现有应用迁移到Expo,你可以在Expo的官方网站上找到迁移指南。Expo提供了许多好处,比如更容易地升级React Native版本、更好的开发者体验等等。

  • 但是,如果你不能或不想迁移到Expo,那也没关系。不使用官方框架的React Native将继续得到支持。你一直在使用的工具,如React Native Community CLI、模板和升级助手,将继续正常工作。

  • react-native init命令已经从核心中移出,现在可以通过以下方式访问:

npx @react-native-community/cli@latest init

在GitHub上的位置是react-native-community/cli。

  • 如果你是React Native库开发者,我们收集了一份关于应使用哪些API的建议列表。更多详情请参阅RFC(请求评论稿)。

进一步阅读

如果你对这项决策背后的原因感兴趣,我们邀请你阅读RFC0759:《React Native框架》。这份RFC是React Native生态系统中的不同合作伙伴和参与者经过数月努力、无数讨论和头脑风暴的结果。

虽然目前Expo是唯一推荐的框架,但RFC还包含了如何成为推荐框架的指南,因为我们希望在这个领域看到更多的竞争和创新。

此外,你应该观看在App.js 2024上进行的useFrameworks()演讲,我们在其中简短地介绍了这份RFC和必要的变更。

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 连续6年夺冠 6项细分领域第一,中电金信持续领跑中国银行业IT解决方案市场
  • python学习-类
  • 小程序开发页面获取小程序assess文件夹下所有图片
  • 网络服务器都包含哪些方面需要维护?
  • STM32学习和实践笔记(39):I2C EEPROM实验
  • 基于单片机的温控光控智能窗帘设计探讨
  • 【React】基础数据回填--useForm与setFieldsValue详解
  • FL Studio 24.1.1.4234 (Windows) / 24.1.1.3884 (Mac OS X)
  • 基于antdesign封装一个react的上传组件
  • NPDP含金量高吗?什么人适合学习NPDP?
  • Python函数 之 模块和包
  • 设置DepthBufferBits和设置DepthStencilFormat的区别
  • 动手学深度学习54 循环神经网络
  • 企业微信群发消息高效指南,一文了解!
  • 新型开发语言的试用感受-仓颉语言发布之际
  • 2019.2.20 c++ 知识梳理
  • canvas 高仿 Apple Watch 表盘
  • hadoop集群管理系统搭建规划说明
  • Python十分钟制作属于你自己的个性logo
  • python学习笔记-类对象的信息
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 计算机常识 - 收藏集 - 掘金
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 设计模式 开闭原则
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 学习ES6 变量的解构赋值
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • (02)vite环境变量配置
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (十八)SpringBoot之发送QQ邮件
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)【Hibernate总结系列】使用举例
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .dwp和.webpart的区别
  • .naturalWidth 和naturalHeight属性,
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET CF命令行调试器MDbg入门(一)
  • .net core + vue 搭建前后端分离的框架
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .NET Micro Framework初体验(二)
  • .Net mvc总结
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET编程C#线程之旅:十种开启线程的方式以及各自使用场景和优缺点
  • .Net多线程总结
  • .net经典笔试题
  • .NET企业级应用架构设计系列之应用服务器
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码