试读《基于MVC的JavaScript Web富应用开发》— 不一样的JavaScript

前言

《基于MVC的JavaScript Web富应用开发》是ItEye在7月份发起试读的书。下载了试读的章节,发现只有全本的开始到第二章,第一章很简洁明了地讲述了JavaScript的历史,怎么用JavaScript实现类,基本JavaScript的MVC的概念;第二章是浏览器的事件机制,DOM的事件监听,JQuery事件绑定的例子。

值得一提的是,这本书原本是O’Reilly Media, Inc带来的。O’Reilly的一系列“动物书”总是经典。

最大的感触:JavaScript的MVC

本人曾经用JavaScript基于GoogleDesptop(现在GoogleDesptop几乎淡出视线了)上游戏应用,感觉JavaScript灵活,难以调错。后来在JavaWeb开发中也少不了使用JavaScript、JQuery。正如书上所说,开发者的需求往往是给现有代码添加一个表单验证、弹出框或图片轮播控件,而且工期也很紧。因此我们直接去网上找一段能用的代码就可以了,而不必花时间去学习和理解这门语言。相比 Python 和 Ruby,同样是脚本类的语言,我们并没有给JavaScript足够的学习和阅读。

书中也提到了JavaScript已经成长为一种强大的、动态的面向对象编程语言。JavaScript已经不是几十行代码的简单效果实现,已经拥有很多框架,使用JavaScript 来构建庞大的应用已经屡见不鲜,而且越来越流行。像 Gmail 和 Google Maps 之类的产品给我们带来了Web 应用全新的体验。

似乎,给JavaScript一些经典的设计理念和最佳实践,越来越重要。我们已经不能使用一个大杂烩的JavaScript代码实现功能,MVC的加入必不可少。

怎么模块化

以前试图看JQuery源码,看到一头雾水,类似jquery.extend,jquery.prototype,在这本书开始便有了阐述。

怎么创建类:

Js代码  

  1. var Person = function(name) {
  2. this.name = name;
  3. };
  4. // 实例化一个 Person
  5. var alice = new Person(‘alice‘);
  6. // 检查这个实例
  7. assert( alice instanceof Person );

创建自己的类模拟库:

Js代码  

  1. var Class = function(){
  2. var klass = function(){
  3. this.init.apply(this, arguments);
  4. };
  5. klass.prototype.init = function(){};
  6. return klass;
  7. };
  8. var Person = new Class;
  9. Person.prototype.init = function(){
  10. // 基于 Person 的实例做初始化
  11. };
  12. // 用法 :
  13. var person = new Person;

给类添加属性或方法:

Js代码  

  1. var Person = new Class;
  2. // 直接给类添加静态方法
  3. Person.find = function(id){ /* ... */ };
  4. // 这样我们可以直接调用它们
  5. var person = Person.find(1);

给类原型添加属性或方法:

Js代码  

  1. var Person = new Class;// 在原型中定义函数
  2. Person.prototype.save = function(){ /* ... */ };
  3. // 这样就可以在实例中调用它们
  4. var person = new Person;
  5. person.save();

还有一系列的命名空间,私有方法变量的控制,总之在给类的模拟构建做准备。JavaScript的类的构建需要类模拟的库的实现。

试读《基于MVC的JavaScript Web富应用开发》— 不一样的JavaScript

时间: 2024-10-25 09:16:44

试读《基于MVC的JavaScript Web富应用开发》— 不一样的JavaScript的相关文章

web前端之MVC的JavaScript Web富应用开发一:MVC和类

web前端之MVC的JavaScript Web富应用开发一:MVC和类 开篇: 本书以 assert() 和 assertEqual() 函数来展示变量的值或者函数调用的结果. assert() 是一种快捷表述方式, 用来表示一个特定的变量( revolves to true). 这在自动化测试中是一种非常常见的模式. assert() 可以接收两个参数 : 一个值和一个可选的消息. 如果运行结果不是真值, 这个函数将抛出一个异常 : var assert = function(value,

[已读]基于MVC的Javascript Web 富应用开发

这本书是12年出版,我买的时间应该是13年,书架上唯一一本盗版→ → 但是看完是在今年. 因为刚拿到的时候,读起来很是磕磕绊绊,就搁置了蛮久.到第二次拿起来的时候,发现已经有部分内容过时,但我还是觉得它不错,讲了bind函数.订阅者模式,还有MVC的一些东西,以后可以读第三遍. PS,看前面10章就可以了.

基于MVC+EasyUI的Web开发框架经验总结(7)--实现省份、城市、行政区三者联动

为了提高客户体验和进行一些技术探索,现在正准备把我自己的客户关系管理系统CRM在做一个Web的版本,因此对基于MVC的Web界面继续进行一些研究和优化,力求在功能和界面上保持和Winform一致,本文主要介绍在我的CRM系统中用到的全国省份.城市.行政区三者的两种效果,在Winform上实现没问题,在Web上基于MVC的EasyUI实现,同样也没有问题. 1.Winform上省份.城市.行政区的联动效果 在很早的时候,我在Winform框架的一篇随笔<Winform开发框架之字典管理模块的更新,

Struts2是一个基于MVC设计模式的Web应用框架

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互. Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架. 其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大. Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制

基于MVC团队组合模式的系统开发

MVC团队组合模式,主要源于J2EE中常说的MVC演变而来.确切地说这个东西是我自己杜撰出来的,但又经历过一些项目实践,今天拿出来在与大伙这里说说,一来弥补一下自己长期不写技术类文章的缺陷,不然很多人又说我作为一个软件人,在博客中连起码的技术东西都没有,很是惭愧.二来也想把自己经历过的丁点经验告诉大伙,至于是对是错,有用与否,那只有天晓得了,哈哈.... 说到MVC团队组合模式,那就要说说我的框架WMframework, WMframework现阶段采用主要技术有:s2,ibtatis2,spr

基于MVC+EasyUI的Web开发框架经验总结(12)--利用Jquery处理数据交互的几种方式

在基于MVC4+EasyUI的Web开发框架里面,大量采用了Jquery的方法,对数据进行请求或者提交,方便页面和服务器后端进行数据的交互处理.本文主要介绍利用Jquery处理数据交互的几种方式,包括获取数据并显示,插入新数据到服务器,更新数据,删除数据等操作. 1.利用Jquery获取数据并显示 为了顺利获取数据,我们需要保持页面端调用和服务器端保持一致,并相应的把数据转换或者封装为对象实体进行处理. 下面我们以一个简单的全国省份.全国城市.全国城市行政区的案例进行Demo代码的介绍.   总

基于MVC+EasyUI的Web开发框架经验总结(14)--自动生成图标样式文件和图标的选择操作

在很多Web系统中,一般都可能提供一些图标的选择,方便配置按钮,菜单等界面元素的图标,从而是Web系统界面看起来更加美观和协调.但是在系统中一般内置的图标样式相对比较有限,而且硬编码写到样式表里面,这样给我们扩展使用有很多的不方便.基于这个原因,我想如果能够独立一个模块,自动根据图标生成图标CSS样式文件,并存储相应的记录到数据库里面,方便我们查询显示,那样我们使用起来就很方便了,最后有了这些数据,只需要做一个通用的图标选择界面,并可以在很多地方重用了.本文正是基于这个思路,开发了一个图标管理模

基于MVC+EasyUI的Web开发框架经验总结(16)--使用云打印控件C-Lodop打印页面或套打报关运单信息

在最新的MVC+EasyUI的Web开发框架里面,我整合了关于网购运单处理的一个模块,其中整合了客户导单.运单合并.到货扫描.扣仓.出仓.查询等各个模块的操作,里面涉及到一些运单套打的操作,不过由于之前介绍LODOP不兼容Chrome等浏览器,因此曾经想放弃这个控件的打印处理,不过他们及时推出了"云打印控件C-Lodop",而且对之前的接口几乎完全兼容,因此在框架里也继续沿用了这个控件来进行相关的打印处理,包括常规的打印和运单信息套打等处理. 1.控件的安装 这个云控件C-Lodop(

基于MVC+EasyUI的Web开发框架经验总结(10)--在Web界面上实现数据的导入和导出

数据的导入导出,在很多系统里面都比较常见,这个导入导出的操作,在Winform里面比较容易实现,我曾经在之前的一篇文章<Winform开发框架之通用数据导入导出操作>介绍了在Winform里面的通用导入导出模块的设计和开发过程,但在Web上我们应该如何实现呢?本文主要介绍利用MVC4+EasyUI的特点,并结合文件上传控件Uploadify 的使用,实现文件上传后马上进行处理并显示,然后确认后把数据写入数据库的过程. 我们知道,Web上对Excel的处理和Winform的有所差异,如果是在We