前端框架(kraken、Express、Node、MVC)
You know my loneliness is only kept for you, my sweet songs are only sang for you.
前端框架相关知识记录。
kraken:
Kraken基于grunt和Express,相比而言,它提供了更加稳健的功能合集,支持本地化、环境配置、更加注重应用程序安全等。这里解释下,Express是Node.js的一个MVC开发框架,支持jade等多种模板(可以采用ejs),是目前Node.js上最流行的Web开发框架,通过提供一系列强大特性帮助开发者创建各种Web应用。
Express:
Node.js的MVC框架
MVC框架:
MVC只是一种思想,并非编程规范。按照三类不同的功能来划分代码模块的思想。
模型层(model)、视图层(view)、控制层(controller)
代表性的MVC框架:Vue.js、React.js、Angular.js、backbone.js
MVC框架分析:
优点:灵活度比较高、可以实现model和view比较好的分离
- 可以由不同的人并行推进对model和view的内部实现,而不关心对方怎么实现,只管负责自己内部的实现并抛出事件,并约定好通过事件所传递的数据的格式即可,就像前端和后端的分离那样。
- 从容应对灵活多变的业务需求,只要在controller中修改所绑定的事件名和实现相应操作的回调函数即可。controller要做的就是做决定:决定在哪个事件被抛出时,调用实现哪个操作的方法。这就是它为什么叫做controller的原因。而它只做决定,不做实现,提现了“We need thin controller”的原则。
- 可以很方便的卸载、装载以及修改各个特性。装载:在model/view中提供实现该特性的方法,在controller中把该方法的调用和调用时机(即事件)绑定起来即可。卸载:解除事件绑定即可。
缺点:需要controller层绑定事件(需要引入中间层)
前端框架:
分为 JS框架 和 UI框架
JS框架:
- jQuery库
- Zepto ( 类似jQuery库 )
- Node.js( 服务端 )
- Angular.js( 模型,scope作用域,controller,依赖注入,MVVM ):前端MVC
- require.js:AMD,commonJS
- Seajs:CMD,commonJS
- Vue.js:MVVM
- backbone.js
- React.js:创建自定义标签,根据ID注入标签
- Ionic.js
UI框架 :
- Bootstrap
- Pure
- easyUI
构建工具:
grunt & gulp
css预处理(扩展)语言:
sass & less
JavaScript模板库(JavaScript模板引擎):
EJS 、jade(Node模板引擎)
Node.js
Node.js是一个JavaScript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引擎执行JavaScript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行的更好。
Node.js是一个基于ChromeJavaScript运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用。Node.js使用事件驱动,非阻塞 I/O模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
简单的说Node.js就是运行在服务端的JavaScript。
注:JavaScript引擎是一个专门处理JavaScript脚本的虚拟机,一般会附带在网页浏览器之中。
Google V8:由Google丹麦开发,是Chrome浏览器的一部分。