作者:信阳平头哥 时间:2023年01月10日
如果您是熟悉 JavaScript的开发人员,您就会知道该语言提供了一组不断增长的用例和应用程序。但是,充分利用JavaScript并不仅仅是语言本身——使用专为某些用途设计的子集和框架可以使编程更容易、更高效,并帮助您实现一些创意。
经验丰富的 JavaScript 程序员知道该语言的基本版本的一些固有缺点。最值得注意的是,这些包括:
这些只是 JavaScript 中一些众所周知的问题,但幸运的是,与任何常用语言一样,已经创建了一套解决方案和增强工具来帮助解决或最小化其中的一些问题。
这就是本指南的用武之地——首先,我们将向您介绍TypeScript,这是一种“增强的 JavaScript”语言,它在 JavaScript 开发人员中越来越流行,它提供了一套升级来帮助解决基础语言的一些限制。然后,我们将探索两个最流行的使用 TypeScript 构建应用程序的框架——AngularJS和NestJS。
虽然从技术上讲是 JavaScript 的超集,但对于新手来说,理解 TypeScript 的最简单方法是将其简单地视为具有附加功能的 JavaScript。或者换句话说,TypeScript 本质上是专门用于应用程序开发的 JavaScript。从本质上讲,TypeScript 是一种强类型、面向对象的编译语言。它最初是由微软的 Anders Hejlsberg(负责创建C#的同一个人)创建的。然而,TypeScript 不仅仅是一种语言。它也是一套工具。
但为什么需要它?正如经验丰富的 JavaScript 开发人员所知,随着 JavaScript 代码的增长,它有变得混乱的趋势,使得维护和重用现有代码变得困难。此外,该语言未能包含面向对象、强类型检查和编译时错误检查的关键特性,这限制了 JavaScript 在企业级作为成熟的服务器端技术使用。由于这些问题,TypeScript 旨在弥合这一差距。
在结构上,TypeScript 具有以下三个核心组件:
作为 JavaScript 的增强版本,TypeScript 旨在为程序员提供一些特定的好处和用例。一些最值得注意的包括:
虽然 TypeScript 可以被认为是一种“增强型语言”,但 AngularJS 是一种用于创建动态 Web 应用程序的结构框架。它允许您使用 HTML 作为您的模板语言,以及扩展 HTML 语法以简洁地表达应用程序组件。
AngularJS 还提供数据绑定和依赖注入功能,这可以帮助您消除大量代码,否则您将不得不费时地编写代码。因为所有这些也发生在浏览器中,AngularJS 与服务器技术一起工作得很好。
此外,AngularJS 可以通过为任何开发人员提供更高级别的抽象来简化应用程序开发。虽然这限制了灵活性,可能会惹恼一些程序员,但 AngularJS 的构建遵循了 CRUD 的原则。由于 CRUD 应用程序代表了当今正在构建的大多数 Web 应用程序,因此这种灵活性的损失被 Angular 框架的许多用例所抵消。
那么 Angular 是如何增强你的 JavaScript 项目的呢?这个框架为您的工具包增加了哪些额外的好处?以下是使用 AngularJS 的一些最大好处:
与 AngularJS 类似,NestJS 是另一个与主要 JavaScript 语言一起工作的框架。它通常用于构建高效、可扩展的 NodeJS 服务器端应用程序。它还使用 TypeScript 构建并完全支持。
NestJS 既提供了比 Express 或 Fastify 等更常见的 NodeJS 框架更高级的抽象,也将它们的 API 直接暴露给程序员。这允许程序员自由使用可用于底层平台的各种第三方模块。
NestJS 由 Kamil Mysliwiec 开发,专门设计为用于快速构建服务器端应用程序的框架。Mysliwiec 在很大程度上借鉴了 Angular 提供的优势,Nest 应用程序的结构反映了 Angular 框架的影响。例如,控制器、提供者、模块和管道的使用都听从 Angular。
与 Angular 一样,NestJS 提供了一些特定的用户优势,使其成为对 JavaScript 开发人员有吸引力的工具:
确信 TypeScript、Angular 和 NestJS 是您想要添加到您的编码库中的东西?然后看看SoloLearn移动应用程序,您可以在其中学习完整的课程,涵盖您需要了解的有关所有这些出色工具的所有信息。通过围绕语言关键元素的各种教程,以及用于测试您知识的测验和编码挑战,这是您熟悉基础语言的绝佳选择。
完成课程后,还有大量关于TypeScript、Angular和NestJS的资源在网络上免费提供。如果您需要额外的帮助,请尝试创建一些小型、简单的应用程序(甚至是应用程序的各个方面),并为每个工具利用蓬勃发展的开发人员社区。快乐编码!