近几个月,工作中用了一个我们骆驼厂自己的一整套移动前端开发框架,包括css框架、js框架。
所以这次想回过头来想想前端框架这个东西。
为什么出现了即么多各种各样的框架:
web app概念的出现,可见前端HTML界面开发变得越来越复杂,本质问题可以说是如何将来自服务器端或者用户输入的动态数据高效的反映到复杂的用户界面上。
有哪些比较得到认可的框架:react、backbone、angularjs。。。
想看看react:
1.用于开发数据不断变化的大型应用程序。
2.原理:虚拟dom机制:在浏览器端用javascript实现一套DOM api。基于react进行开发时所有的dom构造都是通过虚拟dom进行。所以开发者不再需要关心某个数据的变化如何更新到一个或多个具体的DOM元素,而只需要关心在任意一个数据状态下,整个界面是如何render的(降低逻辑复杂性)。----》简单的ui开发逻辑
3.组件化的开发思路:
组件(封装起来的具有独立功能的ui部件),将ui上每一个功能相对独立的模块定义成组件。然后将小的组件通过组合或者嵌套的方式构成大的组件,最终完成整体UI的构建。
mvc思想让你做到视图-数据-控制器的分离(从技术的角度对ui进行拆分)。
组件化的思考方式带来了ui功能模块之间的分离(从功能的角度对ui进行拆分)
4.设计哲学:简单之美
(1)使用jsx直观地定义用户界面:使用xml标记的方式去直接声明界面,
界面组件之间可以互相嵌套;
(2)单向数据流动flux(模型到视图的数据流动):组件之间以及组件和数据模型之间如何通信
dispatcher和action(全局消息发布订阅模型):
dispatcher是一个全局的分发器接收action,
而store可以在dispatcher上监听到action并作出相应的操作。