在上個星期的研討會中,分享了很多個主題,其中有一個主題會後很多朋友都有興趣,那就是Silverlight 4技術的應用。很多人對於網際網路開發技術都會有很多誤解。先請問各位幾個問題:請問 HTML 5目前是W3C定義完成的標準嗎? 請問 CSS 3 目前是W3C定義完成的標準嗎? 請問未來的網際網路應用程式,還會是 "Thin-Client" 嗎?
前兩個問題的標準答案都是:否。或許你會說,不是很多瀏覽器都說支援 HTML 5了嗎 ? 但事實上就是,W3C到目前為止,還沒定義完成最終版的 HTML 5 -- CSS 3 也是。像這些似是而非的資訊現在充斥在網路上,也常常誤導了許多開發團隊走了很多的冤枉路。
從 3、4年前開始,我就在很多ASP.NET與Silverlight的技術研討會當中,說明了Silverlight其實是網際網路應用程式的開發技術,特別適合用來開發商業級應用程式,而非只是與 Flash player對抗的技術。事實上,Silverlight 4在商業級應用程式開發方面,無論是開發工具或是執行效能,都比Flash好太多了。而若是相較於JavaScript 而言,Silverlight 4 提供了更多資料繫結的方法以及更好的除錯工具,在前端瀏覽器中,可以創造出更多豐富的功能。以研討會中所舉的範例來說,透過Silverlight技術,你可以很容易的就在瀏覽器當中,與後端的服務建立TCP的繫結,讓前端的網頁可以即時更新氣象的資料(範例程式在ASP.NET升級寶典中)。
Silverlight 4也簡化了很多在瀏覽器中透過JavaScript無法做到或是很難做到的功能,像是與後端的服務做複雜的繫結,都可以很輕鬆地透過Visual Studio 2010開發工具完成 -- 而且很容易就可以測試與除錯,之後會再透過部落格跟各位再分享其他的範例,今天先來從開發架構上了解,Silverlight技術所帶來的改變。
今天要談的所謂 "預鑄工法",是目前建設大型建築物,像是高樓或是橋梁所普遍採用的技術,主要作法是將大型建築物複雜的部份先在外部工廠建造完成之後,將來運到工地之後就可以直接組裝,可以大大的縮短工作所需的時間。
(圖片來源:榮工處網站)
因為Silverlight 4應用程式可以直接整合JavaScript,而且也可以直接從瀏覽器中存取不同位置的後端網路服務,因此當開發測試好Silverlight應用程式之後,就可以將Silverlight應用程式嵌入網頁中。因為大部分複雜的程式都已經包裝在Silverlight應用程式中了,因此就不需要再去撰寫或是維護一堆的JavaScript;換句話說,JavaScript就變成了將Silverlight應用程式與網頁中的HTML元素繫結的工具,這就是我所謂的 "網際網路應用程式中的預鑄工法" -- 開發商業級應用程式的時候,將網頁中複雜的部份,像是需要顯示即時資料的圖表或是資料庫的繫結,直接透過Silverlight 4應用程式開發完成之後嵌入到網頁中,再透過JavaScript與網頁中的元素互動。如此一來就不需要在伺服器端維護其他網頁程式,既可以加速這些複雜功能執行的效能,也可以減少維護JavaScript所需要的成本。
這一篇是一個楔子,後續將開始分享實際的做法。至於一開始最後一個問題的答案:當網頁中需要執行的程式越來越複雜,目前在用戶端執行時使用大量CPU資源或是GPU加速運算已經是常態。手機都要邁入雙核心時代了,你認為呢 ?
沒有留言:
張貼留言