前端知识体系

2019-04-11  本文已影响0人  索伦x

前端三要素

HTML(结构):超文本标记语言(Hyper Text Markup Language),决定网页的结构和内容
CSS(表现):层叠样式表(Cascading Style Sheets),设定网页的表现样式
JavaScript(行为):是一种弱类型脚本语言,其源代码不需经过编译,而是由浏览器解释运行,用于控制网页的行为

结构层(HTML5)

html全称为HyperText Markup Language,中文直意为“超级文本标记语言”而那个5对应的是它的重大修改次数,自然你就明白了,5就是第五修改,第五代更新!

那么与H4对比H5有哪些好处?
  1. 通讯能力增强
    例如: WebSocket长连接,支持后端推送
  2. 性能得到了提示
    WebWorker -- 实现了网页多线程加载,不会阻塞UI主线程
  3. 前端存储能力得到提升
    cookie vs WebStorage:2K数据 - 5M数据
  4. 增加了一系列新功能
    拖放API: 例如:dragstart:拖动开始\drag:拖动中\dragend:拖动结束
    地理定位: 通过浏览器获取当前用户的所在地理坐标,以实现“LBS服务”(Location Based Service),如实时导航、周边推荐。
    图片处理加强:例如:SVG绘图(矢量图),Canvas绘图(位图)
    视频和音频: 增加了视频及音频的标签
    增强型表单:新的表单元素、表单元素的新属性
  5. 新的语义标签:
    <article>
    <aside>
    <details>
    <figcaption>
    <figure>
    <footer>
    <header>
    <main>
    <mark>
    <nav>
    <section>
    <summary>
    <time>

表现层(CSS3)

CSS 层叠样式表是一门标记语言,并不是编程语言,因此不可以自定义变量,不可以引用等,换句话说就是不具备任何语法支持,它主要缺陷如下:

这就导致了我们在工作中无端增加了许多工作量。为了解决这个问题,前端开发人员会使用一种称之为 【CSS 预处理器】 的工具,提供 CSS 缺失的样式层复用机制、减少冗余代码,提高样式代码的可维护性。大大提高了前端在样式上的开发效率。

什么是 CSS 预处理器

CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进行 CSS 的编码工作。转化成通俗易懂的话来说就是“用一种专门的编程语言,进行 Web 页面样式设计,再通过编译器转化为正常的 CSS 文件,以供项目使用”。

常用的 CSS 预处理器有哪些

Less示例

/* Mixin */
@base: #663333;
@complement1: spin(@base, 180); //旋转180度
@complement2: darken(spin(@base, 180), 5%);  //变暗5%
@lighten1: lighten(@base, 15%);  //变亮15%
@lighten2: lighten(@base, 30%);  //变亮30%
 
/* Implementation */
.one   {color: @base;}
.two   {color: @complement1;}
.three {color: @complement2;}
.four  {color: @lighten1;}
.five  {color: @lighten2;}

前端代码构建工具

CSS3新特性

1.媒体查询(@media),多栏布局(flex)
2.css动画:取代动画图片、Flash 动画以及 JavaScript,主要是transform及animation
太阳9大行星示例
3.CSS3选择器,例如:p:nth-child(3){} //父元素的第3个子元素
4.文字特效,例如反射效果

<style>
.classReflect{ 
-webkit-box-reflect: below 5px 
-webkit-gradient(linear, left top, left bottom, from(transparent), 
     to(rgba(255, 255, 255, 0.51))); 
}   
</style>
<p class="classReflect">WEB2.0</p>

行为层(JavaScript)

JavaScript 一门弱类型脚本语言,其源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。

ES6

原生 JS ,也就是让我们按照 【ECMAScript】 标准的开发方式,简称是 ES,特点是所有浏览器都支持。

区别就是逐步增加新特性。

ES6新特性

详情请点击: ES6新特性

主流JavaScript 框架
UI 框架
JavaScript 构建工具

Nodejs后端技术

前端人员为了方便开发也需要掌握一定的后端技术,但我们 Java 后台人员知道后台知识体系极其庞大复杂,所以为了方便前端人员开发后台应用,就出现了 NodeJS 这样的技术。

NodeJS 的作者已经声称放弃 NodeJS(说是架构做的不好再加上笨重的 node_modules,可能让作者不爽了吧),开始开发全新架构的 Deno

既然是后台技术,那肯定也需要框架和项目管理工具,NodeJS 框架及项目管理工具如下:

附A:当前主流前端框架

Vue.js

iView

iview 是一个强大的基于 Vue 的 UI 库,有很多实用的基础组件比 elementui 的组件更丰富,主要服务于 PC 界面的中后台产品。使用单文件的 Vue 组件化开发模式 基于 npm + webpack + babel 开发,支持 ES2015 高质量、功能丰富 友好的 API ,自由灵活地使用空间。

备注:属于前端主流框架,选型时可考虑使用,主要特点是移动端支持较多

ElementUI

Element 是饿了么前端开源维护的 Vue UI 组件库,组件齐全,基本涵盖后台所需的所有组件,文档讲解详细,例子也很丰富。主要用于开发 PC 端的页面,是一个质量比较高的 Vue UI 组件库。

备注:属于前端主流框架,选型时可考虑使用,主要特点是桌面端支持较多

ICE

飞冰是阿里巴巴团队基于 React/Angular/Vue 的中后台应用解决方案,在阿里巴巴内部,已经有 270 多个来自几乎所有 BU 的项目在使用。飞冰包含了一条从设计端到开发端的完整链路,帮助用户快速搭建属于自己的中后台应用。

备注:主要组件还是以 React 为主,截止 2019 年 02 月 17 日更新博客前对 Vue 的支持还不太完善,目前尚处于观望阶段

VantUI

Vant UI 是有赞前端团队基于有赞统一的规范实现的 Vue 组件库,提供了一整套 UI 基础组件和业务组件。通过 Vant,可以快速搭建出风格统一的页面,提升开发效率。

AtUI

at-ui 是一款基于 Vue 2.x 的前端 UI 组件库,主要用于快速开发 PC 网站产品。 它提供了一套 npm + webpack + babel 前端开发工作流程,CSS 样式独立,即使采用不同的框架实现都能保持统一的 UI 风格。

CubeUI

cube-ui 是滴滴团队开发的基于 Vue.js 实现的精致移动端组件库。支持按需引入和后编译,轻量灵活;扩展性强,可以方便地基于现有组件实现二次开发。

混合开发

Flutter

Flutter 是谷歌的移动端 UI 框架,可在极短的时间内构建 Android 和 iOS 上高质量的原生级应用。Flutter 可与现有代码一起工作, 它被世界各地的开发者和组织使用, 并且 Flutter 是免费和开源的。

备注:Google 出品,主要特点是快速构建原生 APP 应用程序,如做混合应用该框架为必选框架

Ionic

Ionic 既是一个 CSS 框架也是一个 Javascript UI 库,Ionic 是目前最有潜力的一款 HTML5 手机应用开发框架。通过 SASS 构建应用程序,它提供了很多 UI 组件来帮助开发者开发强大的应用。它使用 JavaScript MVVM 框架和 AngularJS/Vue 来增强应用。提供数据的双向绑定,使用它成为 Web 和移动开发者的共同选择。

附B:其他

了解前后分离的演变史
了解前端 MVVM 模式

上一篇下一篇

猜你喜欢

热点阅读