- 积分
- 3628
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-10-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
年初我开始学前端,它的概念繁杂又唬人,但实际操作起来,每个概念都变得简明易懂、理所当然。
今下午删了几百兆的资料,只留了150k的精华,践行了【华罗庚读书法】,顺带写了以下这段对前端的通俗介绍:
何谓前端,何谓后端?
我们平时浏览、操作网页,这些展示我们面前的网页即所谓【前端】,相对而言,我们点击链接、站内搜索等都需要【网站服务器】提供服务,那个我们看不见的叫【后端】。
原生时代
编写这些网页就是【前端开发】。
鸿蒙初辟之时只有【HTML】语言,网页上只能显示一些简陋的文字和图,
后来为了美化,如设置颜色、字体、排版,于是有了【CSS】,
后来想要客户与网站交互,于是有了JavaScript。
html为骨,css为肉,JavaScript为魂。此三者合称【前端开发三要素】。
早期英雄
直接用三要素开发网页叫做【原生开发】,是比较麻烦的,例如需要自己适配各种浏览器。
于是诞生了【jQuery】,它和JavaScript的关系类似Python和C,实现了简单优雅地写js功能。
在一段时期内是霸主,现已过时。
覆巢无完卵,基于jQuery的UI组件库【Bootstrap】也歇菜了。
另外还有【网页三剑客】,即Dreamweaver+Fireworks+Flash,现在也已过时。
狗拿耗子
JavaScript一开始只能用在浏览器上,是一门残疾的语言,
后来诞生了【Node.js】,它作为js的解释器,好比jvm之于Java,CPython之于Python,使得js可以跟Java,C,php其他语言一样正常发挥。
node的包管理工具npm和Python的包管理工具pip是很类似的:
- ‌安装包:pip install xxx,npm install xxx
- ‌执行脚本:pythonaaa.py,node "aaa.js"
于是js还有了自己的【后端框架】Express。
不过,正常人都不会用这个框架开发后端接口。
单页面应用时代
由于老式的网页是一次操作,全页刷新,十分费流量、费时间、卡顿,
于是诞生了【单页面应用(SPA)】,它只做网页的局部刷新,无论做网页还是打包apk都好使。
这种“局部刷新”是通过【Ajax】技术实现的,它的含义是:js的【异步请求】。
目前实现Ajax最好的包是【axios】,【vue-resource】过时了。
但是这时又出现了【跨域】问题,即不在同一域名下的网页无法通信。
这个问题不好在前端解决,主要是在后端框架中设置,也很简单,Django只需在settings.py中加一条代码即可。
三分天下
目前做【前端开发】都是使用【前端框架】的,国内流行的有3个:Vue,React,Angular。Vue最佳:
‌【Angular】难学难用文档差,用的人越来越少;
‌【React】功能复杂、体积庞大、学习难度大,js代码与html代码混着写,难以开发;
‌【Vue】最易学习,且中文文档;
用Vue做的著名项目有:滴滴出行,饿了么,Facebook,新浪微博
昨日黄花:模板引擎
很久以前,网页是由后端写好发给浏览器的,这叫【前后端不分离】,
后来前端网页与后端是独立编写的,这就是【前后端分离】开发。
不分离的情况下,写网页需要专用的【网页模板】,它不是完整的网页,它空着一些部分,往其中填入内容的过程叫做【渲染】,操作【模板】的语法叫【模板引擎】,显然它与【前端框架】是类似的。
Python的【模板引擎】主要有Jinja2和DTL。
目前【前后端分离】是主流,不需要模板引擎了。
何谓“响应式设计”?
就是自适应各种分辨率的屏幕
Vue支持响应式设计
何谓“修饰符”/“装饰器”?
【修饰符】和【装饰器】是类似的东西,都是用于限制网页上数据的形式的,所谓“修饰”“装饰”,实际上相当于“安检”!例如:限制某些模板变量的数据格式,自动过滤输入值中的空格,以“xxx”结尾的表单值才会被提交,...
|
|