談到計算機編程,有時它只是意味著找到合適的組合方式。近來,古狗公司(Google)的開發人員將一些存在多年的Web技術進行了重新組合,精心設計出一系列令人炫目的產品,比如,完美互動的北美地圖GoogleMaps、性能非凡的電子郵件Gmail、特殊的搜索引擎Google Suggest—用戶只需鍵入頭幾個字母,它就能夠提示完整的詞組,等等。
現在,Google公司開放了GoogleMaps的應用程序接口 (API),以及GoogleMaps、Gmail和Google Suggest背后的一些代碼。這些應用都采用了一種綜合性軟件Ajax寫成。Ajax是Asynchronous、Javascript 和XML的縮寫。在Google公司和雅虎公司(Yahoo)等互聯網領袖企業的推動下,Ajax正使得企業為客戶提供在線服務的方式發生轉變。同時,Ajax還使得在Web上運行軟件的感受,越來越接近于本地PC機上的運行水平。用戶在查閱GoogleMaps時,不必再面對令人厭煩的旋轉沙漏(Spinning Houseglass),所需要的工具也不復雜,普通的瀏覽器就可滿足需求。
GoogleMaps產品經理布萊特·泰勒(Bret Taylor)大膽聲稱:點擊URL和下載頁面的做法是“老式的Web用戶界面”,而Ajax開發的軟件給人的感覺更像是一種桌面軟件!拔覀兇_實對Web應用軟件的形態重新做出了定義!彼硎镜。
更多的軟件開發人員和Web用戶很快就能理解泰勒的上述言談意味著什么了。微軟公司(Microsoft)最近表示,公司正在開發一個被稱為“Atlas”的編程工具代碼,它能讓大量的Visual Studio用戶使用Ajax編寫應用軟件。由于數據處理放在后端進行,Web站點可以迅速向用戶提供新的信息,而無需重新刷新頁面。
雅虎公司的圖片共享網站Flickr.com以提供能夠讓用戶輕松在線組織和共享的圖片而著稱。該網站最近將大部分站點內容從Macromedia公司的Flash 技術轉向了Ajax技術。雅虎公司也正準備對其雅虎郵件服務進行大幅升級,這次升級是基于去年對Ajax電子郵件軟件企業Oddpost 公司的購并,以便公司能迅速趕上Google公司 Gmail的發展速度。
Ajax也能用于流量較大的B2B網站。Sabre控股公司(Sabre Holdings)正準備發布新版的航空計劃和運營軟件,該軟件采用Ajax后,反應時間從數秒減少到數毫秒,滿屏的航班情況瞬間就可瀏覽到。今年5月,Sabre 控股公司基于開源協議,開始開放部分Ajax代碼,來樹立公司“IT創新者”的形象。公司航空解決方案部門的產品開發副總裁大衛·恩迪科特(David Endicott)表示:“我們突破了性能問題和可用性方面的障礙!彼诘牟块T為一些航空公司開發軟件,客戶包括美國航空公司(American Airlines)和捷藍航空公司(JetBlue Airways)等行業領袖企業!斑@對于我們品牌的知名度以及公司的影響力都是一個較大的提升!
在軟件開發的創新之路上,通常會出現一兩位天才的程序員,而Ajax的來源則更分散一些。它的核心技術自1990年以來就存在,不斷演變的Web戰略和Web技術使他們以一種新奇的方法組合在了一起。
Google公司、微軟公司MSN部門和雅虎公司正在不斷推出大量高質量的軟件,一些企業也正努力通過更好的網站設計來提高品牌形象和增加收入,因此,Web上的軟件設計正變得越來越重要。如今,瀏覽器市場的爭奪戰已經明顯降溫,很大程度上,這使得程序員們開發的軟件在任何瀏覽器上的運行都會比較可靠!
“用戶在Web上的體驗已經出現了差異,”微軟公司平臺戰略部總經理查爾斯·菲茨杰拉德(Charles Fitzgerald)說,“今年年初或更早以前,你會注意到,企業的興趣也發生了新的變化,爭奪客戶注意力的戰爭已經開始!
由于Ajax這項技術實際上已經從自主產品部件的組合,轉化到了更加標準化的產品,那么另一場爭奪戰是,由誰來向用戶提供構建強大的Ajax網站的開發工具。在大多數網站,當Web用戶點擊單詞或圖片,網站的軟件就會向服務器發出請求,提取數據、進行運算,或顯示圖像。而在使用Ajax設計的網站,瀏覽器加載一個引擎,它會拖動用戶界面并在后端執行信息請求。結果就會出現像GoogleMaps軟件的效果,用戶能在美國和加拿大地圖上從一個州放大到一條街的水平。
當用戶在地圖上從美國南達科他州的蘇福爾斯(Sioux Falls,SD) 拖曳到威斯康星州的肯諾夏(Kenosha)時,這個軟件就會加載一些屏幕范圍以外的像素所組成的圖素(Tiles),這樣用戶就不會感覺到有時間上的滯后。
今年3月,雅虎公司收購了Flickr.com。在這個網站上,用戶可以將照片放進相冊進行管理,或是通過在頁面上拖動的方式與其他組群共享,每次操作行為的變化無需對頁面進行重新載入!叭哪昵,這是根本不可能的事!毖呕⒐镜囊晃豢偨浝砗虵lickr.com的創始人之一斯圖爾特·巴特菲爾德(Steward Butterfield)表示,“過去的體驗非常糟糕,這樣的新功能過去根本不值得推出!
由于瀏覽器生產商不再爭先恐后地推出新版本,程序員頭一次感覺到,自己編寫的代碼和XML終于能夠可靠運行,因為軟件不太會頻繁發生改變了。這也使得人們對Ajax的興趣大增。Web設計咨詢企業Adaptive Path 公司用戶體驗總監耶西·J·加勒特(Jesse James Garrett)表示:“IE和Mozilla(Firefox的締造者)在過去5年中,基本上都是在打補丁而已!毙碌腤eb編程方法Ajax,正是由加勒特所命名的。
包括亞馬遜網站(Amazon.com)、蘋果公司(Apple Computer)、荷蘭直接銀行(ING Direct)、Lands’ End公司、在線DVD租賃公司Netflix公司,blog(網絡日志)內容聚合提供商Technorati以及沃爾沃公司(Volvo)等在內,一大批公司都是Ajax的追隨者!癆jax在管理層中會得到更大的信任,因為這項技術在管理者們所信賴的著名企業中獲得了高度認可!盕lickr.com的巴特菲爾德說,“這使得Aajx的地位更加合法化!
Ajax并不簡單。它包括了兩種以上的Web語言以及其他代碼,包括JavaScript、動態 HTML和微軟公司創立的例行程序XMLHttpRequest等。由于Ajax是從免費技術當中隨意組合在一起的,因此開發所需的時間就會比在商業開發環境中的開發時間要長一些。但是,這種開發方式避免了采用浩繁的編程語言,如太陽計算機系統公司(Sun)的Java;或創建多媒體服務器和多媒體工具,如Macromedia公司的Flash等。由于Ajax的基本技術可以方便獲得,而且完全可以在普通瀏覽器下運行,所以這種軟件的大量使用將會削弱這些公司的產品需求。
微軟公司等高科技企業對Ajax的重視程度還在進一步提高。微軟公司計劃將在今年9月,在美國洛杉磯召開專業開發人員大會(Professional Developers Conference,PDC)上,發布Atlas的預覽版本。該公司表示,Atlas能讓公司輕松地為不同瀏覽器開發和測試Ajax!艾F在,還稍微帶點黑客的性質!狈拼慕芾麻_玩笑說。
Google公司最近公開了地圖站點的API,讓開發人員創立混合性的網站,就像社區網站Craigslist所創建的一個站點就包含了Google公司用戶界面。條件是在任何使用其API的網站上,Google公司都享有廣告權。
7月初,Google公司公布了JavaScript 版本的Extensible Stylesheet語言,這是在開源BSD協議下,從服務器獲取XML文件并在瀏覽器內將其轉化為HTML的軟件。而且Google公司為開發員工提供了一個Ajax技術的工具包。
不過,競爭對手也在對Ajax挑三揀四。Macromedia公司執行副總裁和首席軟件架構師凱文·林奇(Kevin Lynch)表示,編寫Ajax軟件需要重復測試以消除不同瀏覽器所造成的Bug。他還指出,Ajax缺乏商業開發工具的現實!叭绻捎肍lash,你可以一次完成,而且運行時間也能統一起來!
Sun公司副總裁和Java計算機語言發明人詹姆士·高斯令(James Gosling)最近表示,雖然很多開發人員將Ajax和Java結合起來使用,但相對來說,Java還是一個更有生產力的編程環境!癆jax對那些看上去比較精巧的網站是很好的工具!彼f,“Google公司的地圖站點給人們留下深刻印象。而人們不了解的是,Google公司為了讓地圖在其他瀏覽器平臺上順利運行經歷了多少痛苦!
即使擁有更高的瀏覽器穩定性,Ajax相比普通的Web應用軟件而言,還需花上更長時間進行調試。
由于缺乏商業開發工具,因此采用Ajax還缺乏標準的方法。不過,轉向Ajax并不是故意逃避問題的方式:由于其技術的核心是一種軟件從服務器獲取數據,并執行代碼的新方法,因而,它的影響范圍就不只是用戶界面層!八岢隽艘环N全新的軟件開發模式!卑吞胤茽柕卤硎。當然,Ajax還有一些其他缺點,比如老練的用戶能在瀏覽器里查閱JavaScript代碼,并猜出軟件的構造方式。
與傳統的Web設計相比,Ajax設計也許難度更大一些。不過,Google公司的泰勒認為,能讓客戶擁有更好的體驗終究是值得的。正如Sabre控股公司用戶體驗經理比爾·斯科特(Bill Scott)所說的:“我知道Ajax有許多渲染的成分,但它的確是近一段時間以來出現的最棒的技術之一!
讓你的網站擁有地圖——Google公司和雅虎公司希望自己的地圖服務能夠整合到其他Web站點。
Google公司和雅虎公司分別發布的整合界面,讓想要在自己Web站點上添加街道地形圖的公司有了兩個選擇。
Google公司前不久發布的Google Earth,讓人們使用衛星圖像把地圖放大到街道級水平。免費的API可能沒有Google Earth那樣炫目,但對企業來說,API可能更實用。GoogleMaps的API使得開發人員可以采用JavaScript將地圖嵌入到自己的網頁上;用戶可在地圖上增加覆蓋層,包括箭頭等;還可以用陰影顯示信息窗口。測試版對任何網站都是免費的,盡管Google公司保留在地圖上做廣告的權利。
YahooMaps的API使得開發人員通過覆蓋內容創建定制的地圖. 兩家公司都提供免費API。但是如果你需要支持,就要通過公司的討論組獲得。
(責任編輯:銘銘)