[240826] 苹果采纳 OWA 六项选择架构建议,但仍有改进空间 | React 正在(成为)一个完整的堆栈框架

51 阅读6分钟

apple.png

苹果采纳 OWA 六项选择架构建议,但仍有改进空间

导语: 好消息!苹果采纳了开放网络倡导组织 (OWA) 提出的 11 项浏览器默认设置和选择屏幕建议中的 6 项,以遵守欧盟数字市场法案 (DMA)。这对用户选择和浏览器竞争来说是向前迈出的一步。

一、已采纳的建议:

  1. 在选择默认浏览器时,浏览器供应商应获得“热座”位置。
  2. 浏览器应能够在选择屏幕上显示更多信息。
  3. 一旦选定,浏览器应立即设置为默认浏览器并在后台下载。
  4. 浏览器供应商需要更多数据来衡量选择屏幕的有效性。
  5. 在同步或购买新设备时,应向用户显示选择屏幕。
  6. 更改默认浏览器的选项应从浏览器设置移至集中位置。

二、未采纳的建议:

  1. 用户选择的默认浏览器必须用于应用内浏览 (SFSafariViewController)。
  2. 选择屏幕上的浏览器不应锁定到守门人的应用商店。
  3. 浏览器应该能够知道它们是否是当前的默认浏览器。
  4. 如果用户搜索“默认”、“浏览器”或“默认浏览器”,则更改默认浏览器的选项应显示在设置搜索中。
  5. 浏览器应该能够在安装后触发一键提示将其设置为默认值(就像大多数其他操作系统上的标准一样)。

三、OWA 的担忧和建议:

  • OWA 认为,苹果需要解决应用外安装流程的问题,并确认浏览器开发人员可以选择安装直接分发的版本。
  • 苹果应提供一种在不重置设备的情况下多次触发选择屏幕的方法,以便进行测试。
  • OWA 建议将选择屏幕移至设备设置或设备更新时,而不是在首次使用守门人浏览器时。
  • 如果未选择守门人浏览器,则应从设备上卸载或隐藏,除非守门人能够证明由于技术限制而无法实现。

四、对欧盟以外监管机构的呼吁:

  • 这些变化仅限于欧盟。OWA 敦促其他国家的监管机构仔细研究这些变化,并考虑强制苹果在其管辖范围内实施这些变化。

五、成功的选择架构是什么样的?

  • 成功的选择架构应该消除不公平或操纵性的行为,并为新的和较小的浏览器供应商提供发展空间。
  • 如果第三方浏览器能够在 iOS 或 Android 上获得额外的 10% 的市场份额,那将是一个巨大的成功。

总结:

苹果在浏览器选择方面取得了一些进展,但仍有改进的空间。OWA 将继续与 DMA 合作,以解决这些问题,并确保苹果完全遵守 DMA。

来源:
open-web-advocacy.org/blog/apple-…

React 正在(或即将)成为全栈框架

一、从前端框架到全栈框架

React,凭借其新增的服务器组件和服务器操作,正在演变为一个全栈框架。它曾经是最受欢迎的前端框架,现在成功地弥合了前端和后端的鸿沟,统治着这两方面的领域。

1. 前端框架的兴起

2010 年前后,Backbone、Knockout 和 Ember 等前端框架兴起,随后 Angular 和 React 也加入了竞争。很长一段时间里,客户端渲染 (CSR) 的 JavaScript 应用占据了主导地位,这些应用也称为单页应用 (SPA)。

2. TypeScript 的影响

近年来,TypeScript 作为行业标准出现,为前端开发人员提供了一种类型化、更健壮的编程语言。然而,TypeScript 对 REST 的影响涉及许多临时解决方案。虽然 OpenAPI(以前称为 Swagger)允许团队记录 REST API,但它的主要用途现在变成了生成类型化的 API 接口。

3. RPC 的回归

远程过程调用 (RPC) 并不是什么新鲜事物,但由于 tRPC 的出现,它在 React 生态系统中重新流行起来。tRPC 允许开发者像调用本地函数一样调用后端函数,极大地简化了前后端交互。

4. 服务器组件和服务器操作

2024 年,服务器组件和服务器操作的出现真正弥合了前后端的鸿沟。

  • 服务器组件 允许我们在服务器上执行 React 组件,从而可以直接从数据源(例如数据库)访问数据,然后再使用 JSX 返回 UI。
import { getMessages } from '@/messages/queries/';

const MessageList = async () => {
  const messages = await getMessages();

  return (
    <ul>
      {messages.map((message) => (
        <li key={message.id}>{message.text}</li>
      ))}
    </ul>
  );
};

export { MessageList };
  • 服务器操作 在底层创建 HTTP API 端点,可以通过执行函数像远程过程调用一样调用这些端点。

服务器组件和服务器操作将 React 转变为一个全栈框架。

二、React 全栈开发的未来

React 本身只为服务器组件和服务器操作提供了原语和规范。构建在 React 之上的元框架可以使用其打包器来弥合客户端和服务器之间的差距,该打包器解释了客户端和服务器之间的指令(即 'use client''use server')。

Next.js 是 React 的领先元框架,率先实现了服务器组件和服务器操作。Next.js 现在使开发人员能够访问服务器端资源,例如数据库和消息队列。

随着开发人员开始通过服务器组件和服务器操作直接访问数据库,将会有一个学习曲线来解决简单 CRUD 应用之外的复杂性。

通过全面的教育,前端开发人员将很快掌握使用分层、设计模式和最佳实践来实现后端架构,因为没有人愿意在 React 组件中看到 ORM 函数调用。

三、总结

React 正在经历一场革命性的变革,从一个前端框架转变为一个全栈框架。服务器组件和服务器操作的引入,以及 Next.js 等元框架的支持,为 React 开发者打开了通往全栈开发的大门。

这是一个激动人心的时代,React 开发者将能够从 UI 一直到数据库实现垂直功能。让我们拥抱这个变化,为 React 全栈开发的未来做好准备!

来源:
www.robinwieruch.de/react-full-…




更多内容请查阅 : blog-240826


关注微信官方公众号 : oh my x

获取开源软件和 x-cmd 最新用法