2023 年软件工程师需要学习的技术栈
我现在是 2023 年的第五个月,已经发生了很多事情。就在去年年底,我们看到了人工智能平台 ChatGPT 的发布,以及它如何席卷全球。
毫无疑问,技术正在以天文数字的速度发展,充分利用这些当前趋势符合每个开发人员或程序员的最大利益。事实上,对于技术新手来说,现在是学习技术及其应用的最佳时机。今天的免费资源比 5-10 年前多得多。
这就像每天都在进行新的更新和发布。虽然许多已建立的框架正在宣布更多功能,但正在构建全新的框架。现在确实是学习编程的好时机。
因此,如果您正在考虑学习一些新的技术知识,或者您刚刚起步并且不知道从哪里开始,那么下面是一些您可以着手研究的框架或技术堆栈。
什么是技术栈?
让我们首先解释什么是技术栈。技术堆栈是用于构建 Web 或移动应用程序的框架、工具、库、平台和编程语言的集合。该堆栈可帮助您设计、开发、测试和部署从前端到后端的应用程序。
大多数时候,您选择的编程语言将决定您为任何项目采用的堆栈。在其他情况下,项目的类型和范围将决定您选择的堆栈。
识别和使用技术堆栈的优势之一是它的全球采用者社区。庞大的社区会提供充足的良好学习资源,例如文档、教程、书籍、博客等。这使新采用者可以轻松快速上手。
虽然其中一些技术堆栈是众所周知的,但其他技术堆栈不太受欢迎,但仍被相当多的开发人员使用。
因此,这是 2023 年需要学习的技术栈
1.MEAN
自从 NodeJS 取得突破以来,JavaScript 已经普及了许多 Web 框架。其中值得注意的是MEAN堆栈(M ongoDB、E xpress、A ngular 和N ode)。
MongoDB:是一个文档数据库;它是当今可用的 NoSQL 数据库之一。它以 BSON 格式存储数据;BSON 是二进制 JSON(JavaScript 对象表示法)。JSON 是一种流行的网络信息交换标准。
使用 MongoDB(以及一般的 NoSQL 数据库),您不必像在 MySQL 或 MSSQL Server 等传统关系数据库系统中那样为您的数据定义表结构。这使它成为一个高性能和高度可扩展的数据库选项。
Express:是一个“快速、独立、极简的 Node.js Web 框架”。凭借其丰富的 HTTP 功能和中间件,您可以快速开发可供 Web 或移动端前端客户端使用的 API。
Angular:是一个开源框架,早期是用 JavaScript 写成的 AngularJS。它在 2016 年被 TypeScript 完全重写为 Angular 2.0(或简称 Angular),以享受该语言的一些最佳特性,从而形成一个可扩展且更易于维护的代码库,可以处理大型和复杂的项目。
Node:“ Node.js 是一个后端 JavaScript 运行时环境,它运行在 V8 JavaScript 引擎上,并在 Web 浏览器之外执行 JavaScript 代码”。它在浏览器之外运行 JavaScript 代码这一事实使其成为一项革命性的技术。在发布之前,JavaScript 被认为是一种只能在浏览器上运行的语言,但是使用 Node,您可以编写 JS 代码并让它在 Node 引擎运行的任何地方运行,包括在服务器上。这催生了现代 JavaScript 全栈 Web 开发,开发人员可以使用 JavaScript(或 TypeScript)开发应用程序的前端和后端。
2. MERN
用ReactJS替换MEAN 堆栈中的Angular为您提供了MERN堆栈。
ReactJS:可以说是最流行的前端 JavaScript 库;它用于为 Web 应用程序构建 UI 组件。React Native 是一个基于 React 的框架,将 React 的强大功能与移动设备的原生能力相结合,生成可以在手机上原生运行的应用程序。
其他基于 React 的开源项目有 NextJs、ChakraUI、Material UI 等。
使用库或框架可以加快应用程序开发,因为您不是在编写纯 JavaScript 或 vanilla JavaScript。
3.MEVN
同样,将上面堆栈中的 Angular 或 React 替换为 VueJS 即可为您提供MEVN堆栈。
VueJS:“Vue.js 是一个开源模型-视图-视图模型前端 JavaScript 框架,用于构建用户界面和单页应用程序”。
作为三个最流行的前端框架中最新的一个,VueJS 迅速赶上了 React 和 Angular。它是一种简单的方法,而且它是一个完整的框架,而不仅仅是一个库,这一事实引起了许多开发人员的注意。
NuxtJS是另一个基于 VueJS 的框架。它为 VueJS 应用程序提供结构并生成生产就绪代码。Nuxt 具有服务器端渲染、静态站点生成、自动生成路由等功能,而且它对 SEO 友好。Nuxt 之于 Vue 就像 Next 之于 React。
4. LAMP/WAMP/MAMP
LAMP (L inux A pache、M ySQL、P HP)技术堆栈自 90 年代初/中期就已经存在,由于易于学习的 PHP 编程语言,它很容易成为 Web 开发的首选技术堆栈和一个庞大的开发者社区。这个堆栈绝对证明了它为大多数网站和企业提供支持的价值。
还有其他替代方案,例如适用于 Windows 的WAMP和适用于 Mac 的MAMP。另一个跨平台解决方案是XAMPP,它可以在任何操作系统上运行。因此,您编写代码或部署最终应用程序的操作系统将决定您选择 LAMP、WAMP 还是 MAMP。
Linux、Windows、Mac:这些操作系统中的任何一个都可以在此堆栈中采用。适用于 LAMP 的 Linux、适用于 WAMP 的 Windows、适用于 MAMP 的 Mac 或适用于所有操作系统的 XAMPP。
Apache:这是一个开源 HTTP Web 服务器,用于为浏览器提供网站服务。它可以通过配置文件轻松配置。
MySQL:这是该堆栈的首选数据库,因为它可以与现有的 PHP 函数 (MySQLi) 很好地混合,以对您的数据执行 CRUD 操作。
PHP:一种用于网络的脚本语言。对于此堆栈, Python开发人员使用 Python 而不是 PHP也很常见。
除了上面提到的仅用于访问 MySQL 数据库的 MySQLi 功能外,PHP 还有一个称为PHP 数据对象(PDO)的轻量级数据模型框架,用于使用 PHP 访问不同的数据库。
这个流行的堆栈启动了一些非常多的开源网络技术,用于博客、电子商务和内容管理系统,如 WordPress、Joomla、Drupal、Magento、WooCommerce、OpenCart 等。
PHP 语言还催生了非常成功的 Web 应用程序开发框架,例如 Laravel、Codeigniter、Symphony、Yii 等。
由于它的流行,您仍然会发现许多企业建立在这个堆栈之上。这是我开始 Web 开发时学到的第一个技术堆栈;它为我们在第一次创业时构建的第一个 Web 应用程序提供了支持。
5.Java
目前可用的大多数安全、可扩展、面向对象的企业应用程序都是使用 Java 或 .Net 框架开发的。难怪在财富 500 强公司等企业环境中对这些开发人员有很高的需求。
在现有的几种基于 Java 的框架中,Spring/Spring Boot 仍然是任何 Java 开发人员都可以学习的最流行的框架。
Spring Framework:这是一个用于构建 Web 应用程序的开源 Java 框架。您想开发微服务、云、反应式或传统 Web 应用程序吗?Spring Framework 可以做到这一切,甚至更多。Spring 平台包括多个项目,如 Spring Boot、Spring Cloud、Spring Data、Spring Security 等,可帮助您打造满足业务需求的完美应用程序。
Spring Boot:“ Spring Boot 可以轻松创建独立的、生产级的基于 Spring 的应用程序,您可以“直接运行””。如果您想更快地构建现代 Spring 应用程序,请使用 Spring Boot。它嵌入了 tomcat 和其他网络服务器。您还可以自动配置 Spring 和其他库。
Spring Cloud:“ Spring Cloud为开发者提供了快速构建分布式系统中一些通用模式(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)。”
Spring Data:该项目帮助 Spring/Spring Boot 开发人员利用各种数据库技术,例如关系型、非关系型或基于云的数据服务。
Spring Security: Spring Security 是一个用于为 Java 应用程序构建访问控制、身份验证和授权的框架。
这绝对不是所有技术堆栈的详尽列表。我写这篇文章的目的是温和地介绍许多开发人员使用的一些技术堆栈。
我相信每个开发人员都应该熟悉这些堆栈中的一个或多个。
同样非常流行的还有Django(Python)和Microsoft .Net Framework。这些是非常成熟的框架,已经存在了很长时间,拥有庞大的开发人员社区。它们在开发可扩展的后端应用程序以及游戏开发方面很受欢迎。Python 已经巩固了自己作为机器学习和数据科学等领域的首选语言的地位。