前端开发用typescript-现代后端开发技术栈

2023-09-28 0 2,891 百度已收录

英文:OWEN BUCKLEY 翻译:中诚翻译

本文将介绍过去几年 JavaScript 开发的革命性发展。

近年来,应用程序开发方法发生了巨大的变化。 随着微服务架构、云计算、单页应用和响应式设计的普及和发展,开发人员需要在保证项目开发进度、用户体验和应用性能的同时做出大量决策。 如今,对于后端开发和 JavaScript 来说更是如此。

为了帮助您快速上手,让我们简要回顾一下近年来 JavaScript 开发的革命性发展。 然后,我们将了解后端开发社区面临的一些挑战和机遇。

JavaScript 的复兴

当 NodeJS 在 2009 年问世时,它已经不仅仅是可以在命令行或服务器端运行的 JavaScript。 NodeJS 彻底改变了软件开发中的一个紧迫问题:为后端开发人员提供成熟稳定的生态系统。 正是由于 Node 及其默认包管理器 npm 的存在,JavaScript 在应用程序开发和应用程序创建方面迎来了复兴。 生态系统蓬勃发展,但由于当时 Nodejs 还很年轻,所以经常出现问题。

令人惊奇的是,编码模式和编码约定在过去几年中达到了顶峰。 2015年,JavaScript社区见证了ES2015的发布,生态再次爆发。 以下描述仅说明 JavaScript 生态系统中最流行的部分。

2017 年 JavaScript 生态系统一览

在 Kenzan,我们十多年来一直在多个平台(从浏览器到机顶盒)上使用 JavaScript 进行开发。 我们见证了后端生态系统的成长、发展,并接受了社区所做的所有积极努力。 从Grunt到Gulp,从jQuery到AngularJS,从复制脚本到使用Bower管理后端依赖,我们都经历过。

JavaScript 正在走向成熟,我们的开发流程也在走向成熟。 在为客户开发设计精美、稳定成熟的软件应用程序时,我们意识到强大的本地开发工作流程和技术堆栈是我们成功的基石。 开发过程中对可靠性、成熟度和效率的追求让我们感觉整个开发环境不仅仅是工具的集合。 相反,良好的开发环境有助于最终产品的成功。

挑战与机遇

有了如此多的选择和如此繁荣的生态系统,社区将何去何从? 虽然有选择是件好事,但社区可能很难确定从哪里开始、他们需要什么以及为什么。 随着用户期望的下降,应用程序应该如何运行和执行(加载更快、运行更流畅、响应灵敏、与本机应用程序竞争等)、开发团队的生产力需求以及项目在目标市场中竞争的能力启动与成功之间的平衡变得越来越具有挑战性。 甚至有一个术语来形容这种情况:分析瘫痪:决策因过度思考和不必要的复杂化问题而陷入困境。

在工程开发周期中,盲目追求最新的工具和技术会阻碍开发速度,阻碍重大里程碑的实现,并带来延迟上市和客户流失的风险。 在一定程度上,团队需要明确自己的问题和需求前端开发typescript,然后从可用的选项中做出决策,识别利弊,这样才能更好地预测产品的长期可行性和可维护性。

在 Kenzan,我们的经验使我们能够定义和整合一些关键概念和理论,以确保我们的决策有助于解决我们在开发后端软件时预期的挑战:

新技术栈

在本系列中,我们重点关注后端开发技术栈的三个部分。 对于每个部分,我们将研究我们认为为现代 JavaScript 应用程序开发提供可靠性、效率和可维护性的最佳平衡的工具。

包管理器:Yarn

以可靠且一致可重现的方式管理和安装外部供应商或内部软件包的挑战对于开发人员的工作流程至关重要。 同时前端开发用typescript,维护CI/CD(持续集成/持续交付)也至关重要。 但是您选择哪个包管理器来评估所有上述功能呢? npm? jspm? 鲍尔? CDN? 还是直接从网上复制粘贴然后提交给版本控制器?

我们的第一篇文章将简要介绍 Yarn 以及它如何关注速度并提供稳定的构建过程。 Yarn 确保这次安装的依赖项的版本与上次安装的依赖项的版本完全相同。 需要保证整个过程流畅、可靠、分布式、可扩展,因为任何停顿都会影响开发人员编程或部署应用程序的节奏。 Yarn 旨在通过提供快速可靠的 npm cli 替代品来解决这个问题,管理依赖项,但仍然继续使用 npm 注册表来安装公共 Node 包。 而且,Yarn是由Facebook维护的,他们在开发这个工具时有一个计划。

应用打包:webpack

我们构建的后端应用程序通常由 HTML、CSS 和 JS 以及图像和字体等二进制格式组成,维护起来可能是不可能的,甚至更具挑战性。 那么,如何将代码库转换为优化的、可部署的项目呢? 咕噜咕噜? 咕噜声? 浏览? 卷起? Systemjs? 每一个都有其优点和缺点,但我们需要确保我们的选择实施我们上面讨论的原则。

Webpack 是一款专门用于将 Web 应用程序打包成优化的载体并交付给用户的创建工具。 Web应用程序可能包含HTML、CSS、JS、图像、字体等。如果我们想使用最新的语言特性,例如导入/导出和类,让我们的代码更干净,让工具打包代码,使其优化对于浏览器和用户来说,那么 Webpack 都可以做到这一点,并且可以做得更多!

语言规范:TypeScript

从一开始,编写干净的代码就是一个巨大的挑战。 JavaScript 是一种动态的弱类型语言,为开发人员提供了应用各种设计模式和约定的媒介。 现在,有了最新的 JavaScript 规范,我们可以看到编程社区变得更加稳固。 对导入/导出和类等功能的支持为 JavaScript 应用程序开发带来了根本性的范式转变,并确保代码更易于编写、阅读和维护。 然而,编程语言始终存在缺陷,并且通常随着应用程序的拒绝,应用程序本身也开始受到影响:源代码的可维护性和完整性以及系统的可预测性(应用程序在运行时的状态)。

TypeScript 是 JavaScript 的超集,它为下一版本的 JavaScript 添加了类型安全、访问修饰符(私有和公共)以及新功能。 强类型语言的安全性有助于代码在应用于浏览器之前经过编译器的验证,促进和强制架构设计模式,这有助于缩短开发人员的开发周期,并且还可以自文档化。 这是非常有益的,因为当应用程序出现故障并且代码库中的代码发生变化时,TypeScript 有助于维护回归检查,同时降低代码库的清晰度和置信度。 此外,IDE 集成也是一个巨大的胜利。

如何选择后端框架?

您可能还注意到,到目前为止,我们一直避免推荐后端框架或库,例如 Angular 或 React。 所以,现在是我们谈谈的时候了。

不同的应用程序需要不同的开发方法,具体取决于开发团队的经验、规模、团队偏好以及对反应式编程或函数式编程等概念的熟悉程度等激励因素。 在Kenzan,我们坚信,无论是Angular2还是React,任何兼容ES2015/TypeScript的库或框架的评估和选择都应该根据当时开发场景的具体特点。

如果我们重新审视早期的项目,我们都会看到一个新的技术堆栈,它在后端框架选择方面提供了极大的灵活性。

现代开发技术堆栈,为后端框架选择提供了极大的灵活性

在前面的“视图”层下有一个公共节点,我们可以使用包含一些关键原则的工具来重构应用程序。 在 Kenzan,我们觉得这个技术栈为用户需求和开发者体验提供了选择空间。 这样的结果可以使任何团队和任何应用程序(无论大小)受益。 请记住,此处描述的工具是针对特定类型的项目(前端 UI 应用程序)开发的,并不是可以应用于所有应用程序的一刀切的解决方案。 权衡能力、判断力和团队需求应该是决策的重要驱动力。

接下来做什么

到目前为止,我们已经回顾了过去几年 JavaScript 的复兴如何导致快速成熟的 JavaScript 生态系统的创建。 我们开发了核心概念来帮助我们应对开发后端软件时遇到的挑战和机遇。 我们概述了现代后端开发技术堆栈的三个主要组成部分。 在本系列的其余章节中,我们将仔细研究每个部分。 我们希望您最终能够更好地评估后端应用程序所需的基础设施。

我们还希望您也能认识到我们提供的工具的价值,这些工具以一组核心原则、范例和概念为指导。 这个系列无疑将我们自己的开发经验和开发流程暴露在公众面前,也固化了我们在后端工具方面的理念。 我们希望您喜欢我们分享的内容,我们始终欢迎您提出任何意见、问题或反馈。

在我们的博客系列的下一步中,我们将仔细研究使用 Yarn 进行后端包管理的第一个核心组件。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 typescript 前端开发用typescript-现代后端开发技术栈 https://www.wkzy.net/game/197859.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务