剖析短迭代
敏捷教练Dave Nicolette提出:我们应该如何设定迭代长度?是要根据发布周期的时间么?使用短迭代又有哪些好处?
作者 Jonathan Allen译者 胡键 发布于 2007年4月9日 上午7时55分
或者是JavaScript?新一茬的桌面用户界面框架有一个共同的趋势:基于XML,并具备某种程度的JavaScript支持。在此,让我们简要地看看AJAX,WPF/XAML,Flex/MXML和Firefox的Gran Paradiso。
首先登场的是AJAX,Web 2.0狂潮的典范。作为一门充分利用现有HTML和JavaScript的新技术,几乎没有理由不使用HTML。尽管目前还不适合桌面应用程序的开发,但它的确为后来者搭建了一个舞台。
微软把宝重重地押在了一门新的基于XML的语言上:可扩展应用程序标记语言(Extensible Application Markup Language,XAML)。传统的Windows开发者可以通过Windows Presentation Foundation(WPF)使用它。在XAML中WPF更象ASP.NET,被用于界面表现,而其它的,如C#或VB,被用在代码分离的文件中进行事件处理。
除了技术区别之外,XAML还从根本上改变了用户界面设计的开发循环。用户界面专家和图形艺术家可以使用XAML编辑器(如Expression Blend或ZAM 3D)创建用户界面,然后将文件移交给使用Visual Studio的开发人员。至少在理论上,开发人员可以不用再根据那些使用Visio或Photoshop拼凑的非交互性截屏进行工作。从ASP.NET相当令人迷惑的成功上可以判断,它的效果令人起疑,但是至少存在潜力。
XAML的故事并没有在这儿打住。微软同样期望通过Windows Presentation Foundation/Everywhere(WPF/E)获得跨平台的支持。这个产品开始将以JavaScript作为它的程序、事件处理语言,在今后的版本中将支持公共语言运行时(CLR)。它可以被视为其他浏览器驻留框架(如Flash/Flex)的直接竞争对手。
关于XAML技术需要留意的是,这些设计器目前都还没有真正意义上成型的形式。Expression Blend目前只是处于预发布阶段。今年晚些时候,VS Orcas将到达Beta版。在此之前,Visual Studio将不会有任何多于CTP(Community Technology Preview,社区技术预览版)的功能。
接下来的是MXML。它是在Adobe Flex中被使用的表现语言,同样基于XML。它结合了JavaScript的派生产品——ActionScript,最初它是由Macromedia在2004年发布的。尽管工具的支持经过了多年改进,但是它仍然被桎梏于浏览器和Flash播放器中。Adobe实验室想通过Apollo计划来改变这一切。Apollo计划的目标就是创建一个将Flex从浏览器解放的跨平台运行时(Runtime),这样它就可作为一个单独的桌面应用程序运行。实际上,这是剽窃了Java最初的剧本,他们将飞机开入了微软的客厅。凭借出众的界面水准,它们有可能赢得比赛。
最后是Firefox带来的新礼物Gran Paradiso。与微软不同,它为Web引入了一门新语言。也不像Abode,它一开始就创建了一个新的运行时。Firefox团队忠于它们目前拥有的东西。Gran Paradiso使用与AJAX相同的底层技术——HTML和JavaScript,并且它仍然生活在浏览器之中。区别是,它计划提供DOM存储、脱机执行和同步模型等功能,该模型允许Web应用程序在部分或完全的非连接模式下运行。
过于依赖一个特定的浏览器可能最终会击沉Gran Paradiso。不像WPF/E和Apollo使用跨平台的运行时,它们期望用户不需要为跨平台这些问题烦心,Firefox是一个高度从应用程序自身夺取屏幕空间的可视化帧。那些使用IE、Safari或Opera的用户,肯定会对于必须使用Firefox感到些许不安。
结合XML和某种形式的JavaScript成为了这些新框架的主旋律。JavaScript到底是下一个超级语言,还只是一个短期的异常?
译者简介:胡键是InfoQ中文站的志愿者翻译,自2000年西安交通大学硕士毕业后一直从事软件开发。2002年开始使用Java,在项目开发中经常采用OpenSource工具,如Ant、Maven、Hibernate、Struts等,目前正在研究信息集成方面的规范和技术。可以通过jianhgreat AT hotmail.com与他联系,或访问博客:http://foxgem.javaeye.com/。加入InfoQ中文站志愿者翻译队伍,请邮件至china-editorial@infoq.com。
本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。
在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。
InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!
在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。
通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。
本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。
InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。
2 条回复
回复