AJAX 及界面设计迁流
Posted sp42a
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AJAX 及界面设计迁流相关的知识,希望对你有一定的参考价值。
AJAX 风潮迅速席卷 web 开发,遗老遗少很不理解,认为 AJAX 开发的东西不够稳健,没有导航等等。和旧 web 开发相比,AJAX 最重要的改进恐怕是在浏览器上可以和 CS 一样,留有一份不被刷掉的内存数据。正因为有 AJAX,CS 传统的界面开发模式 MVC 可以顺利的转移至 web。
前文提出 DB2JS 开发方法,正是基于此。
如何在浏览器实现 MVC,可能不少人听到这个单词就能悟出。
- M:javascript 对象搭建的数据模型。数据存储在JS对象中。
- V:html 页面
- C:呼叫 JS 对象的方法操纵 JS 对象的数据。JS 对象提供异步方法提交回数据库,按我的思路是呼叫数据库存储过程。
此模型的 JS 对象,其作用乃至实现方式都和 .net 的 Dataset + DataAdapter 搭配相仿。甚至可以共用同一套存储过程和前端体系。
借助 JS 语言的灵活性以及 DHTML 的丰富表现力,可以实现绚丽有趣的界面效果。
XML 在该框架中可以扮演中介者,唯不能代替 JS 对象,这里可以把 XML 当做 RelationDB,其与 JS 对象的关系仍似 ORM 的传统课题, 不过 JS 是动态语言,这种映射比在 Java 里要好做得多。
以上话题仍是关于 DB2JS。
回顾界面发展的流派,可以发现三个主要的分支在会合。
一支是来自传统印刷广告设计,旧行业的杂志编辑。其主要能力是图文混排。HTML 网页和 WORD 文档、PDF 文档是其代表。从原理上,如果 WORD 文档不走平台绑定路线,其丰富的文字表现力和渲染速度本应让它在这个方面占得鳌头。既然 Word 文档甘守一隅,在本文中,图文支派的代表自然为 HTML。
一支来自影片及照片加工,旧行业的美术摄影电影。其主要能力是绘画和动画。Flash,GIF 和 Photoshop,Illustrator 是其代表。即使一个小小的 GIF,也让世界变得多么美好。想想 QQ 传输图片的 GIF 等待图片,让用户在等待的时候还有一丝愉悦的美感。假如普通 UI 都具备 Flash 的无级缩放和Photoshop的绘制能力,其视觉效果恐怕只应游戏有。
第三支是 IT 业的发明:窗口。其主要能力是位置固定和工程师费尽心机打造的固有控件。Windows、KDE 是其代表。由于具有原生 API 支持,速度快。其实,如果细心想想,该支派的始祖可上溯为绘画支派。两个方面可以佐证:1、绘画支派天生支持绝对定位,我们很容易把窗口上发生的一切当作影片里的角色。2、绘画支派也的确发展出自己的窗口系统,比如 Flash的控件库。区分这两者的准则是自绘/API,便如 Swing 之于 AWT。
可以发现一个趋势,这三支在逐渐冲撞融合。
在开天辟地之初,字符界面的阴影覆盖着整个电脑世界。后来,窗口依靠鲜艳的图标、丰富的 UI 元素奠定了 UI 世界的霸主地位。HTM L的出现宣告另一个分支进入了UI战场,需要注意的是网页的舞台并不是具体的电脑,HTML 狡猾的选择了 WWW 作为舞台。在几乎没有任何竞争对手的情况下,Internet 的UI天空变成了HTML的颜色。后来,HTML 加入了表单元素,将一些简单的窗口功能引入,其图文混排的“图”字,多了一个控件的含义。过了很久,Flash 杀入界面战场,它最初的诉求和 GIF 类似,在 HTML 上的“图”里分一杯羹。起初窗口支派图谋借助 JavaApplet 和 ActiveX 和 HTML 杂交,却并没有成功,其情节耐人寻味。我想一个主要的原因是担任界面的人是美工,对需要理解一大堆 API 的窗口系统很难入戏。
窗口支派在挤进 HTML 的努力失败后,继续一家独大电脑 UI 的美梦,发明了半透明的窗口等等新元素。可能考虑到进行图文混排的浏览器也是一个窗口,所以窗口支派以为图文支派的命脉在自己掌握中,没有屈尊主动和 HTM L杂交,没有移入 HTML 的核心内容:图文混排。想象窗口系统的按钮,如果能改造为图文混排,就可以复制界面上的文字,甚至整个窗口,到别处粘贴了。对用户而言,这种 UI 至少对上网搜索故障原因要方便得多。
窗口系统的迟钝和它努力想挤进 HTML 的失败也许可以让我们发觉,原来程序员的UI观念和普通用户的 UI 观念有时是格格不入的。
长期以来,作为程序员,我们皈依的是窗口支派。我们的第一份惊喜是 CreateWindow,从那天开始,我们心里就没有 <button></button>
的位置了。如果要制作稍微复杂的 UI,就不得不借助大量的富有挑战性的自绘来完成。例如在使用 Delphi 时,若客户需要奇偶行异色的网格,就需要自己派生网格来实现。其实想想,这些东西在 HTML 里多容易实现啊。是面向对象重要还是面向对象的目的重要,值得我们思考。
天才们为 HTML 开发了一套脚本系统,让界面制作人员可以控制网页上的元素。同时 HTML 又获得了一种能力:CSS。前者让 HTML 获得了动态能力,使它可以模拟窗口系统的响应。后者除了批量格式化显示效果外,还意外的让 HTML 获得了层的能力,使其可以模拟窗口——以及动画支派的层。
拥有这两种能力后,HTML改名叫 DHTML。
由于网站 UI 开发者的主体是美术人员,这些人汇集了人类对美的最佳理解,很容易便将图文混排的 UI 表现推进到远超过窗口支派。
得到强援后,HTML 支派变得躁动不安,妄图革自己的命。也可能是发迹于窗口支派的程序员发现了该支派的潜力后,对它有了独到的认识。HTML 引入了 XML+XSLT 网页。回顾这场 XML 革命,其背后的理念是数据与表现分离。鉴于这种理念和图文混排的理念并不相同,恐怕难获成功。
同时,动画支派也在蓬勃兴起,该支派凭借 Flash 及其 ActionScript 完全将窗口支派纳入自己囊中。按理说这个支派的潜力最大,但由于没有本地 API 支持,其渲染速度与窗口支派始终有差距。另外,网站的商业追求将它推到令人厌恶的广告王座上,成为众矢之的,也湮没了它应有的才华。
回顾过去发生的这一切,以及对最近业界的观察,未来的肇端已经隐约可见:图文支派凭借 AJAX 技术在浏览器这个舞台发挥出更大的威力,但它本身还没有动画派的绘制能力和矢量能力。未来的方向可能是 SVG。
绘画支派的 Flash 过去在 Macromedia 的带领下,早已从 GIF 的替代品脱胎换骨,甚至在服务器端依靠 RIA 多方攻城略地。现在接管 Flash 的掌门人 Adobe 又提出将 Flash 作为桌面的宏伟构想。鉴于它已经可以囊括了窗口,只要引入图文混排的标记语言能力,再进一步提高渲染速度,这种天生可以跨平台的 UI,即使不利用 Flex,凭借天生不分平台的 Web Server 作为依托,也是一支非常可怕的力量。
而窗口支派也已经觉悟,Vista 的界面使用类似 HTML 的 XAML 来定义,全盘图文混排化,复又引入播放的概念,使界面行为具备动画的特征。这个举动也可以理解为,图文混排获得大捷,或者说,图文混排支派变成了 API 级别的图文混排了。考虑这种新的 UI,只要换个 CSS,以前梦寐以求的换肤功能即可实现。用户甚至可以通过修改 XAML,调整界面定义,重新布局菜单和按钮。
在和平和爱情的世界里,没有国界、没有硝烟。再也不见纯粹的 HTML 静态页面,也不见方方的窗口,融合终是大势所趋,最终受益的终是用户。
以上是关于AJAX 及界面设计迁流的主要内容,如果未能解决你的问题,请参考以下文章
AJAX界面开发工具Telerik UI for ASP.NET AJAX全新发布R3 2020
利用 jQuery UI 和 Ajax 创建可定制的 Web 界面
Bootstrap + Thymeleaf——预约维修前端页面设计(UI + JS数据校验 + JSON序列化 + AJAX提交)DEMO