VisualFoxPro9.0更強大了

字號:

很久以來,F(xiàn)oxPro被眾多迷人的產(chǎn)品掩蓋了光芒,但直到現(xiàn)在它仍然是市場中用于完成數(shù)據(jù)事務(wù)的工具。隨著9.0版本中引入新的增強功能,它還沒有走上很快過時的道路。
    微軟的FoxPro小組準(zhǔn)備在2004年底發(fā)布最新版FoxPro。這條消息使某些人感到很驚訝,因為我們經(jīng)??梢月牭揭恍o知的人問“FoxPro?它還存在???”。但是在FoxPro社團中下一版本的FoxPro引起了很大的騷動。新版中將包含一個更快的本地數(shù)據(jù)引擎,支持更多的數(shù)據(jù)類型,SQL語句執(zhí)行中更大的一致性,一個完全重新設(shè)計的可擴展報表編寫器,以及一系列效率和功能增強特性。
    目前,一些應(yīng)用程序仍然使用Visual FoxPro編寫和部署,但是未來美國公司對Visual FoxPro的采用和部署有顯著的下降趨勢。這主要是因為與.net旗艦語言(例如C#和VB.NET)相比,微軟忽視了這種產(chǎn)品。市場支持的缺乏是VFP社團詬病的一個主要問題。
    盡管受控(managed)代碼和嚴(yán)格的編譯器可以生成“更安全”、bug更少、更牢固的代碼——這個事實可能是真的,但是單個的FoxPro開發(fā)者可以在相對很短的時間內(nèi)編寫一個成熟的桌面或Web應(yīng)用程序。他們所需處理的工作復(fù)雜性只是實現(xiàn)應(yīng)用程序和業(yè)務(wù)邏輯,而不是試圖理解笨重的框架組件(Framework)或斟酌數(shù)據(jù)綁定的問題。
    因此,你有必要擔(dān)心設(shè)計人員的某些偶然出現(xiàn)的失誤嗎?因為Visual FoxPro依舊存在,而且仍然有重要意義。它在自己的范疇之內(nèi)滿足那些其它單個產(chǎn)品無法滿足的需求。此外,由于它能夠運行在更廉價的、舊的硬件上,運行遺留下來的代碼,而且仍然能夠執(zhí)行現(xiàn)代的編程語言希望實現(xiàn)的事務(wù),它仍然是哪些叛逆的組織、小型的資源有限的辦公室、獨立軟件開發(fā)者以及很多政府和政府運轉(zhuǎn)機構(gòu)的選擇。
    強大的家族
    為了理解FoxPro遺留的能量,了解它的發(fā)展史是有幫助的。在八十年代中期,噴氣發(fā)動機實驗室(JPL)跟其它政府機構(gòu)一樣,也使用微型和個人計算機。這些獨立的機器使工程師有時不用操作大型機就能處理大量的數(shù)據(jù)集合,同時還把簡單的類似英語的命令(他們可以在DOS下執(zhí)行這些命令)組合到程序中了。這些程序變成了應(yīng)用程序,并且一種新類型的應(yīng)用程序開發(fā)人員誕生了。那時經(jīng)常使用電子數(shù)據(jù)表和靜態(tài)數(shù)據(jù)包,但是它們都比較麻煩,并且容易造成數(shù)據(jù)丟失。
    數(shù)據(jù)庫是處理大量數(shù)據(jù)的邏輯解決方案,因此Wayne Ratliff編寫了一個自己帶有數(shù)據(jù)庫的程序,并且同時添加了一組可以在數(shù)據(jù)上執(zhí)行的命令?!癡ulcan”帶有一個交互式的點提示符,使用易于記住的慣用語,允許工程師使用一組簡短的命令操作自己的數(shù)據(jù)——就像操作物理數(shù)據(jù)集合一樣。這個程序最終成為Ashton-Tate的dBase數(shù)據(jù)庫程序。
    “dBase與BASIC、C、FORTRAN和COBOL程序是不同的,在dBase程序中很多麻煩的工作已經(jīng)被做好了。數(shù)據(jù)維護(hù)是由dBASE而不是由用戶完成的,因此用戶可以把精力集中在自己的事務(wù)上,而不必與處理打開、讀取和關(guān)閉文件、管理空間分配這些麻煩的工作絞在一起。”——Wayne Ratliff
    在它發(fā)布后的幾年之內(nèi),大量的dBase克隆產(chǎn)品沖擊了市場。FoxBase由于引人注目的高速度和穩(wěn)定性獲得了很大的名氣。此外,F(xiàn)ox小組很敏捷,對用戶團體作出的響應(yīng)更多。通過定期的修補,通過CompuServe和重要版本的及時支持,作為對用戶請求的回應(yīng),它在非常接近原始版本的同時,通過添加提高生產(chǎn)率的工具變得更快了。
    FoxPro發(fā)布的時候,它為DOS程序員提供了窗口界面。Fox小組已經(jīng)提供了跨平臺的編譯器,允許開發(fā)者在Unix或DOS上,以及在后來的Windows版本和Mac上部署應(yīng)用程序。接著出現(xiàn)了FoxPro 2,它帶來了“Rushmore”(FoxPro的數(shù)據(jù)性能增強部分)技術(shù)、在線的SQL命令、圖形屏幕和報表編寫器。
    Visual FoxPro
    Visual FoxPro(它現(xiàn)在屬于微軟)帶來了OOP(面向?qū)ο缶幊蹋⑼耆年P(guān)系數(shù)據(jù)存儲和遠(yuǎn)程數(shù)據(jù)訪問。因此,到1995年時,F(xiàn)oxPro開發(fā)者可以自然地使用SQL、使用面向?qū)ο缶幊獭⒕帉懚鄬咏Y(jié)構(gòu)的、跨平臺的應(yīng)用程序——而且同時還可以兼容dBase II編寫的遺留代碼。
    對于FoxPro開發(fā)者來說,F(xiàn)ox已經(jīng)完全成為一種安全的應(yīng)用程序開發(fā)途徑;你對于這種技術(shù)的投資不會受到廠商變革的影響。不幸的是,市場中的其它產(chǎn)品或同一個廠商的不同產(chǎn)品卻不再是這樣的。這導(dǎo)致了目前的對FoxPro和它在開發(fā)者世界中的地位的誤解。
    VFP將不會成為一種.NET語言。這種可能性在開發(fā)VFP 7時就被慎重地考慮過,但是這種改變可能會導(dǎo)致一些嚴(yán)重的結(jié)果,的后果是不能保持向后兼容,最糟的后果是丟掉它強大的數(shù)據(jù)維護(hù)能力。.NET框架組件和VFP廣泛的語言和類之間多余的區(qū)域會帶來更多的混淆,很可能導(dǎo)致該產(chǎn)品更早地死亡。
    由于Visual FoxPro將不會運行受控代碼,對微軟來說它就沒有戰(zhàn)略意義了,這可以理解。但是,它是一個成熟的開發(fā)平臺。你編寫、部署和維護(hù)多層的、高可用性的、桌面的、互聯(lián)網(wǎng)的、COM和Web服務(wù)的開發(fā)所需要的一切都已經(jīng)由Visual FoxPro或第三方廠商提供了。它包含了牢固的面向?qū)ο笳Z言和完全的關(guān)系化、速度很快的數(shù)據(jù)庫(支持2G或十億條記錄以下的表)和獨立的OLEDB數(shù)據(jù)提供程序。甚至連IDE也有完全的可擴充的設(shè)計表面,擁有內(nèi)建在語言(和已發(fā)布資源)中的工具和向?qū)У戎匾糠?。它與SQL Server嚴(yán)格地兼容,擁有良好的COM交互操作能力——包括Office自動化、強大的XML處理和功能,以及與20年前編寫的代碼的兼容性。
    目前VFP適合于哪些場合?
    它仍然是希望完成事務(wù)的專業(yè)人員的選擇。
    它特別適合那些主要工作不是編寫代碼的工作人員