150 likes | 372 Views
JavaScript MVC. Guixue. Contents. JSMVC 简介. StealJS. jQueryMX. FuncUnit & DocumentJS. 示例. What is JSMVC?. 使用 MVC 设计模式模块化组织 JavaScript 代码的框架 组件 StealJS 压缩与构建工具 FuncUnit 测试框架 jQueryMX jQuery 扩展功能 ( 插件 ) DocumentJS 与 JSDoc 兼容的文档工具. JSMVC Source Layout. appname – 您的应用程序
E N D
JavaScript MVC Guixue
Contents JSMVC简介 StealJS jQueryMX FuncUnit & DocumentJS 示例 Company Logo
What is JSMVC? • 使用MVC设计模式模块化组织JavaScript代码的框架 • 组件 • StealJS 压缩与构建工具 • FuncUnit 测试框架 • jQueryMX jQuery扩展功能(插件) • DocumentJS 与JSDoc兼容的文档工具 Company Logo
JSMVC Source Layout • appname – 您的应用程序 • \controllers - 事件处理 • \models - 已管理的数据 • \resources - helper scripts • \test - 测试文件 • \funcunit - funcunit测试用例 • \qunit - qunit用例 • \views - html模板 • documentjs - 文档引擎 • funcunit – 测试工具 • jQuery – jQuery 与 plugins (like $.Controller) • Steal – 加载、压缩与编译工具 Company Logo
Steal JS • 依赖性加载 • steal/steal.js • JS&CSS关联与压缩 • js steal/buildjs mypage.html • 日志 • steal.dev.log('something is happening') • 代码生成 • js steal/generate/app cookbook • 包管理 • js steal/getjs http://github.com/jupiterjs/mxui/ • 代码清理 • js steal/clean path/to/page.html Company Logo
Steal loader JS CSS等资源依赖性加载工具: • 各种类型 • 只载一次 • 关联加载 Company Logo
Steal loader step • 使用步骤 • 加载 steal.js • <script src='../public/steal/steal.js?myapp/myapp.js'> • steal.options.startFile = 'myapp/myapp.js' • 加载 myapp.js. • 加载其他脚本 • 编译app • Switching to the production build Company Logo
JSMVC jQueryMX JSMVC 的核心,包含jQuery及其插件 • Class 提供OOP的基础 • MVC 框架 • Model • Controller • View Company Logo
jQueryMX Class • Class库的功能: • 静态继承 • 命名空间 • 自省 • fullName(带命名空间) • shortName • Setup与Init方法 • 易创建的回调函数 • Ref翻译: • http://blog.csdn.net/oncoding/archive/2011/03/10/6235725.aspx Company Logo
Static Vs Prototype • 静态(Static)Vs 原型(Prototype) • 静态 属于 类 • 原型 属于 实例 • E.g. Company Logo
Class.extend • $.Class.extend(param1,param2,param3); • Param1: 类名 • Param2 : Static域 • Param3 : Prototype域 • E.g. $.Class.extend(‘NameSpace.MyClass', /* @static */ { ... }, /* @prototype */ { ... }); Company Logo
jQueryMX MVC • Model • 数据层 • 例如:Json数据,Ajax/本地访问 • View • 显示层:数据对用户的表现形式 • 例如:HTML + Template • Controller • 控制层:用户交互采取的行为动作 • 例如:Event ,绑定Data到Dom Company Logo
jQueryMX MVC Controller Model View 一个jQuery widget生成器 一种封装、组织Ajax请求和web服务数据的方式 客户端的Html以及模板引擎 Company Logo
Add Your Title ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc. 开发流程 Add Your Title ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc. Add Your Title ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc. Company Logo