前端三要素
- HTML(结构):超文本标记语言,决定网页的结构和内容
- CSS(表现):层叠样式表,设定网页的表现形式
- JavaScript(行为): 一种弱类型脚本语言,其源代码不需要经过编译,而是由浏览器解释运行用于控制网页的行为
结构层(HTML)
表现层(CSS)
CSS层叠样式表是一门标记语言,而不是编程语言,因此不可以定义自变量。不可以引用等,换句话说就是不具备任何语法支持,缺点如下:
- 语法不够强大,比如无法嵌套书写,导致模块化开发中需要书写很多重复的选择器
- 没有变量和合理的样式复用机制,使得逻辑上相关的属性值必须以字面量的形式重复输出,导致难以维护
这就导致我们在工作中无端增加了许多工作量,为了解决这个问题,前端开发人员会使用一【CSS预处理器】的工具,提供CSS缺失的样式层复用机制,减少冗余代码,提高样式代码的可维护性,大大提高了前端在样式上的开发效率
CSS预处理器
CSS预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言为CSS增加编程的特性,简单说:用一种专门的编程语言,进行Web页面样式设计,再通过编译器转化为正常的CSS文件,以供项目使用
常见的CSS预处理器
- SASS:基于Ruby,通过服务端处理,功能强大,解析效率高,需要学习Ruby语言,上手难度高于LESS
- LESS:基于NodeJS,通过客户端处理,使用简单,功能不SASS简单,解析效率也低于SASS,但是在实际开发中足够
行为层(JavaScript)
JavaScript:一门弱类型脚本语言,其源代码在发往客户端运行之前不需要经过编译,而是将文本格式的字符发给浏览器由浏览器解释运行。
TypeScript: 一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。
JavaScript框架
- jQuery: JavaScript框架,优点是简化了DOM操作,缺点是DOM操作太频繁,影响前端性能
- Angular: Google收购的前端框架,由一群Java程序猿开发,其特点是将厚爱到的MVC模式搬到了前端的并增加了模块化开发的概念。
- React:Facebook出品,一款高性能的JS前端框架;特点是提出了新概念【虚拟DOM】用于减少真实DOM操作,在内存中模拟DOM操作,有效的提升了前端的渲染效率;缺点是使用复杂,以为需要额外学习一门【JSX】语言
- Vue: 一款渐进式JavaScript框架,所谓渐进式就是逐步实现新特性的意思,如实现模块开发、路由、状态管理等新特性,其特点是综合了Angular(模块化)和React(虚拟DOM)的优点
- Axios:前端通信框架;因为Vue的边界很明确,就是为了出处理DOM,所以并不具备通信能力,此时就需要额外使用一个通信框架与服务器交互;当然也可以直接使用jQuery提供的AJAX通信功能
UI框架
- Ant-Design:阿里巴巴出品,基于React的UI框架
- ElementUI、iview、ice: 饿了么出品,基于Vue的UI
- Bootstrap: Twitter推出的一个用于前端开发的开源工具包
- AmazeUI: 又叫“妹子UI”,一款HTML5跨屏前端框架
JavaScript构建工具
- Babel: JS编译工具,主要用于浏览器不支持的ES新特性,比如用于编译TypeScript
- WebPack:模块打包器,主要作用是打包、压缩、合并及按序加载
后端技术
前端人员为了方便开发也需要掌握一定的后端技术,但我们Java后台人员知道后台知识体系极其庞大复杂,所以为了方便前端人员开发后台应用,就出现了NodeJS这样的技术
NodeJS的作者已声称放弃了NodeJS(笨重),开始开发全新架构的Deno