NativeScript 8.9 发布了,你需要知道什么?

NativeScript 8.9 发布了,你需要知道什么?

NativeScript 8.9 引入了重大增强功能,可简化开发并提高性能。以下是一些引起我注意的、你也应该知道的内容:

  • Node-API 引擎支持:Hermes、QuickJS、JSC 和 V8 等引擎的公开预览版。此升级提高了性能并减小了应用体积。
  • 新 CLI 命令ns widget ios 命令简化了 iOS 小组件的创建,而 ns publish ios 促进了有效的应用程序部署。
  • Tailwind CSS 集成:NativeScript 8.9 支持 Tailwind v4,允许开发者轻松利用现代样式技术。
  • 增强的 iOS 和 Android 支持:新功能,例如 Android 的 16 KB 页面大小支持,以及通过 NativeSource 配置改进的源代码管理。

这些更新将 NativeScript 定位为生产和业余项目的可靠选择,培育了一个渴望探索其在移动应用开发中潜力的社区。

1. Node-API 引擎支持 -- 下一件大事!

NativeScript 8.9 引入了 Node-API 引擎,这显著提升了应用程序性能。主要好处包括:

  • 提高速度:应用程序可以更高效地执行任务,从而实现更快的加载时间和更流畅的交互。
  • 改进内存管理:一些引擎优化了资源使用,有助于降低运行时的内存消耗。

支持的引擎包括:

  • Hermes:一个轻量级的 JavaScript 引擎,针对 React Native 进行了优化,以其快速启动时间而闻名。
  • QuickJS:占用空间小,并支持现代 JavaScript 特性,适合资源受限的环境。
  • JSC (JavaScriptCore):Safari 浏览器背后的引擎,提供了强大的性能和与 Web 标准的兼容性。
  • V8:Google 的高性能引擎,广泛用于 Chrome 和 Node.js,提供卓越的执行速度。

尽管这听起来很棒,但此功能仍处于实验阶段。建议你在更换底层引擎后,对你的应用进行全面测试,以确保一切仍然按预期工作。

2. ns publish ios 回归了!

ns publish ios 命令允许开发者轻松发布他们的 iOS 应用程序。此命令包含了最新的构建工具和文档更新,使管理应用发布变得更加简单。优点包括改进的构建流程并与现有工作流的集成,确保你的应用能够以最少的精力保持更新。

3. Tailwind V4

将 Tailwind v4 与 NativeScript 8.9 集成引入了大量简化开发过程的功能: 主要特性

  • 实用优先(Utility-First)方法:Tailwind CSS 强调使用实用类,允许你直接在标记中组合自定义设计,而无需离开你的 HTML。
  • 可定制化:轻松调整 Tailwind 的默认配置以满足项目需求,确保应用程序的品牌一致性。
  • 响应式设计:内置的响应式工具使为各种屏幕尺寸创建自适应布局变得简单。

对开发人员的好处

使用 @nativescript/tailwind 的开发人员可以获得的好处包括:

  • 更快的开发速度:实用优先的范式实现了快速原型制作,并减少了对自定义样式表的需求。
  • 减小 CSS 文件大小:Tailwind 的清除(purging)功能优化了文件大小,提高了加载时间和性能。
  • 增强协作:设计师和开发人员可以使用共享的样式语言更高效地协同工作。

Tailwind v4 的增强功能使开发人员能够在保持效率和性能的同时,创建视觉上吸引人的应用程序。

4. 增强的 iOS 和 Android 支持

iOS 小组件创建

NativeScript 8.9 中引入的功能使创建 iOS 小组件变得前所未有的简单。这个过程涉及利用新的 ns widget ios 命令,这大大简化了小组件的开发。 创建 iOS 小组件的步骤:

  1. 使用 NativeScript CLI 初始化一个新项目。
  2. 执行命令:ns widget ios 来搭建你的小组件。
  3. 自定义生成的文件以满足你的应用需求。

iOS 小组件的用例

  • 快速访问:小组件可以让用户一目了然地获得基本信息,例如天气更新或即将到来的日历事件。
  • 交互功能:允许用户直接从主屏幕执行操作,增强用户参与度和可访问性。

有了这些进步,开发引人入胜且功能强大的 iOS 小组件变得无缝衔接,赋能开发者以创新的方式增强应用程序功能。

Android 增强

NativeScript 8.9 引入了对 Android 16 KB 页面大小的支持,这对于面向现代 Android 应用程序的开发人员来说是一项重要的增强。此功能优化了内存使用并提高了性能,特别是对于拥有大型数据集的应用程序。此支持的影响包括:

  • 改进的加载时间
  • 增强的用户体验
  • 高效的资源管理

除了页面大小支持外,版本 8.9 还为 Android 平台带来了显著的生活质量改进。这些增强功能简化了开发过程,让你可以更专注于构建功能,而不是解决构建问题。值得注意的改进包括:

  • 更新 NDK 27 以获得更好的兼容性
  • 增强的调试工具
  • 优化的构建流程

这些进步将 NativeScript 定位为生产和业余项目的首选,确保你能轻松创建高效且有效的 Android 应用程序。

通过 NativeSource Config 改进 iOS 原生代码的源代码管理

过去,你必须将你的 iOS 原生代码放在 App_Resources/iOS/src 中。现在它更加灵活,因为我们现在可以在 nativescript.config.[ts|js] 文件中使用 NativeSource 配置。这为在 NativeScript 8.9 中管理 iOS 源代码的放置提供了更强大的方式。此配置允许你定义源文件的位置,从而在项目中实现更大的灵活性和组织性。

示例:

typescript 复制代码
// ...
ios: {
  NativeSource: [
    {
      name: 'ProjectPlatformSrc',
      path: './src/**/*.swift'
    }
  ],
}

Swift 包的多目标支持

NativeScript 8.9 引入了在项目内管理 Swift 包的增强功能,显著提高了灵活性和组织性。Swift 包多目标支持的集成允许开发人员在 nativescript.config 文件中直接定义适用于各种目标的配置。

通过这些增强功能,开发人员可以轻松管理多个目标,从而改善项目结构并更好地控制依赖项。这些新功能不仅提高了生产力,也为在不同环境下实现更强大的应用程序性能铺平了道路。

更新到 NativeScript 8.9

在开始之前,请确保你拥有 Node 22.12.0 或更高版本。然后使用 npm 将你的 nativescript cli 更新到最新版本:

bash 复制代码
npm install -g nativescript

你可以通过以下方式确认最新安装的版本:

bash 复制代码
ns -v

要将你现有的项目迁移到 8.9 版本。你可以在你的项目中运行以下命令:

bash 复制代码
ns migrate

项目依赖项现在应该都已更新。另外,请不要忘记确保你的项目是干净的:

bash 复制代码
ns clean

以下是你成功迁移后依赖项应有的样子:

json 复制代码
"dependencies": {
  "@nativescript/core": "~8.9.0"
},
"devDependencies": {
  "@nativescript/android": "~8.9.0",
  "@nativescript/ios": "~8.9.0",
  "@nativescript/types": "~8.9.0",
  "@nativescript/webpack": "~5.0.0"
}

结论:拥抱 NativeScript 8.9 的新功能!

探索这些功能可以提升你的项目。通过分享你的使用体验反馈来与社区互动。你的见解有助于塑造未来的发展,确保 NativeScript 仍然是生产和业余项目的首选。

NativeScript 8.8 中有趣更新!

距离 NativeScript 8.7 发布一段时间后,NativeScript 8.8 终于面世了,它带来了许多我们翘首以盼的有趣更新。对我来说,当我看到 ns native 命令时就被种草了------它超级实用。虽然还有更多令人兴奋的更新,让我们逐个深入了解。

CLI 更新

ns embed

如果你有一个现有的 Swift、Objective-C、Kotlin 或 Java 平台项目,你现在可以用一条命令轻松地嵌入 NativeScript 的界面、流程和工具。

bash 复制代码
ns embed ios

# 或者 ...

ns embed android

此命令允许开发者将 NativeScript 功能直接集成到他们的原生项目中,简化了开发流程,并通过利用 NativeScript 的强大功能来提升用户体验。

ns native

现在是我最喜欢的部分,我们可以通过 CLI 轻松地生成平台语言的类或工具:

bash 复制代码
ns native add swift AwesomeClass
# Swift 文件 'nativescript-project/App_Resources/iOS/src/AwesomeClass.swift' 已成功生成。

ns native add objective-c OtherAwesomeClass
# 模块映射 'nativescript-project/App_Resources/iOS/src/module.modulemap' 已使用头文件 'OtherAwesomeClass.h' 更新。

ns native add kotlin com.company.AwesomeClass
# Kotlin 文件 'nativescript-project/App_Resources/Android/src/main/java/com/company/AwesomeClass.kt' 已成功生成。

ns native add java com.company.OtherAwesomeClass
# Java 文件 'nativescript-project/App_Resources/Android/src/main/java/com/company/OtherAwesomeClass.java' 已成功生成。

这些平台文件将自动构建到你的项目中,允许你生成 TypeScript 接口以便在 NativeScript 应用中轻松使用,从而促进平台特定代码与你的 NativeScript 代码库之间的无缝集成。

核心功能增强

CSS 媒体查询支持

感谢贡献者 Dimitris-Rafail Katsampas 提交了拉取请求,你现在可以像预期的那样使用媒体查询来处理各种外形规格的要求。

css 复制代码
@media only screen and (orientation: landscape) {
  Label {
    color: yellow;
    font-size: 24;
  }
}

@media only screen and (prefers-color-scheme: dark) {
  Label {
    background-color: #fff;
    color: #000;
  }
}

@media only screen and (max-width: 400) {
  Label {
    font-size: 10;
  }
}

@media only screen and (min-height: 800) {
  Page {
    background-color: red;
  }
}

此更新增强了 NativeScript 应用的响应能力,允许开发者有效地优化其应用在不同设备和方向上的外观和可用性。

额外的 CSS Level 4 支持

NativeScript 8.8 的发布增加了对更多 CSS Level 4 功能的支持,例如 :not(), :is(), :where(),以及通过 ~ 处理相邻兄弟选择器。这种支持扩展了样式可能性,赋能开发者创建更动态和响应式的 UI 设计。

带效果的 SF Symbols

SF Symbols 是一个包含超过 6000 个符号图标的综合库,旨在与苹果的 San Francisco 字体系统无缝协作,后者是 iOS、macOS、watchOS 和 tvOS 的默认系统字体。由苹果公司推出,SF Symbols 为设计师和开发者提供了一系列在应用程序中可使用的、一致且多才多艺的图标。

好消息是,NativeScript 8.8 通过任何 Image 组件并使用 sys:// 前缀来支持 SF Symbols。

xml 复制代码
<GridLayout rows="auto,auto" columns="*,*">
  <Image src="sys://photo.on.rectangle.angled" width="100" tintColor="green" [iosSymbolEffect]="symbolBounceEffect" />

  <Image col="1" src="sys://photo.on.rectangle.angled" width="100" tintColor="green" [iosSymbolEffect]="symbolBounceEffect" iosSymbolScale="small" />

  <Image row="1" src="sys://photo.on.rectangle.angled" width="100" tintColor="green" [iosSymbolEffect]="symbolBounceEffect" iosSymbolScale="medium" />

  <Image row="1" col="1" src="sys://photo.on.rectangle.angled" width="100" tintColor="green" [iosSymbolEffect]="symbolBounceEffect" iosSymbolScale="large" />
</GridLayout>

你可以在 TypeScript 代码中定义符号效果:

typescript 复制代码
import { ImageSymbolEffects } from '@nativescript/core';

const symbolBounceEffect = ImageSymbolEffects.Bounce;

欲了解详情,请观看演示这些新功能的 YouTube 视频。

WinterCG 合规性 -- 第二部分

借助 NativeScript 8.8,对 WinterCG 的合规性得以延续,纳入了对加密函数以及用于 base64 编码和解码的 btoaatob 的支持。这一改进确保开发者能够创建更安全的应用程序,同时轻松处理 base64 数据。

Android 增强

在 8.8 版本中,引擎现在将 Kotlin 2 与 Gradle 8 作为官方默认配置启用。此更新鼓励开发者利用 Kotlin 的最新功能,同时为即将推出的 API 级别 34 的最低 SDK 做好 NativeScript 项目的准备,确保与未来 Android 更新的兼容性。

iOS 改进

在 8.8 版本中,引擎首次提供了平台类型弃用和版本信息注解。此功能极大地提升了开发体验,允许开发者查看 API 是何时引入的,或者是否已被弃用。这些信息有助于促进高效的项目开发周期,因为开发者可以根据需要计划切换到更新的 API。

结论

NativeScript 8.8 的发布带来了一大堆新功能和改进,赋能开发者创建强大、现代的移动应用程序。从与原生项目的简化集成,到对 CSS、SF Symbols 的增强支持以及改进的平台合规性,NativeScript 8.8 实现了无缝且高效开发体验。无论你是经验丰富的开发者还是 NativeScript 生态系统的新手,此版本中的更新无疑都会帮助你更轻松地构建更优秀的应用程序。今天就拥抱 NativeScript 8.8 的力量来增强你的开发流程吧!

Network Inspection 功能在版本 8.7 之后恢复正常

网络调试是任何开发过程中的关键环节,它能让开发者高效地监控网络活动并排查问题。然而,在 8.4.0 之后的版本中引入了一个错误,破坏了网络调试功能。这个错误导致在使用 "ns debug" 命令时,网络检查期间无法显示网络日志。

这个问题很快得到了解决,iOS 平台在 8.5.2 版本中获得了修复。不幸的是,该错误在 Android 设备上依然存在,这让依赖网络调试功能的开发者感到非常沮丧。

现在,随着 8.7 版本的发布,网络检查功能已为 Android 用户恢复。开发者可以再次进行网络调试并查看网络日志,这大大有助于诊断和解决连接问题。

所以,请立即升级到 8.7 版本以享受这项福利,确保网络调试过程更顺畅、更高效。此次更新不仅修复了现有错误,还提升了整体的开发体验。

探索 NativeScript 8.6 中激动人心的更新

嘿,NativeScript 爱好者们!我们又带来了 NativeScript 开发世界的最新消息。NativeScript 刚刚发布了 8.6 版本,里面包含了一些重磅好料。无论你是经验丰富的应用开发者,还是刚刚踏入编程世界的新手,这些更新都一定会让你心情愉悦。那么,让我们卷起袖子,深入了解一下 NativeScript 8.6 的新功能吧!

1. 为 iOS 带来 Vision Pro 支持

如果你是个 iOS 发烧友,那你有福了。NativeScript 8.6 为 iOS 引入了 Vision Pro 支持,为你的应用程序增添了增强的视觉体验。这意味着你可以创造出令用户惊艳的视觉效果极佳的 iOS 应用。所以,大胆去畅想吧,因为 NativeScript 会全力支持你。

查看快速示例:blog.nativescript.org/develop-vis...

2. 更轻松的测试:改进的 testID 和无障碍端到端测试

应用测试变得更简单了。NativeScript 8.6 带来了改进的 testID 和无障碍端到端(e2e)测试,让开发者更容易确保他们的应用在开发和生产环境中都能平稳运行。告别那些测试带来的烦恼,迎接更流畅的应用开发流程!

3. 欢迎 Android 14 (API 级别 34)

NativeScript 全力支持你!最新版本增加了对 Android 14 (API 级别 34) 的支持,让你能够充分利用最新的 Android 功能和改进。走在潮流前沿,让你的 Android 应用闪闪发光。

4. 修复了 iOS 长时间运行应用的内存泄漏问题

感谢 Eduardo Speroni 解决了 iOS 应用在后台运行时发生的内存泄漏问题。通过升级到 8.6 版本,现在可以享受到明显更稳定、更可靠的 iOS 应用体验,确保你的用户在长时间运行会话中不会遇到任何意外故障。

相关的 PR 可以在 Github 上找到:

5. 核心 CSS 增加,包括 Text-Stroke

在应用开发中,样式至关重要,NativeScript 明白这一点!这就是为什么他们在 8.6 版本中增加了一些核心 CSS 增强功能。一个值得注意的新增功能是应用文字描边(text-stroke)的能力,为你提供了更多的创作自由,可以为你的应用设计出漂亮且独特的界面。准备好用时尚而精致的 UI 给你的用户留下深刻印象吧!

6. 全新的文档和完整的 API 参考

文档是开发者的最佳朋友,而 NativeScript 用完整的 API 参考对其进行了革新。无论你是新手还是专家,你都会发现文档变得更加用户友好和全面。现在比以往任何时候都更容易浏览和理解 NativeScript 框架,确保你的开发之旅顺畅无阻。

在这里查看新的 NativeScript 文档

7. "ns start" -- 全新的交互式 CLI

最后但同样重要。感谢 Ammar Ahmed。NativeScript 8.6 现在引入了 ns start 交互式命令行界面(CLI)。这个便捷的新增功能让你启动项目变得更加简单。无论你是要开始一个新应用还是一个新功能,这个命令都会轻松引导你完成设置过程。告别那些手动配置,迎接更高效的工作流程。

NativeScript 8.6 中的全新 CLI

凭借对 iOS 和 Android 的增强、改进的测试、样式选项和用户友好的文档,很明显 NativeScript 会在每一步都支持你。更不用说全新的交互式 CLI,让你的开发过程比以往任何时候都更顺畅。

相关推荐
sp4221 小时前
NativeScript 开发技巧
app·nativescript
sp4221 小时前
在 NativeScript-Vue 中实现流畅的共享元素转场动画
app·nativescript
sp4221 小时前
在 NativeScript 中扩展 Android 原生类
app·nativescript
sp42a1 天前
将 NativeScript 项目升级到 Android API 35 级别
android·nativescript
金木讲编程2 年前
NativeScript开发ios应用,怎么生成测试程序?
macos·ios·nativescript