前端试水(1) 前端技术路线

前言

对于前端的了解欲望实际上是从想对博客主题进行修改开始的。但是前端这部分一直对我来说是个谜,虽然这些名词都能搜索到,但一直傻傻的不得其门而入。总算在一年后的今天,尽管还有很多地方暂时是迷雾状态,但貌似略了解一点前端的整体框架。现在算是开了新的一个系列,在此算是记录一下我了解的前端的技术路线,如果那些和我一样的前端小白们能通过这个也大概了解一点到底现在需要学的、用的是什么,就再好不过了。

对了,先声明下,这篇是作为非前端工程师不负责任的认知,个人觉得对于一个外行,且也并没有打算在这一行进行深入,仅作为快速了解、应用的人来说应该是个不错的交流。

技术分工

既然说到前端技术路线,那就需要先确定下前端是什么。

前端,通俗来说是和后端所对应的,通常指用户所能看到的网页以及交互的部分。一般来说,和用户直接打交道的都是前端,前端向后端请求数据以及提交数据,后端对用户提交的数据进行解析、服务器调度与功能操作,再返回数据给前端。所以我理解的前端的部分主要分成以下几个部分:前端的界面UI及交互UX,前端数据获取request与解析,前端数据提交返回。

通常,前端UI大多涉及静态页面html及css样式,但若需要一些动态交互和动作,一般都离不开js的开发。对于数据获取、提交等数据绑定的功能,更是离不开js大法。一般常说的vue.js、react.js都提供了不少相关的功能组件,便于前端工程师快速开发。

此外常听到的工具还有gulp、webpack等主要针对自动化、打包的工具,针对的功能点会有些不同,但具体还未深入研究。

静态页面分工

一般网上大多数都在讨论和学习js大法,毕竟通过上段对于简单技术分工和技能点来说,js占据了非常重要的位置。但对于初学者来说,一般接触最多的是静态页面,毕竟很多时候只需要做个简单demo,或者是搭建博客界面之类的简单网页,需要的是轻量级的敏捷开发即可,而静态页面是与用户最直接的窗口。比如我来说,开始需要接触也是因为对想生成自己的博客主题,这就不能不开始学习这一部分。

虽然说起来css和html不难,语法真不难,但就是因为它们太简单,中间的样式调整、覆盖、冲突的逻辑实在是难以捉摸,调整起来拆东墙补西墙,一点也不够结构化成体系。所以对于静态页面也可以分成css样式定义和html静态页面生成这两部分。

css样式

css比较难以结构化,可以使用css的预编译器来编写,可以使之更易于管理。常用的预编译器有sass和less。

除了有css预编译的利器外,对于敏捷开发来说,还有一些css样式库,比如大名鼎鼎的bootstrap,虽然bootstrap也集成了一些js和组件,但基本主要用作css布局用的样式库。尽管bootstrap也被称为前端框架,但是和vue以及react等的框架并不是一个含义,bootstrap更多是css样式层面的。

html静态页面生成

有了css样式总是要生成静态页面的,这就需要生成html静态页面。最简单的就是直接写html,确定html布局,但是这样会很繁琐。因此有了不少静态页面生成器,比如我使用的hugo,还有jekyll、hexo。有了这些生成器,只需要定义html模板,然后使用模板,以后对于内容进行删减也不需要对html直接进行修改。生成了静态页面后就可以托管在服务器上。

网页的生成也并不是总需要生成最重的静态页面的,比如python的轻量级网页应用框架flask,只要运行,可以自动调用html模板生成网页。

版本控制

Version Action Time
1.0 Init 静态页面路线 2018-08-05