1. 程式人生 > >.NET成人禮 | 還記得20年前一起拖過的控制元件嗎?

.NET成人禮 | 還記得20年前一起拖過的控制元件嗎?

本文是MVP Ediwang寫的回憶一個80後的拖控制元件的感悟,與君共勉:

 

每一代人都有記憶裡的味道。煤球爐、黑白電視機是屬於父母的記憶。而“拖控制元件”式程式設計,啟蒙了無數像我這樣的80後(嗯,89也算80後)。

經典舊世

 

2000 年那個時候,上海這樣的城市裡也不是每家每戶都有電腦,我家也沒有電腦。我在學校經常聽幾位家裡條件不錯的同學說他們玩電腦的事情。CIH、千年蟲等名詞讓我對電腦有著非常強烈的好奇心。而我第一次體驗到計算機,是在我母親單位的機房裡。它是一臺臥式機箱、15寸 CRT 凸面屏顯示器的 Windows 95 電腦。

當時的微軟對我來說就是神的存在。因為我認識電腦到使用電腦的一切幾乎都離不開這家偉大的公司,它就像上帝一樣開天闢地,創造萬物:Windows、Office、IE這些當年幾乎是唯一的主流產品。而微軟的創始人之一比爾·蓋茨也成了我的偶像。還記得當年,上海有個PC專題的電視訊道,有一天該頻道播放了比爾蓋茨關於.NET戰略的演講,啥也不懂的我,居然坐在電視機前完整看完了節目。當時的我並不知道,.NET將會徹底改變我的人生軌跡。

 

 

圖:《人民網》報道 .NET 戰略

可能對於現在的年輕一代程式設計師來說,並不知道“拖控制元件”是什麼意思。在我小時候,當年最流行的程式設計啟蒙語言並不是Python和那滿地的少兒培訓班,而是Visual Basic 6.0。VB6之所以被稱為”toy language”,就是因為它提供了圖形介面的視覺化設計器,只要拖拽控制元件(如按鈕、文字框)到視窗上,就可以通過事件驅動的模型來程式設計,極易上手。

而我在VB6上沒拖多久控制元件,就不小心誤入了 .NET 的世界,起因是小時候不懂,為了更新程式設計環境,不小心購買了一張 Visual Studio .NET 的盜版光碟,裝完了發現,這個VB怎麼和以前的不太一樣啊,從此走上了不歸路……

圖:Visual Studio .NET on Windows 2000

 

 

圖:Visual Basic .NET 程式碼

 

 

控制元件的遠征

 

無數程式設計師就這樣拖出了一個時代。工業、醫療、零售、製造、物流等行業至今仍然隨處可見 .NET 拖出來的Windows Form、WPF甚至ASP.NET WebForm系統。Visual Studio強大的工具支援,以及拖控制元件事件程式設計模型,雖然讓生產力發揮到了極致,但也成了不少人對.NET固有的印象:“你這種用.NET的,拖拖控制元件,小學生都會!”

拖控制元件生態,也養活了諸如DevExpress、Telerik、葡萄城等隊友。這些三方廠商提供了比微軟.NET Framework內建控制元件更強大的免費或收費的控制元件庫,配合Visual Studio使用,開發效率簡直恐怖。

控制元件王之怒

 

但正常的 .NET程式設計師都知道,控制元件只不過是 GUI 應用的一種形式而已。ASP.NET MVC、Web API、Signal R等框架根本拖不了控制元件。根深蒂固的 “.NET就是拖控制元件” 的思想,也鬧出過笑話。記得8年前,微軟剛推出 ASP.NET MVC 3 框架不久,我所在的公司就接到了一個 MVC 的新專案,由於整個部門200多人只有我研究過MVC,公司就派我去給客戶做個POC。我第一天就被高階研發經理訓斥了:“公司為了這個專案花錢買了 DevExpress 的 ASP.NET 控制元件,你為什麼不用啊?” 。面對公司白買的控制元件,我笑出了眼淚,就像這樣: