|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。用来创立基于JavaScriptweb使用的以Java为中央的编译器GoogleWebToolkit(GWT),明天(8月28日)它公布了1.5版。InfoQ有幸采访了其手艺向导BruceJohnson以懂得关于该公布的更多信息及增添的新特征。
GWT1.5的次要新特征包含:
- Java5言语撑持——撑持Java5的特征如泛型、列举、注解、主动装箱及可变参数列表
- 编译优化——编译后的使用的功能再一次失掉改善,现有的使用利用GWT1.5从头编译后速率将有很年夜提拔
- JavaScript加强——JavaScript的Overlay范例及新的高功能的DOMAPI供应了强范例的JavaScript对象和DOM编程,而这统统无需增添运转时本钱
- 默许的可视化主题——新版本供应了几个基于CSS的UI主题以初始化使用的感官(look-and-feel)
能够在这里检察完整的变更列表及公布信息。
Johnson论述了1.5版的几个变更:[@gwt.eventArgs之前用作]针对RPC的基于javadoc的元数据。这是一个很棒的示例,由于当晋级到GWT1.5时,年夜多半人一入手下手城市碰到这个变更。RPC如今变得更复杂也更丰厚,由于RPC接口能够复杂地指定泛型汇合。另外一个值得注重的事变就是GWT1.5如今已完整撑持“long”原始数据范例了。在GWT1.5之前,“long”并没有失掉真正撑持,由于JavaScript没有64位的整数范例,因而利用当地的JSnumber其实不能暗示“long”的全体局限。在GWT1.5中,我们经由过程发生分外的代码来确保long的举动是完整准确的,只管在功能上要比GWT1.4略微低点。这是不成制止的:我们必需在功能和准确性上做出决定,明显我们会选择后者。假如你在GWT1.4中大批利用了long范例而且速率要比数字局限加倍主要的话,请思索将这些变量改成“int”大概“double”以坚持与GWT1.4一样的速率。 Johnson还具体剖析了编译器的变更——以此来撑持1.5版:GWT编译器前端重用了Eclipse供应的优异的Java编译器。它处置一切的剖析和语法反省,然后构建一个笼统的语法树(abstractsyntaxtree,即AST)。接上去我们利用该AST举行优化并天生JavaScript输入。Eclipse编译器让我们变得加倍轻松,由于它处置了大批事情。可是,追求在JavaScript中无效地表达新观点的体例,如列举和加强的for轮回,仍旧消费了我们大批的事情。新的言语特征还对GWT库起到了主动的连锁反响,最分明的就是在RPC中可以利用泛型这个新功效,我们还对注解举行了扩大以鄙人面这些情形中取代基于javadoc的元数据体例:国际化、图象包和基准。 Johnson说到GWT在web开辟方面的次要合作敌手能够分为三类,同时也谈到了GWT该怎样使本人有别于这些合作敌手:
- 非DOM的UI模子,如Flex——GWT利用扫瞄器的DOM模子而其实不想取代它,同时Johnson指出GWT已完成了一些十分棒的Flash和DOMUI的集成
- 服务器真个HTML天生器,如JSF——GWT对其是个增补,由于它是地道的客户端手艺(除RPC以外),而且它与服务器端组件集成的很好,但是Johnson指出加倍丰厚、更具形态的GWT客户端代码使我们能够构建更具呼应性和流利的UI,从而下降了对服务器真个守候
- AJAX库,如Dojo与jQuery——这儿的次要区分在于编程言语的选择;GWT利用现有的Java开辟工具和编译器功效来发生高度优化的JavaScript代码。我们能够同时利用Java和JavaScript,但是Johnson说到Java利用的越多,GWT编译器的优化水平也就越高
当被问到GWT与Google的其他工程的整应时,Johnson说到:关头点:GWT赐与你良多,可是它不想酿成一个“围墙花圃(walledgarden)”。任何笼统城市有漏掉的工具,以是最好承受这个现实。我们成心简化该笼统,如许你就能够触及JavaScript的详细细节,那末你就能够集成你喜好的任何其他手艺了。这类天真性关于GWT自己和其用户来讲都是一种保险单:你能够断定你能将任何客户端手艺与GWT集成,同时我们(GWT开辟小组)也不用显式地将其与开放的工具举行集成,由于你老是能够本人完成这件事而不用等我们来完成。关于我所提到的天真性的示例,请参考RayCromwell的事情——Syndroid。 Johnson还说有良多与GWT的集成,包含将其集成到Spring、Flash和大批的GoogleCodeprojects。
当被问到GWT将来的企图时,Johnson说到:我们将持续存眷功能改善和将要从GWT孵化器中出来的几个新widget,包含一个日历控件和几个大度的表格widget。我们还在动手做别的完整奇怪的工具,如声明式的基于XHTML的UI模板机制。我们还没有企图好统统,但我希冀在随后一个或两个版本中能将其加出去。特地提一下,我但愿它的开辟周期比GWT1.5更短。 Johnson还但愿能将GWT作为GoogleAppEngine的一个开辟情况,如果如许的话,那真是太酷了。
检察英文原文:GWT1.5:Java5Support,PerformanceImprovementsandJavaScriptEnhancements
来自:http://www.infoq.com/cn/news/2008/09/gwt-15
Java的桌面程序开发在java程序员里通常叫swing开发,主要用的swing包里的类开发的,也就是通常说的c/s架构开发 |
|