我是 angular 2 和 nativescript 的新手。我想创建可以在网络和移动设备上运行的应用程序。我读到您可以使用此框架共享代码并仅切换模板,但没有教程或文档。所以,如果有人能给我一些开始的方向,我该怎么做。
谢谢!
我是 angular 2 和 nativescript 的新手。我想创建可以在网络和移动设备上运行的应用程序。我读到您可以使用此框架共享代码并仅切换模板,但没有教程或文档。所以,如果有人能给我一些开始的方向,我该怎么做。
谢谢!
tl;dr:尽量不要在您的服务中放置任何特定于平台的代码或 UI 代码。然后可以在平台之间共享这些服务。
您需要了解的第一件事是,在本机视图中,您不能使用与普通浏览器中相同的标记(div、span、table 等)。因此,您的所有 UI 都需要针对 Web 和移动设备进行单独编码。
如果您遵循 Angular 2 的最佳实践,您就会将您的应用程序划分为组件、指令和服务。理想情况下,服务是应用程序的大部分逻辑所在。他们应该处理 http、缓存、常用辅助方法、全局常量等。
如果这些服务不包含任何特定于平台的代码,您可以在 Web 和移动设备之间重复使用这些服务,而无需进行细微更改。例如,http
由 angular 和 nativescript-angular 暴露的具有相同的 api。因此,如果您通过 http 作为服务来做某事,并且该服务不处理任何 UI 元素(它不应该),那么该服务应该可以在 Web 和浏览器上运行。您可以在 Web 和移动项目之间共享服务目录,并覆盖您想要为平台自定义的任何内容。
示例:假设您想从后端获取用户列表并将其显示为列表。理想情况下,您将拥有一个User
服务,该服务具有get
返回来自 BE 的 json 用户列表的承诺的方法。
ListView
、导入User
服务并使用 promise fromget
方法来填充它。<li>
在它的模板中。这一切都是为了让您的服务尽可能地不受平台特定代码的影响。
希望这可以帮助您开始了解如何构建应用程序以最大程度地重用代码。
我将跳过 Akash 已经介绍的内容,因为它对 angular 2 项目都很有用。好的指点。我将主要坚持 Nativescript-Angular 方面。
我建议查看一些正在积极解决您描述的问题的入门模板。这将使您遵循他们的约定,但总体而言,约定是好的,并且在谷歌的建议之上。实际上,您最终会得到一个项目空间,其中相同的服务在 Web / 移动 / 桌面上运行,并且 UI 专门针对所需的环境进行了描述:
Nathan Walker 的两个项目:
Angular2 魔法可能是一个更容易的起点。Angular 2 高级种子更灵活,但如果您不熟悉技术和包含的项目,它确实意味着它有更大的学习曲线。它有文档,并且有很多人在使用它,因此将提供更多帮助。
Nativescript 文档和教程确保您不会错过:
如果您的 IDE 是 VS Code,那么还有一些值得安装的工具: https ://marketplace.visualstudio.com/search?term=nativescript&target=VSCode&sortBy=Relevance
非常适合 Nativescript-angular 模板:
angular2 代码模板目前为 Angular2 当前运行的 RC3 上的 angular2-beta 设计。视图模板仍然是一个很好的节省时间。
运行 NativeScript:
我主要只使用它来启动调试器(并在 VS Code 中的 TypeScript 上进行调试)。大多数时候我仍然使用命令行来开发livesync。