返回博客主页
← 所有文章

2023 年回顾

2023 年 12 月 29 日 - 作者:技术指导委员会 (TSC)

回顾 2023 年,我们对创新而充满关怀的社区充满了感激之情。从 1 月 6 日开始,这一年就以一个非凡的工作空间开始,展示了 Angular、React、Solid、Svelte、TypeScript 和 Vue 应用程序在一个工作空间中和谐共处,共享创意的 SwiftUI 动画,到 12 月份看到 NativeScript 在拉斯维加斯推出令人惊叹的照明行业应用程序,这仅仅是对这一年开始和结束之间发生的事情的轻描淡写。

我们看到了 如何将 JavaScript 视图模板渲染为图像,到 在我们的项目中无缝使用激动人心的 Jetpack Compose 组件,以及看到了 社区如何从任何平台 SDK 创建插件。此外,我们还学习了如何 实现自然 iOS 列表行为,与平台自己的 Mail 应用程序相匹配,以及 在 Android 上制作丝滑流畅的可滑动行。当然,这很酷,但真正特别的是我们如何认可创新。

集成

NativeScript 今年没有落下任何人,它将创新社区聚集在一起,就像它将原生代码和 JavaScript 集成在一起一样。

怎么样 通过 Open Native 在 StackBlitz 上使用 React Native?当障碍消失时,开发体验就提升了。特别是当能够将平台与 单个 JavaScript 原语结合起来实现诸如单一滚动事件之类的事情,以帮助用户体验动画,到 使用单个 <Pager /> 原语在 iOS 和 Android 之间实现一致的列表行为,更不用说 瞬间更改布局类型。说到开发者选择的提升感,我们还可以 使用 React Native 模块跨 Angular、React、Solid、Svelte 和 Vue 在 iOS 和 Android 上,这一切都来自您的网络浏览器使用 StackBlitz

我们甚至可以 在 NativeScript 项目中使用 React Native Notifee,这样我们就可以 享受我们应得的整个行业,甚至可以利用 SwiftUI(如果需要)。

今年的集成惊喜可能是 jQuery 支持,但嘿,它确实有效!

我们期待 Flutter 团队在庆祝来自各种 NativeScript 项目的使用方面取得更多进展,与 @nativescript/flutter 合作。说到进步,我们也向 Capacitor 欢呼,它不断寻求提高功能,包括像 Ionic Portal 支持与使用 App Flow 进行实时更新 之类的持续改进。

当开源社区发声时,NativeScript 会倾听并做出回应,无论是 独立作者,还是像 行业中最大的科技公司,从 GoogleMeta 到 Microsoft,他们在 TypeScript 诞生之初就大力支持它,或者仅仅是在整个 JavaScript 生态系统中庆祝创新,从 VueSvelte 等等。

甚至 WinterCG 也成为焦点,并将通过广泛的标准化流程来塑造 2024 年即将到来的很多内容。

参与激动人心的新兴技术总是受欢迎的,无论是通过 关于 Solid 的 YouTube 直播,还是在日本发表 Svelte 演讲,以及参与 Callstack 播客

进步

今年发布的共享元素过渡与 @nativescript/core 8.5 一起发布。无论您是在进行 时尚的音乐播放器风格交互,还是仅仅是 有趣的平台视觉效果,今年交付的新功能使开发人员能够突破界限,甚至解锁 使用 Swift Package Manager 与我们的项目。

NativeScript 8.6 发布了 Vision Pro 支持,首次推出了 SwiftUI 应用程序生命周期支持,以及我们在一个全新的平台上 通过了完整的自动化测试套件

我们绝对热爱我们的目标平台,因此我们自然也喜欢 将 NativeScript 嵌入到我们令人敬佩的主机中,纯粹的原生开发可以驱动整个项目,同时允许所有思维方式(Web 和原生)蓬勃发展并协同工作。您甚至可以学习如何 在 iOS 上创建 Home Widget 以及 启用从应用程序外部拖放

深入了解 NativeScript 如何进行自然的平台开发,我们可以 直接从 TypeScript 中实现 iOS 代理,以及表达 简洁的 iOS Swift 效果在 TypeScript 中,如果我们愿意。

即使是 Apple 的 WWDC 也会出现在我们的思维方式中,我们可以一窥 充满创新的一周。如果这 没有让你迷失在矩阵中,那就尝试一下 从您的网络浏览器访问 iOS API。或者,您也可以 在您的台式机上完成所有工作

Web 的平台阴阳

如果平台是我们的阴,那么 Web 就是我们的阳。今年,NativeScript HTML 诞生,它将 NativeScript 映射到 DOM。它基于 Happy DOM 作为彻底的 DOM/HTML 填充,将 NativeScript 重新设想为一流的 HTML 框架,所有 Web API 都已填充。这意味着事件处理、UI 操作等等,都与 1:1 匹配,允许 Web 开发人员无缝地采用 NativeScript。

为了不遗漏 Web 的精华,今年发布的 共享元素过渡 功能正在朝 View Transitions API 方向发展,以允许在 UI 状态之间转换时有更大的灵活性。而且,应大众要求,甚至 jQuery 也获得了支持!

贡献者 Osei Fortune@nativescript/canvas 提升到了新的高度,为 令人大开眼界的开发可能性 提供了支持。我们对 2024 年的 v2 版本感到兴奋。

我们一直在关注 Mason,它是一个将 Taffy 布局引入 NativeScript 的库,这里可能在 2024 年出现惊喜。

另一位贡献者 Ammar Ahmed 甚至为 NativeScript 中的 DOM 做了另一种尝试,以进行进一步的测试和基准测试,将 Yukino SongDOMiNATIVE 融入其中。

学习

对那些 第一次开始构建 NativeScript 应用程序之旅的人来说,保持内心的平静很重要。在开始向您的受众交付应用程序时,了解使用行为也是很有见地的,可以通过利用 很棒的解决方案 来提高用户满意度。学习任何新事物都可能是一个挑战,但我们的社区一直在提供有用的 DX 方面,例如 针对使用 Vue 3、Svelte、React、Solid 等构建的 NativeScript 应用程序的框架无关的细粒度 TypeScript 类型。当然,在旅途中享受乐趣也很重要,就像 让信用卡弹跳!有了理解,您甚至可以 决定去教书

一旦超越了学习的范围,并展开了翅膀,使用 Rive 沉浸到丰富的动画中 可以真正增强您的应用程序的设计和感觉。我们鼓励所有开发人员 学习如何使用 Rive 狂欢

尽管所有这些开发都在进行,但不要忘记 使用 Maestro 进行测试,并 使用 Storybook 深入了解您的组件

一旦您对应用程序的行为充满信心,您就可以最终 发布您的应用程序,就像我们的社区今年所做的那样,使用多种流行的思维方式,包括来自我们挪威朋友的一种

我们也知道,有时在发布应用程序之前,团队尝试 重新创建流行的模式,例如这个 Uber Eats 示例 或这个 Pokedex 示例 可能会有所帮助,但是即使 研究一个在 iOS 和 Android 上展示相同用户体验的画布示例 也可能会有所帮助。但是将 Web 加入进来呢?也有 将 Web、iOS 和 Android 结合在一起的示例。

如果您担心安全性,您可能想 为您的应用程序添加一个安全的锁定屏幕

以 2023 年结束,并向 2024 年送上新年快乐

然后是 12 月 12 日,NativeScript 的 9 岁生日!

令人欣慰的是,我们尊重 我们核心价值观中的意见分歧。尤其是在技术发展经常押注于另一个技术的消亡的时代。这个概念在这里根本不适用。

展望更广阔的未来,仅仅 想象一下使用 Expo 与 NativeScript

如果 2023 年证明了 NativeScript 被低估了,那就等着 2024 年吧 - 干杯!