给本身挖个坑,开始去开发javascript富应用框架

为何要框架

随着电脑运算能力的不断提高,愈来愈多的网站开始将一些数据处理,简单的业务逻辑交予前端。因而前端,特别是所谓的 Webapp 中,出现了大量的数据处理以及业务逻辑,前端的javascript代码已经再也不是简单的判断用户输入那么简单。和后端开发同样,当人们不能容忍php一个页面里面写下全部的业务逻辑和HTML代码的时候,他们便会去找一款MVC的框架。前端如今也须要。javascript

我理解的富应用有两个好处,首先会彻底将前端和服务器端的开发独立开来,即将服务器端的V彻底交予前端人员开发,因而即可以在前期规划完API后进行独立开发。再者就是用户体验,不会出现传统网页上面的页面全局刷新跳转的状况,这样就更像软件的体验(若是须要使用 webkit 打包即可以成为某种意义上的软件)。php

现有的框架

自身接触过的框架有 BackboneJS,EmberJS,AngularJS,三个都是不错的框架。html

  • BackboneJS 是三个里面惟一一个已经认真读完源码的框架,代码写的很不错,并且这个框架也被国内包括豆瓣,百度模仿了。他侧重点是写了一套不错的Event的机制,当你定义的Model变化的时候,会触发相应的事件,问题就是那些"会触发的事件“都要你本身去定义,所以你须要手动更新DOM,会去写不少代码。前端

  • EmberJS 使用的第一感受就是他的双向绑定很舒服,不须要再像BackboneJS同样去手写不少代码。可是EmberJS实在是太大了,并且写代码前总要不断去设计Model,给我自身的感受就是不够的自由。并且当你的后台不能知足 restful 的时候,本身写请求而后处理的时候,会发现很麻烦。java

  • AngularJS 是目前项目中正在用的框架。使用的时候感受很特别,你能够经过directive去定义不少本身的HTML元素属性。开发的时候你不须要去过多的关注Dom如何变化,你只需专一的处理你的数据。可是 AngularJS 里面运用了太多的新东西,特别是Form处理的时候,数据的处理彻底依靠HTML5的内容。Angularjs 里面大量的用了 ng-xxx 的属性,在HTML5里面自定义属性推荐为 data-xx 的格式。还有就是 AngularJS 的速度和性能都不很理想。git

以上都是我的观点,不足以成为你们不去尝试的理由。固然还有一些很不错的框架,例如 Knockout。github

我为何要挖一个坑

做为一个前端的新人,但愿可以去给本身挖一个持久的坑。在刚刚开始学编程(刚刚开始是PHP)的时候,一个长辈就和我说个人PHP只是处在入门的级别,想要继续提高建议去本身维护一个框架。可是这个框架必定是要本身持续在用的,要否则你维护很差。如今前端这块再次到了这样的瓶颈,因此决定本身开始开发和维护本身的一个框架。web

现有的开源更可能是代码的开源,而后鼓励你们一块儿去提供代码。我想,除了挖一个代码的坑之外,在这里持续的更新项目正在写或者刚刚写完的模块的想法。有问题欢迎指出讨论,在代码还在设计的时候能够获得改正。编程

我想挖的坑的大概样子

  • 双向绑定:虽然有人说这个不太好,可是这个的确能够减小不少代码。
  • 同时支持占位符和正则的路由。
  • 支持用户登陆权限认证,相应url须要登陆时将会统一跳转。
  • 支持自定义html属性添加,方便插件模块化。
  • promise 风格的支持。
  • 简单的模板语言支持,主要以自定义属性的形式来处理模板。
  • Form 表单的统一验证处理。
  • 不强制绑定restful,可是会制定其余规则来避免用户手动请求。
  • 内建相似 BackboneJS 的Model,Collection,根据服务器返回内容自定创建,并绑定到模板。
  • 让前端工做可以只须要关注模板和数据管理,其余尽可能都自动完成。

项目目前完成板块:事件绑定及触法、地址处理以及路由处理。从此会逐一更新。(截止至2013年9月24日)后端

项目目前地址: https://github.com/HaiyiYun/VintJS

相关文章
相关标签/搜索