程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 給.Net程序員和WEB程序員建議:.Net篇

給.Net程序員和WEB程序員建議:.Net篇

編輯:關於ASP.NET

好久沒有寫文章了,最近有空回來瞎扯些怨念。正文開始:

 

我們的環境:皆因微軟而起,又因微軟而終。

第一章:.Net篇。

我們以一個寓言開頭:   莊周家境貧寒,於是向監河侯借糧。監河侯說:“行,我即將收取封邑之地的稅金,打算借給你三百金,好嗎?”莊周聽了臉色驟變忿忿地說:“我昨天來的時候,有誰在半道上呼喚我。我回頭看看路上車輪輾過的小坑窪處,有條鲫魚在那裡掙扎。我問它:‘鲫魚,你干什麼呢?’鲫魚回答:‘我是東海水族中的一員。你也許能用斗升之水使我活下來吧。’我對它說:‘行啊,我將到南方去游說吳王越王,引發西江之水來迎候你,可以嗎?’鲫魚變了臉色生氣地說:‘我失去我經常生活的環境,沒有安身之處。眼下我能得到斗升那樣多的水就活下來了,而你竟說出這樣的話,還不如早點到干魚店裡找我!’”

      .Net發布有7年了,但是微軟有一點做得非常非常不好:在不斷發布新版本Framework的時候,卻沒有去實現.NET的大規模普及。套用微軟官方的術語:您可以選擇我們的VISTA系統,已經內置了.netframework3.0。WINDOWS7則內置了3.51。如果你去相信這些與現實世界不著邊的鬼話,那麼你就是上面故事中的那條魚。現實世界是VISTA的裝機率很不樂觀,而裝機量最大的XP則根本就沒有內置任何版本的.NET。2010年之前(也就是監河侯收稅之前),你仍然會面臨很多的XP客戶。

      所以,至今仍然有一個最根本的問題擺在我們這些.NET程序員面前:客戶裝了.NetFramewok沒有?如果沒有裝,你的程序寫得再好再漂亮都是徒勞。你怎麼去讓他裝?怎麼和他解釋這個必要性?如果他不願意怎麼辦?能不能實現自動化安裝?從前我在一些朋友的博客裡也時常留言有這個觀點,無外乎歸納出這麼一種解決辦法:

在項目發布中把.NET集成封裝進去,讓它在客戶那裡實現自動安裝

      這種做法固然是可取並且是必須的,但是存在兩個缺陷:

  1. 如果我們發布的是不需要安裝即可運行的綠色程序怎麼辦?
  2. 把2.0集成進去還勉強可以接受,但是如果程序中使用到3.0甚至是3.5的技術,難道你要把60多M的3.0(忘記是多少了,反正是大於或等於60M)和180多M的3.5也集成進去?記得有一位朋友曾經在某篇博客的留言中說,對於企業級程序,集成這些進去是可以接受的。但是,現實中沒有沒有那麼多的“企業級”。我們需要的是實實在在的面向廣大群眾。以他們能夠接受的方式來傳播我們的程序。

面對客戶,你不能以程序員的觀念去和他們談問題,他之所以找你做程序,是因為你是程序員,而他不是

     所以,“可靠性”、“易於開發”、“易於移植”、“穩定性好”等等這些字眼,對客戶來說,全是扯蛋,他們最關心的就是一點:“方便使用”。

     我的解決方案,談不上能夠本質上得到解決,只能說是3個建議,本著上面提到的幾點:

  1. 如果你的應用程序面向群眾廣泛,那麼,只能建議你最低最低限度的,只使用2.0就夠了。然後封裝個23M的framework進去。至於LINQ,拉姆達表達式之類的概念,還是等你擁有了比較穩定的客戶群體之後再去在版本升級中考慮吧。要知道,好事不出門,壞事傳千裡,如果在面向大眾化的程序中要求安裝3.0和3.5,90%會遇到某個熱門論壇或者某個熱門評論說“要裝個什麼百多M的東西”、“為什麼我的電腦不能運行”,“建議大家不要下載”的時候,足以給你造成很大的客戶損失,到時候你就是丞相遇到兵了,個中滋味就慢慢體會吧。今天是2008年12月6日,這個建議足以保證在未來2年內有效。
  2. 如果你的程序是針對性的面向某些客戶群體,那麼可以使用3.0和3.5,但是一定要准備好各種各樣的台詞,以花言巧語、誘騙、欺詐、甚至是威脅來宣揚.NET的必要性(對於公司企業客戶,他們是可以接受的),因為你要時刻警惕來自JAVA、PHP、WIN32等競爭對手公司的商業性貶損。要怪就怪微軟把這種本來是他們該做的事情丟在我們頭上。

    “ASP好還是JSP好,JSP好還是ASP.NET好,ASP.NET好還是PHP好,.NET好還是JAVA好……”,這樣的月經話題時常出現在各大程序員社區,並且已經被視位弱智議題。但是,面對現實情況,你必須有能力向客戶解釋清楚:為什麼要用.net開發,它的好處在哪裡,為什麼別人用JAVA開發而你不用,為什麼別人用VB6,VC6而你不用,為什麼別人用PHP而你不用……,以客戶能夠理解的方式,以有利於客戶的觀點來闡述兼容性、穩定性、版本支持、易於二次開發等問題,而不要去談真泛型和假泛型、單一繼承和多重繼承、字符串操作效率等等客戶不關心的東西。

  3. 最幸運的一點,如果你本來就是為VISTA(以及更高版本OS)系統開發程序(例如VISTA優化大師),那麼什麼都不需要擔心了。
  4. 基於我們的職業著想,親自為我們自己的親戚、朋友、面對面的客戶裝上.NET,也許你不能為天下所有XP用戶都做這個事情,但是當你的身邊人能夠以一種良好的體驗來感受到你的程序自身所帶來的便利性和幫助性的時候,他們自然會為你做義務推廣,到那時,客戶們也就不介意你那個“百多M的東西”了。這不是幫助誰,而是為你自己。做的人多了,客觀上自然也就會體現出效果了。當然,前提條件是應用程序自身要做好,要不然暴雪或EA也不敢要求客戶保證“directX9.0C”(這東西同樣也是20多M,但是XP-SP2卻內置了,你說微軟它歹毒不?)。
  5. 寫給“XX花園後續版”、“XX論壇精簡版”、“XX政府OEM版”的作者和電腦城裝機人員,本著大家都是搞IT的同行,也請你們在工作中為我們稍微提供一些便利性,順手放個framework進去,對大家都有益。將來的WINDOWS7時代也同樣要靠你們幫助的(那時候會有8.0、9.0問題)。 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved