Visual FoxPro 從Visual Studio中分離出來了
2001年2月26日,微軟宣布將Visual FoxPro 7從Visual Studio 中分離出來,這是一個好訊息還是壞訊息呢?我們來分析一下:
我們失去了什麼
我們先來觀察,Visual FoxPro不成為.Net語言,在技術上損失的是:不能開發基於.Net的Web應用程式。
Visual Studio.Net 是一種擅長於開發Web應用程式的工具,過去與現在微軟霸佔著"傳統型應用程式"應用市場,現在微軟要吞噬現在由其他公司控制的大型網路應用市場,於是推出了.Net構架,Visual Studio.Net就是開發基於.Net的應用程式的RAD(快速開發環境)。
筆者認為:起碼在可知的一兩年內,我們這些用Visual FoxPro寫程式的人不會有用Visual FoxPro開發大型Web應用需求,客觀上絕大多數企業也不會有自建一個電子商務網站的需求,我們並不會因為Visual FoxPro不是.Net語言而失去我們的市場--普通的企業級(單使用者構架、File Server構架、(兩層、三層)客戶機\伺服器構架)的應用。等.Net真正熱起來,那將是幾年後的事情了!
當然作為.Net語言也可以開發傳統型應用程式,Visual FoxPro成為.Net語言不是更好嗎?筆者的看法是:不一定。一位網友說:VB.Net的語法像VC++又像JAVA,已經完全不像BASIC語法了,等於是要重新學習另一套語言了,有這種感覺的VB程式員很多,聽說國外有很多VB程式員還"憂心忡忡"的。連微軟也承認:VB 6與VB.Net是差別很大的語言。
假設VB變化的只是文法特色(這已經夠厲害的),那麼如果Visual FoxPro現在成為.Net語言,其標誌性功能的損失一定比VB更多!我們認為:這其中最不能讓大家容忍的就是:Visual FoxPro的資料引擎和資料處理手段將損失殆盡,說實話我們中多數人使用Visual FoxPro就是看中了它在資料處理上的無與倫比優勢。.Net語言使用公用運行庫(Common Runtime Language),資料庫方面的功能是通過外掛ADO等組件完成的。在技術不成熟的現在,讓Visual FoxPro運行在CLR上,勢必只有三種選擇:取消Visual FoxPro的資料處理組件,讓它使用組件處理資料;把Visual FoxPro的資料引擎加入公用運行庫;Visual FoxPro的資料引擎做成一個組件。可見這三種選擇沒有一種是合理的,即使成了,那麼Visual FoxPro也就成為了一個四不像的東西。
Visual FoxPro 與.Net
Visual FoxPro 能夠很好的支援XML、Web Service、COM。通過它們,Visual FoxPro就能與.Net整合在一起,並能開發.Net中最最熱門的話題:Web Services。
客觀上,有利於Visual FoxPro 的發展
Visual FoxPro作為Visual Studio的一員並不能很好的發展"Fox的事業",這個觀點是各國狐友的普遍共識。作為Visual Studio的一員,Visual FoxPro更多的像其他Visual Studio產品看齊,忽視自身特色的發展,忽視使用者的需求;產品升級、服務包的提供周期變長(要等其他產品的完工),如果Visual FoxPro 7不分離出來,發布期起碼要晚半年。將Visual FoxPro從Visual Studio.Net中分離出來,最起碼以上兩個問題會有很好的改觀,特別是Visual FoxPro會更重視使用者的需求。
獨立面對挑戰
Visual FoxPro從Visual Studio.Net中分離出來最大的壞處是:必須獨自面對市場。說白了就是:能不能賣的好?如果Visual FoxPro 7.0的生意還不錯,那麼Visual FoxPro就會發展的很好--這是很簡單的道理。
在微軟所有的開發環境中,Visual FoxPro是唯一內嵌資料引擎的——VC、VB都必須外掛資料處理引擎,如:DAO、ADO等,當然VC可以使用底層API調用來完成資料庫處理方面的任務——這就是Visual FoxPro的特色--為資料處理而生,但是如果現在盲目的把Visual FoxPro併入Visual Studio.Net的話,Visual FoxPro的這一特色必然不能儲存,這對微軟、對使用者都是損失。VB、VC則沒有這個問題--反正它們不內建資料引擎,只要.Net可以調用資料處理組件就可以了!