这一挑战也导致了开发团队想要实现代码共享的梦想:将 Web 和移动应用的代码放在同一个地方,允许在 Web、iOS 和 Android 之间共享业务逻辑,并保持足够灵活,以便在必要时包含指定平台的代码。
随着 Schematics 和 ng 的出现,现在有了一整套新的可能性。Angular 和 NativeScript 团队合作创建了 nativescript-schematics ,这是一个可以让你从单个项目构建 Web 和移动应用的技术纲要(原理),适用于 @angular/cli 6.1.0 及以上版本。
开发团队使用命名约定将 Web 代码与移动代码分开,开发人员可以使用 .tns 指定 NativeScript 代码,而 Web 代码则不使用 .tns 扩展。
目标是尽可能多地共享代码,并将特定于平台的代码分解为单独的文件。
开发团队还在 Angular CLI 中为 nativescript-schematics 提供支持,以创建新的代码共享项目,或转换现有的 Web 项目以启用代码共享,并将现有组件和模块创建或转换为代码共享格式。