作者 | Huzaifa Khan
譯者 | 朱先忠
當今世界上大量程式員都選擇基于.NET架構開發應用程式。但是,作為一名合格的程式員您還應該深入了解這個架構的一些優點和缺點。
如今,.NET開發架構受到了全世界程式員的廣泛歡迎,它被數百萬開發人員用來建立各種類型的應用程式。其原因也非常明确,.NET提供了大量功能,可以幫助開發人員依據給定的需求來開發任何類型的軟體産品。此外,該平台在過去幾年中有了巨大進步,為開發人員建立跨平台應用程式提供了更多便利。這進一步提高了.NET架構的流行度,也鼓勵了更多的開發人員加入這個龐大的開發生态系統。
特别是最近引入的.NET 6,進一步加強了該平台的開發基礎設施。可以說,它現在比以往任何時候都更加豐富;允許開發人員為雲端、物聯網、桌面和移動裝置建立進階應用程式。
當然,您也可以将其稱為完美的統一平台,因為在這裡您可以根據需求獲得大量的開發支援。而您所需要做的隻是精通.NET開發所需要的技術,如Xamarin、ASP.NET核心等。當然,在提供了大量豐富的特征外,.NET架構也存在一些限制。這些也正是它的缺點,需要微軟立即關注。在本文中,我們将讨論.NET架構存在的典型性的優點和缺點,以幫助您更好地了解該平台。
下面,讓我們先來了解一下.NET的核心模型,因為該模型能夠幫助您了解其整體開發的生态系統。
.NET開發平台的核心模型
許多初學者并不知道.NET開發技術被劃分為四種不同類型的層,這些層中包含的模型分别對應于:.NET架構、.NET核心、Xamarin和通用Windows平台(UWP)。它們的組合實作了提供完整的.NET開發環境,人們可以利用這些元件來建立各種應用程式。
從曆史發展來看,.NET架構基本上是2002年開始引入的開發平台的第一個實作。當時,它基于三種主要的應用程式模型,即ASP.NET窗體、WPF和Windows窗體。
該平台的第二個版本是.NET核心部分。它是.NET架構的進階和重建形式,允許開發人員在Linux和MacOS上使用該平台。這樣一來,增強了舊版本僅為Windows平台開發應用程式的能力——也能夠為其他作業系統平台提供開發支援。
.NET的第三個實作版本是Xamarin,它為建立跨平台移動應用程式提供了非常有效的開發基礎設施。第四個也是最重要的.NET層稱為通用Windows平台(Universal Windows Platform,簡稱“UWP”)。它為開發能夠在所有Windows裝置上運作的應用程式提供了強大的統一基礎設施。這包括PC、平闆電腦、XBox、Surface Hub等不同平台。
.NET開發架構的優勢
.NET開發架構的流行說明了它在開發領域的重要性。以下是使用.NET開發平台展現出來的一些核心優勢。
面向對象的軟體開發模型
.NET的最大優點是,它允許您使用面向對象程式設計(OOP)的概念編寫應用程式。這是開發人員用來建立不同類型應用程式的核心軟體程式設計模型。.NET架構在處理面向對象程式設計及其編碼政策方面非常出色。通過将代碼分解為小的子產品,有助于使代碼更易于了解。
借助于.NET架構,您可以使用子產品化結構,進而以一種十分重要的方式定義對象的行為。此外,該架構還確定了代碼的可重用性,這樣一來在編寫其他相似類型的函數時會節省不少寶貴的時間。
快速簡單的緩存系統
緩存是一種允許将有用資料存儲在特定存儲器中的技術。與傳統的響應時間相比,這樣做的目的是為了更快速地檢索資料。.NET架構提供了一個進階緩存系統,允許開發人員優化程序調用的速度。此緩存系統非常健壯且易于使用,使開發人員能夠簡化應用程式中不同類型的資料檢索。
内置的對象緩存類還有助于開發人員根據其需求自定義緩存調用。這不僅有助于優化性能,而且有助于不同的基于用戶端和伺服器的.NET應用程式的可伸縮性。
廣泛的庫支援
.NET還支援在一個地方通路數千個庫和第三方元件。随着.NET标準在2016年的引入,開發人員現在可以輕松找到基于.NET架構、.NET核心和Xamarin的大量的庫。這些庫可用于執行軟體應用程式中所需的不同類型的功能,這包括圖形渲染、代碼格式化、資料庫互動等。
.NET開發架構的缺點
盡管.NET能夠提供數百種特殊的開發功能,但是在一些關鍵領域仍缺乏相應的支援。在接下來的内容中,讓我們僅讨論這其中的部分欠缺。
許可成本
盡管.NET架構提供了大量開發應用程式的選項,但這并非沒有高昂的代價。在.NET上建構軟體應用程式并不便宜,因為您需要購買開發過程中所需的一些工具。在這方面,Visual Studio所需的許可成本無疑是一個很好的例子。它的企業版提供了一些額外的開發功能,這就是為什麼它在市場上以昂貴的價格提供的原因。是以,如果您的項目開發預算很小,那麼您肯定很難通路頂級的.NET開發工具。
向.NET核心的挑戰性過渡
盡管.NET核心是微軟為提升平台的特征而推出的一款優秀産品,但它在從舊架構過渡時也帶來了一些困難。我們也在其他平台上看到了差不多同樣類型的問題,我們确實了解這需要一些時間才能得到妥善解決。也就是說,那些建構在.NET架構上的業務應用程式需要一個艱苦的過程來完成向.NET核心的轉換。這當然需要一些時間,也需要開發人員的專業技能才能順利地過渡到新環境中。
供應商鎖定
.NET架構是由微軟公司開發的,這就是為什麼它擁有該平台上的所有權限。這意味着,使用.NET建立應用程式的開發人員對架構政策的控制較少。如果微軟在平台上推出任何變更或更新,那麼使用者将不得不承擔其對其軟體産品的影響。這一事實經常受到開發人員的批評,因為他們希望完全由他們自己來控制自己的應用程式。
總結
在本文中,我們讨論了.NET架構的不同類型的優缺點。但是,該架構至少在目前,無疑依舊是開發軟體應用程式的最佳平台之一。從網站到移動應用程式,該架構現在已經非常先進,可以開發各種軟體産品。然而,它也有一些限制,這些限制希望微軟能夠盡快拿出解決方案。在本文中也列舉了不少這方面的問題,以便您能夠更好地了解它們。
原文連結:https://dzone.com/articles/understanding-the-good-and-the-bad-of-net-developm
譯者介紹
朱先忠,51CTO社群編輯,51CTO專家部落格、講師,濰坊一所高校計算機教師,自由程式設計界老兵一枚。
來源: 51CTO技術棧