欢迎来到BOOTCAMP。在这里,我们将全周期生活在JavaScript实战编码的环境下完成Web技能的学习。一起穿越JavaScript开发中危险重重的“编程陷阱”和“开发沼泽”,才能完成Web开发周期“实战拉练”项目的各项测试和考核。要想完成这项光荣的使命,我们必须:
• 熟练使用各种“生存工具”:如JavaScript调试工具、单元测试工具、合并与压缩、IDE开发环境以及其插件的使用;
• 独立搭建JS下的持续构建开发环境;
• 掌握各种编程实践的技法。这包括:TDD、BDD...各种实战开发方法;
• 本能将Kanban与XP的敏捷实践作为基础实践;
• 构建自己的Web MVC前后端开发框架;
• 全周期生活在JavaScript实战编码的环境下完成各种开发任务...
每2名成员会形成一个团队。每一个团队都会有自己指定的“作战区域”和“武器装备”。我们的终极目标是穿越那些危险重重的“编程陷阱”和“开发沼泽”,让那些真正来自第一线的开发实践成为我们身体中的一部分,变成我们的标识。从而成为世界上最酷的精锐部队--“美国海军陆战队”中的一员。
我们来自开发实战第一线,我们是“Web Programming Ninja”。
开发工具
开发环境 |
客户端:Chrome 服务端:NodeJS 安装NodeJS后,在cmd命令行下使用npm install -g xxx 安装插件: npm install -g node-inspector |
开发工具 |
开启Sublime插件安装: 按Ctrl+`调出console,粘贴以下代码到底部命令行并回车: import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ‘,'%20')).read()) 重启Sublime Text 2。 如果在Perferences->package settings中看到package control这一项,则安装成功。 安装插件: 按下Ctrl+Shift+P调出命令面板 输入install 调出 Install Package 选项并回车,然后在列表中选中要安装的插件。 需要安装的插件: Emmet Alignment JsFormat Prefixr JsHint |
引用类库 |
常用的JS库:libs |
相关资料 |
课前预习:Adobe Kata 更多资料:Green Tea |
课程大纲
主题 |
知识点 |
Code Kata (代码演练) |
MV[*]模式 |
• MVC • MVP • MVVM |
CodeKata:应用JavaScript框架 • 应用AngularJS框架 • 使用数据绑定 • 定制模块 • 路由、视图 • 依赖注入 CodeKata:要有框架,自己的! • 对比Backbone.JS • My.JS • MVC:M • MVC:V • 路由 • 单页面程序的问题 CodeKata:改用模块化加载 • 模块化加载技术选型 • 延迟的脚本 • 动态加载脚本 • 异步脚本注入 • LazyLoad? or LABjs • RequireJS? or Sea.js CodeKata:搭建JavaScript下的持续交付环境 |
MV[*]框架的构成部分 |
• 模板与数据绑定 • 路由 • 模块 • 依赖注入 • 辅助工具 |
|
JavaScript框架选型 |
• 不要重复发明轮子 • 几个重要的技术类库和框架选型: • Prototype、jQuery、Dojo与Ext • Backbone与 Spine.js • Angular、Knockout与Batman • Ember |
|
构建自己的JavaScript框架 |
• 类 • 继承 • 多态 • 命名空间 • 框架的异常处理 • 单页面处理的问题 • JavaScript模式(框架篇) • 构建自己的JavaScript框架 |
|
前端模块机制 |
• 动态加载脚本 • 异步脚本注入 • 推荐的无阻塞模式 • CommonJS与AMD • RequireJS&Sea.js |
|
后端模块机制 |
• CommonJS规范与NodeJS • NodeJS的核心模块实现 • 包与NPM • Express + MongoDB + Socket.IO • 模块组织管理 • 发布模块 • 前后端共用模块 |
|
编写可维护的JavaScript代码 |
• JavaScript的精华与糟粕 • JavaScript编程风格与JSHint • JavaScript模式(编程实践) • 使用CoffeeScript • Clean Code与重构 |
|
JS下的单元测试 |
• 测试框架 • TDD与BDD风格 • 异步下的测试 • Mock • 测试覆盖率 • 生成测试报告 |
|
自动化构建 |
• 目录结构 • 模块构建 • 配置文件 • 校验 • 文件合并与加工 • 精简压缩 • 文档化 • 自动化测试 • 组装在一起 |
|
Grunt |
• Build • Clean • Stylus • Concat • Uglify • JsHint • Mocha • Doc • Jade • Watch • Plugins |