网络开发中MVC的思想应该是比桌面程序的开发更进步的,相当于每一个query(对应于桌面程序中是响应界面的命令)都是重绘整个界面,这样就极大的简化了界面的响应:界面只是对Domain model及应用状态的一个展示. 原来的桌面程序在响应一个界面命令时需要进行很细粒度的控制,比如:点了树控件上的一个结点,应用程序中的菜单应该怎么变,Domain model中对应的结点是不是应该变成选择集,这种细粒度的控制提高了效率,但极大的损失了简单性和易理解性,试想,如果MS Office这样的软件会需要多少这样细粒度的控制啊,随着软件规模的增加,软件的易理解性应该是线性的.
Ajax认为:可以用桌面开发的手段来开发网络程序.我认为如果用桌面开发的手段加上网络开发的思想来开发软件,可能既能满足较强的交互性,又能满足快捷开发的需要.
GWT是一个不错的Ajax框架,它的概念和创新性非常的强,之前几次想学,昨天静下心来看一下,觉得对于Java网络开发来说,应该是一个利器.它的开发理念中:Java网络程序应该像桌面程序一样运行.
具体操作时
1. 你可以像写桌面程序一样写网页,网页就像一个窗口,调试过程也和桌面程序完全相同.
2. 涉及服务器端调用时用封装好的RPC完成,就像调用本机的函数一样.
3. 这些Java程序不会被编译成字节码,而是编译成javascript和html.
其应用的成功例子有:Gmail, GReader, Google apps.
接下来会介绍MyEclipse与GWT的结合。