前端框架记录
mithril.js: Mithril 是一个客户端 javascript MVC 框架,即它是一个工具,使应用程序代码分为数据层(Model), UI 层(View),黏合层(Controller)。
Mithril 通过 gzip 压缩后,仅有 12kb 左右,这要归功于 small, focused, API。它提供了一个模板引擎与一个虚拟 DOM diff 实现高性能渲染,还提供了其它高级工具,以及支持路由和组件化。
roit.js :是一款MVP(模型-视图-呈现)开源客户端框架,其最大的特点就是体积非常小,不足1KB,虽然体积小,但它可以帮助用户构建大规模的Web应用程序。
backboon.js
1. 【调试服务器】首先如果你是一个准备做WEB开发实践的,不管前端、后台,首先需要了解一两种服务器apache,tomcat,nginx啥的,至少能够配置一个基本的本地服务和修改索引路径,前端页面使用http/https协议访问,而不是本地文件协议。
2. 【调试自动更新】服务器搭建好了,那么现在开始调试网页,然后你修改一点代码,去浏览器里面F5刷新页面看看效果,再修改一点代码,再去浏览器里面F5刷新页面看看效果...如此循环往复, maybe让工具帮助你检测本地文件修改然后实时刷新网页更靠谱。
3. 【换种方式写代码】然后就是写代码了,less/sass是不错的css组织工具,coffee也能让你的javascript代码显得更严谨和逻辑清晰,要是能够在访问页面的时候实时获取css/coffee编译结果神马的应该显得很cool。
4. 【模块化】当然在完成逻辑相对复杂的交互功能时候,可能需要你组织非常复杂的代码功能,这个时候了解一下模块化的开发思想显得很有必要require.js事实上更早,也更广泛一点,sea.js在国内也不错。
5. 【模板引擎】然后就是对于js生成HTML(或者其他什么的)的一种包装方式, 即:js模板引擎(handlebars,jade), 你可以尝试在开发时候使用这样的模板工具生成自己想要的HTML文档什么的,也是一种不错的体验,这个就像你用less写css代码一样,或者说用php,jsp这样的服务端语言工具生成实时HTML页面。
6. 【代理调试】有的时候你开发的东西并不只是前端代码,牵扯到跟服务端应用之间的数据交互,难免需要使用ajax,ajax这货基于安全考虑是不允许跨域的,因此可能需要通过代理的方式实现数据调试这样的工具也有不少,nginx服务器是其中的佼佼者。
7. 【资源合并优化】OK, 如果到完成开发阶段,你需要提交自己开发的代码到线上服务器了,在提交之前,你需要考虑将开发的资源进行最优化(合并,压缩神马的), js方面有uglify,css有cssmin神马的,图片压缩还可能根据不同的类型进行不同程度和配置的压缩,这些事情交给别个工具处理显得很有必要,要是能够一键处理那简直了, 百度的fis,业内最流行的grunt.js、gulp.js神马的,事实上它们在配置化编译LESS/Coffee这类工作在自己的流程中也很在行。
8. 【Combo】使用异步模块化开发带来的弊端就是对于大量零碎依赖文件需要分别开辟多个http链接去获取,这可不是一个好现象,要知道单个浏览器单域名并发获取资源的数量是很有限的, 因此例如KISSY就支持了简单配置一个combo参数来组织一个获取nginx的 http-concat格式资源的路径,当然这样的动态合并模式也适用于普通的资源请求合并。
9.【资源缓存和更新】 CDN 能够确保你已经发布到服务器上的资源以最快的响应时间到达浏览器,但是带来的问题是,你的代码更新,CDN则傻乎乎的不理你,除非你在使用的地方告诉它需要更新了( 时间戳、MD5文件名啥的 )。
事实上,我觉着凡是重复进行的工作总有可以程序和代码可以替你完成的部分,前端开发中这种事情尤其多,工具啥样的自己去定义才最合适自己,
而nodejs的出现使得前端自己可以方便的开发这类东西(上面的less、coffee、uglify、gruntjs、fis、gulp这些个单词可以说:都依赖nodejs)。