百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

前端生态系统概览

toyiye 2024-06-06 22:11 24 浏览 0 评论

随着互联网技术的快速发展以及开源社区的力量,前端已经发展成为大前端的时代,作为一名前端开发工程师,我们慢慢的就会发现,前端需要学习的东西越来越多,无论是web端,桌面端,还是移动端,甚至是服务端,都能见到前端技术的影子。

本文主要列举目前比较主流的技术栈,主要从编程语言、运行时环境、前端框架、构建工具、组件库五个大的方面进行分析。

编程语言

JavaScript

JavaScript 是一种具有函数优先特性的轻量级、解释型或者说即时编译型的编程语言。作为入门前端的基础语言,扎实的 JavaScript 功底将有助于你在学习前端相关技术栈时游刃有余。

TypeScript

TypeScript 是 JavaScript 的超集,扩展了 JavaScript 的语法,也可以说是具有类型语法的JavaScript,TypeScript通过类型注解提供编译时的静态类型检查,让你在开发过程中就能够发现错误,而不是上线后。

相关网站

TypeScript官网

https://www.typescriptlang.org

TypeScript中文网

https://ts.nodejs.cn

Rust

Rust 是一门赋予每个人构建可靠且高效软件能力的语言。虽然说Rust语言不属于前端范畴,但是如今许多与前端相关的框架和工具都是基于Rust的,像Deno、Tauri、Rspack等。

相关网站

Rust官网

https://www.rust-lang.org

Rust语言中文社区

https://rustcc.cn

Rust软件包

https://crates.io

Rust 程序设计语言 简体中文版

https://kaisery.github.io/trpl-zh-cn

Dart

Dart 是一个为全平台构建快速应用的客户端优化的编程语言,如果你用Flutter开发多端应用,那么Dart是必须要学会的。虽然Dart也不属于前端语言范畴,但是通过Dart语言借助Flutter框架,我们仍然可以开发Web端的应用,况且Dart语言并不难学。

相关网站

Dart官网

https://dart.dev

Dart中文网

https://dart.cn

运行时环境

Node

Node.js 是一个开源的、跨平台的 JavaScript 运行时环境。在处理大量并发请求和实时应用方面表现出色,适用于构建服务器、网络应用、实时聊天应用、API、后端服务等。Node.js生态系统庞大且成熟,拥有丰富的第三方模块和库。

Deno

Deno 是 Node.js 的作者 Ryan Dahl 开源的一个现代的 JavaScript 和 TypeScript 运行时。Deno 提供了全面的功能,并默认情况下是安全的。Deno 更符合Web API和现代标准,并支持大多数npm包。Deno 还提供出色的开发人员体验,特别是对于使用 TypeScript 的用户,它是开箱即用的。

Bun

Bun 是一个用于 JavaScript 和T ypeScript 应用的一体化工具包。它作为一个单独的可执行文件发布,名为 bun,核心是 Bun 运行时,这是一个快速的 JavaScript 运行时,旨在替代 Node.js。它是用 Zig语言编写的,由 JavaScriptCore 在底层提供支持,大大减少了启动时间和内存使用。

Bun 专注于开发人员体验、现代 JavaScript 实践和高性能。它构建在 JavaScriptCore 和 Zig之上,提供快速的构建速度,通过并行构建和缓存机制减少等待时间。Bun 还使用 Zig 语言的强类型和错误处理机制,提供可靠的构建过程和错误处理。

相关网站

Node官网

https://nodejs.org

Deno官网、中文网

https://deno.com、https://www.denojs.cn

Bun官网

https://bun.sh

前端框架

Web端

React

React 是用于构建 Web 和原生用户界面的库。如果你熟悉 JSX,JS 基础很扎实,同时想比较灵活的去开发大型项目,那么你可以考虑使用React。

相关网站

React官网

https://react.dev

React中文网

https://react.nodejs.cn

Next.js

Next.js 是 Vercel 公司开源的一个用于 Web 的全栈 React 框架,也可以说是 React 的上层框架,可实现服务端层面的渲染,它在内部封装了许多功能,其中在底层,Next.js 还抽象并自动配置 React 所需的工具,例如打包、编译等。 这使我们可以更专注于构建应用,而不是花时间进行配置。

相关网站

Next.js官网

https://nextjs.org

Next.js中文网

https://next.nodejs.cn

Preact

Preact 是 React 的轻量级替代方案,体积仅有 3kB,并且拥有与 React 相同的 API。

相关网站

Preact官网

https://preactjs.com

Vue

Vue 是一款用于构建用户界面的 JavaScript 框架。作为多数开发者入门学习前端UI框架的首选语言,其上手程度的确很容易,Vue 框架内部帮我们封装了许多指令。其庞大的生态系统,我们可以很容易的在开源社区找到对应的解决方案。

相关网站

Vue官网

https://vuejs.org

Nuxt.js

Nuxt.js 是基于 Vue.js 开发的一个上层框架,可实现客户端/服务端渲染,与 Next.js 异曲同工,如果你的技术栈是Vue,并且想实现服务端层面的渲染,提高 SEO,那么 Nuxt 是你的不二选择。

相关网站

Nuxt.js官网

https://nuxt.com

Astro

Astro 是一个集多功能于一体的 Web 框架,它内置包含了你构建网站所需的一切,主要用于构建像博客、营销网站、电子商务网站这样的以内容驱动的网站。

Astro 以开创了一种新的前端架构而闻名,与其他框架相比它减少了 JavaScript 的开销和复杂性,如果你需要一个加载速度快、具有良好 SEO 的网站,那么 Astro 就是你的选择。

相关网站

Astro官网

https://astro.build

Astro中文网

https://astro.nodejs.cn

移动端

React Native

React Native 是一款使用 React 来创建 Android 和 iOS 原生应用的框架。你可以用你熟悉的React 语法来写项目,然后由RN来构建你的 Android 和 iOS 应用。随着RN的不断迭代和优化,性能层面已经接近于原生开发。

相关网站

React Native官网

https://reactnative.dev

React Native中文网

https://rn.nodejs.cn

Flutter

Flutter 是Google推出的移动应用开发框架,使用 Dart 语言编写,最初只用于移动端开发,现已支持多端应用。

Flutter 号称只要一套代码库,即可构建、测试和发布适用于移动、Web、桌面和嵌入式平台的精美应用。

Dart 是一个为全平台构建快速应用的客户端优化的编程语言,是学习 Flutter 的必备语言,不过你不必太担心,只要你的 JavaScript 基础过硬,Dart 语言很容易掌握,它们在语法层面还是有许多相似之处。

相关网站

Flutter官网

https://flutter.dev

Flutter中文网

https://flutter.cn

Flutter中文开发者社区

https://flutterchina.club

Flutter中文社区

https://flutterchina.net.cn

桌面端

Electron

Electron 是一个使用 JavaScript、HTML 和 CSS 来构建桌面应用程序的框架。通过将 Chromium 和 Node.js 嵌入到其二进制文件中,Electron 允许你维护一个 JavaScript 代码库并创建可在 Windows、macOS 和 Linux 上运行的跨平台应用 — 无需原生开发经验。

相关网站

Electron官网

https://www.electronjs.org

Electron中文网

https://electron.nodejs.cn

Tauri

Tauri 可以构建跨平台的快速、安全、前端隔离应用,兼容所有前端框架,无需做出任何改变,支持使用前端构建工具 Vite 来创建一个 Tauri 应用程序,支持使用 React 框架 Next.js 来创建一款 Tauri 应用程序。

Tauri 是基于 Rust 开发的,因为安全是 Tauri 团队的首要目标和最大创新,因此我们无需担心安全层面的问题,在学习成本上,除了掌握前端技术之外,Rust 语言是必须要掌握的,所以我们至少要了解Rust语言基础。

相关网站

Tauri官网

https://tauri.app

服务端

Express

Express 是著名的开源作者 tj 开发的一个极简且灵活的 Node.js Web 应用框架,它为 Web 和移动应用提供了一组强大的功能。

Koa

Koa 是 Express 的作者 tj 开源的用于 Node.js 的下一代 Web 框架,是一个精简版的框架,与 Express 不同的是,它的体积更小,你需要通过安装第三方包的形式来使用中间件,而不是 Express 那样,把中间件内置在框架中。最重要的是 Koa 可以通过利用异步函数,允许你放弃回调并大大提高错误处理能力。

Egg

Egg 是阿里开源的一个基于 Koa,为企业级框架和应用而生的 Node.js 上层框架。Egg 奉行约定优于配置,按照一套统一的约定进行应用开发,团队协作成本低,具备高度可扩展的插件机制 。

Nest

Nest 是一个用于构建高效、可扩展的 Node.js 服务器端应用的框架。 它使用渐进式 JavaScript,构建并完全支持 TypeScript 并结合了 OOP(面向对象编程)、FP(函数式编程)和 FRP(函数式反应式编程)的元素。

Nest 解决的首要问题就是架构层面的问题,Nest 提供开箱即用的应用架构,允许开发者和团队创建高度可测试、可扩展、松耦合且易于维护的应用。

相关网站

Nest官网、中文网

https://nestjs.com、https://nest.nodejs.cn

Express官网、中文网

https://expressjs.com、https://express.nodejs.cn

Koa官网、中文网

https://koajs.com、https://koa.nodejs.cn

Egg官网

https://www.eggjs.org

多端框架

MorJS

MorJS 是饿了么开发的一款基于小程序 DSL 的,可扩展的多端研发框架,如果你熟悉微信小程序和支付宝小程序的原生开发技巧,那么你就可以轻松上手使用MorJs来开发多端应用。

相关网站

Morjs官网

https://mor.eleme.io

uni-app

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到多端应用。

相关网站

uni-app官网

https://uniapp.dcloud.net.cn

Taro

Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发多端应用。

相关网站

Taro官网

https://taro.jd.com

构建工具

Vite

Vite 是一种基于 ESM 的新型前端构建工具,能够显著提升前端开发体验。相比于传统的构建工具,能很大程度上减少开发者的心智负担。

相关网站

Vite官网

https://vitejs.dev

Rspack

Rspack 是字节跳动开源的一个基于 Rust 的高性能 Web 构建引擎

Rspack 可以同时满足以下四点:快速的 Dev 启动性能、高效的 Build 性能、灵活的配置、生产环境的优化能力,这四点是 Rspack 的核心优势,同时也是开发者对构建工具的四个需求。

Rsbuild

Rsbuild 其实是基于 Rspack 的一个构建工具,一个高性能集成工具,你可以理解为一个基于 Rspack 的增强版的脚手架,在实践中官网建议使用 Rsbuild,可以大大提高你的开发效率。

相关网站

Rspack官网

https://rspack.dev

Rsbuild官网

https://rsbuild.dev

Webpack

Webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具。经过多年的发展,有着极其丰富的生态,是目前最为成熟的构建工具,但是性能问题一直是围绕着 webpack 逃不开的话题,对于开发维护大型项目的开发者来说,其耗时的构建速度简直是一场噩梦。

相关网站

Webpack官网

https://webpack.js.org

Rollup


Rollup 是一个用于 JavaScript 的模块打包工具,它将小的代码片段编译成更大、更复杂的代码。作为 Vite 在生产环境中依赖的打包器,Rollup 脱颖而出。但是,Rollup 更偏向于对库的打包。

相关网站

Rollup官网

https://rollupjs.org

Esbuild

Esbuild 构建工具的核心目标是开创构建工具性能的新时代,同时创建一个易于使用的现代构建工具。作为 Vite 在开发环境中的依赖,Esbuild让我们见证了其极快的打包速度。

相关网站

Esbuild官网

https://esbuild.github.io

组件库

Vue组件-Web桌面端

Element

Element 是饿了么开源的一套为开发者、设计师和产品经理准备的基于 Vue2.0 的桌面端组件库。

ElementPlus

ElementPlus 是饿了么基于 Vue3,面向设计师和开发者的组件库。

Ant Design Vue

Ant Design Vue 是 Ant Design 的 Vue 版本,开发和服务于企业级后台产品,由社区实现,到目前为止已迭代至第四个版本,支持 Vue2 和 Vue3。

Naive UI

Naive UI 是图森未来开源的一个 Vue 3 组件库,比较完整,主题可调,使用 TypeScript 开发。仅支持 Vue3,曾被尤大推荐使用过。

vxe-table

vxe-table 是一个开源的功能较完善的表格库,无论是基础表格还是复杂表格,都能很好的实现,支持 Vue2 和Vue3。

相关网站

Element官网

https://element.eleme.cn

ElementPlus官网

https://element-plus.org

Ant Design Vue官网

https://www.antdv.com

Naive UI官网

https://www.naiveui.com

vxe-table官网

https://vxetable.cn

Vue组件-web移动端

Vant

Vant 是杭州有赞前端团队于 2017 年开源的一个轻量、可定制的移动端组件库。有 Vue2、Vue3 对应的版本,但是 Vue2 版目前已停止迭代新功能,建议使用最新版本Vant4。

NutUI-Vue

NutUI-Vue 是京东 NutUI 官方团队开源的具有京东风格的轻量级移动端组件库,80+ 高质量组件,覆盖移动端主流场景,基于京东 APP 10.0 视觉规范,开箱即用。默认提供多套官方UI主题,同时允许在一定程度上定制新主题,以满足业务的多样化视觉需求。

相关网站

Vant官网

https://vant-contrib.gitee.io/vant

NutUI-Vue官网

https://nutui.jd.com/h5/vue/4x

React组件-web桌面端

Ant Design

Ant Design 是蚂蚁集团和 Ant Design 开源社区出品的一款企业级组件库,数十种常用组件,可定制主题。可以说是React框架主流的组件库。自诞生之初至今已经迭代至第五个版本,在github中star数高达88.9k,超过2000名贡献者参与贡献。我个人认为使用 React 开发项目用 Ant Design 组件库足够,如果需要高度自定义样式,你可以在项目中结合 tailwind 来高效率的书写样式。你可在官网底部查看其所有相关资源。

React组件-web移动端

NutUI-React

NutUI-React 是NutUI 官方团队开源的适用于 React 技术栈的 H5 应用,70+ 高质量组件,覆盖移动端主流场景,基于京东APP 10.0 视觉规范,支持服务端渲染(Next.js)。

相关网站

Ant Design官网

https://ant.design/index-cn

NutUI-React官网

https://nutui.jd.com/h5/react/2x/#/zh-CN/guide/intro-react

小程序组件

Ant Design Mini

Ant Design Mini 是以 Ant Design 设计原则为核心的在微信小程序上的实现。

Vant Weapp

Vant Weapp 是 Vant 官方提供的微信小程序版本。

NutUI-Vue-taro

NutUI-Vue 基于 Taro,使用 Vue 技术栈开发小程序应用,是 NutUI 在使用 Taro 框架开发小程序上的一种实现。

NutUI-React-taro

NutUI-React 基于 Taro,使用 React 技术栈开发小程序应用,是 NutUI 在使用 Taro 框架开发小程序上的一种实现。

相关网站

Ant Design Mini官网

https://ant-design-mini.antgroup.com/

Vant Weapp官网

https://vant-contrib.gitee.io/vant-weapp

NutUI-Vue官网

https://nutui.jd.com/taro/vue/4x/#/zh-CN/guide/intro

NutUI-React官网

https://nutui.jd.com/taro/react/2x/#/zh-CN/guide/intro-react

本文主要列举以上五个方向的前端技术栈,如果存在疏漏的,欢迎在评论区补充,一起探讨。

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码