回到遠綠資訊科技首頁
熱門新聞
資訊專欄
線上活動與課程
媒體報導
Smooth 系列產品開發動態即時看板系統
略過巡覽連結 首頁 > 新聞中心 > 資訊專欄 > .NET元件在Web應用的關鍵
  • .NET元件在 Web 應用的關鍵
  • 引言
近幾年來,Microsoft 在 .NET 開發工具相關的功能支援上不斷推陳出新,感覺上似乎現在的版本變化比起過去,速度更快!不免讓專家們在驚喜之餘,要需要同時思考,要如何在更多樣化的產品與應用中,找到最有利的選擇?
  • 更多的軟體科技,所會帶來的好處是什麼?
隨著市場上技術不斷的推陳出新,相信對於資訊人員來說,最大的壓力與課題,應該就是更多的軟體科技,所會帶來的好處是什麼?要如何在更多樣化的產品與應用中,找到最有利的選擇?

Microsoft .NET 推出至今,不難從市場上的數據看出,有越來越多的開發人員,在面對 Java 與非 Java 路線的抉擇,在 .NET Framework 的基礎上,有了更不一樣的想像空間,不是為了跨平台的目的而限制開發者在程式語言上的發揮; 相反的,不同選擇性的程式語言優勢,在同一專案中可採行不同的程式語言來開發應用程式,讓設計者、開發者等參與成員都能各自發揮專長,就產品面而言,無疑是具有相當的吸引力,但實務上,或許考慮日後維護的問題,對於企業來說,還是會選擇採行單一的程式語言。 兩個不同方式上的實際情況,都說明了,對於大多數開發者而言,最迫切的需要,還是『 新技術的 Yes 或 No? 』、現行的系統未來升級的考慮?
  • 應用程式採用元件的比例,決定了系統升級的成本與可能性
在過去,對於 Web 應用的趨勢與好處,大概無庸置疑,但談到開發的成本與門檻,可能和 Window 相關的應用開發比較起來,就明顯有相當的差異!主要原因正是,Window 程式的建構,發展開始就是有別於文字模式,強調視覺化的開發模式,基本上就是建構於物件導向技術的實作,演變至今,也在 Visual Studio.NET 的 Web Form 開發上,可嗅出異曲同工之妙!

在 Win Form 設計上,視覺化元件的拖拉與事件導向的程式撰寫上,已經是『標準模式』!但反觀 Web 應用的程式,直至 Visual Studio .NET 的推出,才明顯大大改變過去對於 Web 化程式實際開發上的不便。而其中最大的差異在於,視覺化 Web Control 的提供,讓過去習慣於 Windows Application 開發的程式設計師,可以大大降低進入門檻,登入 Web 開發的殿堂!這樣的變革,也奠定了往後更寬廣的想像空間。

從 .Net Framework 1.0、1.1 到 .Net Framework 2.0,至現在的 .Net Framework 3.0、3.5,這樣的轉移,差異不是『改版』,卻是『增強』了更多的功能、更多的工具、還有更多的元件!可以預見,每年都有新版的 .NET Framework 也不足為奇,基本上,在 Vista 的上市推出後,在軟體開發的工程演進史上,就已經真正進入元件組裝式的程式開發時代,元件化程度越高的系統,日後升級將更為容易,成本也將更為大幅降低!
  • 元件的運用趨勢將是程式組裝的技術工程
從整個軟體開發的趨勢上,我們可以預言,能夠用比別人更短的時間,用最更方便的方式,開發比別人更好的功能,將是贏家!面臨多樣化的開發端支援,已經由過去陳述式的邏輯化程式的撰寫方式,逐漸轉型為與開發工具密切整合的開發模式。以往對於工具的熟悉,可能就決定程式的產量多寡,如今對於開發方式上的選擇,元件化的比例,更決定了量產與品質的重要關鍵。

Microsoft 推出 .NET Framework 3.0 之後的版本,涵蓋了 Presentation、Communication 和 Workflow 等方面更多功能強大的新技術與特色,在應用程式開發的基礎架構上,又提供了更豐富的運用材料。這樣的基礎,很明顯是物件導向程式開發好處上的又一實證,透過更彈性化的類別物件與視覺化元件,讓物件導向的技術在 Web 應用程式開發的建構上持續發光發熱,不論如何,除了元件之外,還是元件!日後開發人員,面對的不再是經驗法則的程式碼撰寫,反而更需專精在元件與元件的組裝技術!更開放的元件屬性彈性,透過更熟練的元件搭配,讓應用程式的功能表現,更為千變萬化,更能滿足各式的應用需求。
  • 未來 Web 與 Window 的應用程式界線將更為模糊
Microsoft WPF (Windows Presentation Foundation) 已經定義出未來的使用介面上的新一代標準,使用端的操作介面,將可能與個人電腦桌面更密切的整合,是 Web Form 或是 Windows Form 的應用程式,界線將更為模糊!難道之後,應用程式再來一次大改版?其實冷靜分析,不管建構在何種功能運用的程式開發,只要把握住以元件為基礎的開發模式,越多的組裝,就代表越多的彈性,將來差別的只是『更換零件』!
  • 在 .NET 上幾個對於 Web 元件應用的重要變革
我們知道 Visual Studio.NET 對於 Web 應用開發上,發展出不少突破性的設計方式,從 Microsoft 提供的資訊或相關網路論壇也都可以了解當中的變化,不過,從元件本身的技術來看,我們想就幾個觀點來思考有哪些重要的變革:

  • 強大的基礎物件類別

由於元件最重要的特性『繼承』,讓開發者在現有的基礎上,可以有無線發展的可能性,所以對於 .NET Framework 的基礎物件的提供就變得相當重要。其中,System.Web.UI.WebControls 當然是所有Web元件的核心所在,未來需要改裝、加工等等的處理,我們都可以利用現成的元件來加以繼承改寫!System.Web.UI.Design 和 System.Web.UI.Design.WebControls 這兩類物件類別下的物件,主要是針對於在 Visual Studio IDE 下的元件設計階段的功能支援,如果想要提供較專業的元件,就非得要善用不可。

強大的基礎物件類別

  • 方便的 Data Bound 資料連結

面對企業資訊運用,有95%以上都必須和資料庫有密切的資料整合,因此利用元件所提供的 Data Binding 方式,對於撰寫這樣的程式,幾乎就只剩下『填空題』了。

方便的 Data Bound 資料連結

  • Templated 元件的設計

所謂 Templated 元件,主要是元件本身提供了與其他元件組合的彈性化設計,例如:在DataGrid 中,我們可以針對每筆資料紀錄中的特定欄位資料,套用其他視覺化的元件展現,將 TextBox 拖拉至 Grid Column 的 Template 中用以顯示可輸入的資料欄位,用 Calendar 來顯示更人性化的日期資料等等。這類的運用,讓開發者有極大的運用彈性,組裝之間,不得不驚訝這樣的方式,真的可以見識到所謂物件化的威力了。

Templated 元件的設計

  • 元件屬性編輯器 (Property Editor) 的擴充性

Visual Studio .NET 針對元件與開發環境的整合上,也提供了相當的擴充空間。其中,常常在程式開發過程上,扮演非常重要角色的 Property Editor 視窗,對於元件各式的屬性,也都開放相當的彈性,可以讓進階的元件開發者,藉由基礎的 Design-Time 物件,來增加更多的運用與整合。幸運的是,看似需要高門檻的整合開發工具技術,在目前版本上,都可經由許多的 MSDN 範例中,找到相關的做法。更多元件設計上所須的相關知識,如:Type Converter、Custom Editor、Design Attribute、Interface 等等,都讓元件在設計階段,可以發展出更多的變化。

  • Web Resources 讓佈署的工作變得更單純

元件本身在設計與功能上,許許多多複雜的屬性之間的關聯與程式邏輯,都會被 Compile 後變成為獨立的 DLL (Class Library),當中如果需要類似小圖示的顯示或 Javascript 等等外部的連結資源,在以往都必須在元件的佈署過程中,另外設定相關的連結以確保元件運作正常,但這樣的方式,隨著所應用的複雜性,也相對產生佈署上的困難度與時效。過去在 Windows 的 Resource 概念,在今天的 Web 應用上,透過 Web Resources 的處理,將元件所需的種種資源全部打包,維持元件的完整性,也提高部署上的方便性。

Web Resources 讓佈署的工作變得更單純

  • Theme 和 Layout Master 機制的運用

一直以來,對於畫面上的整體樣式的呈現,總是需要耗費很多時間來控制系統上所有應用程式的一致性,過去可以利用 CSS 的套用來達成一定程度的需求,但許許多多屬於伺服器端的屬性 (Web Control Property),就比較傷腦筋了,如果專案參與的開發者不只一位,這樣一來,整個專案的 UI,很可能五花八門,更別談整體版面的改版了。但在 Visual Studio .NET 所提供 Theme 的機制,如果搭配 Master Page 的設計,上述的種種考慮,都將是過往的煩惱了。

Theme 和 Layout Master 機制的運用
  • 更複雜的元件技術,要的是更高效率與品質的程式開發
元件開發技術發展至今,為了提供更高的元件使用方便性,在製作元件的複雜度上,某種程度來說,也越來越複雜。如同上述舉例的幾點變革,Microsoft Visual Studio .NET 在元件使用與設計上,比起過去提供了更多設計階段的功能支援,保守估計,要能在 .NET 上製作出完整功能的商業化 Web 元件,所需要的相關技術與知識,至少有 32 種以上!這當然是 .NET 元件除了給予更多的方便與好處之外,也給予了日後在元件的發展上,帶來更多的挑戰。其實,站在別人的肩膀上,可以看得更高更遠,在面對時間速度與功能需求的兩大前提,『選擇』現成元件運用,一樣能發揮元件的優勢的另一途徑,這也是除了程式語言、開發工具之外,越來越為重要的課題。
  • 面臨更多樣化的選擇下,重點是找到對的方法
國外元件市場的長期發展下,目前在 .NET 上已有相當多元的選擇性,雖然反觀國內相關的軟體廠商為數不多,但面臨未來的趨勢變化,有幾個方向應該值得認真思考:

  • Theme 和 Layout Master 機制的運用
  • 自行開發與維護的成本,相較於現成元件的花費?
  • 技術的支援與提升
  • 自動化的生產或是仰賴人力的手工製程?
  • 元件化的比例,等同標準化的程度多寡
  • 組裝的概念在於元件的可替換性
  • 所謂寫程式已經是如何懂得操控元件了!

種種新的技術、新的概念、新的產品,讓軟體科技的發展瞬息萬變,對於開發技術人員來說,對於企業資訊運用的價值來說,最需要關心在意的,當然應該要回歸到如何選擇與套用對系統最適合的技術方法,而重點還是在於『方法』的抉擇。然而對於平時專注於企業需求的資訊人員來說,最快的效益,可以說是『好的工具』+『豐富的零件』!如果還在苦惱舊有技術的包袱,不如及早開始,一切才剛開始!
相關解決方案 相關案例分享 相關活動與參考資訊連結
回到上方
關於遠綠服務項目服務團隊新聞中心(1)加入遠綠聯絡遠綠網站地圖
(C) 2014 Double Green Information Tech. All Rights Reserved.     遠綠資訊科技(股)公司版權所有
免費專線 0800.668.670