MasteringVFP/17

出自VFP Wiki

跳轉到: 導航, 搜尋

VFP與Web

VFP 發展至今,頗令人遺憾的一點是,微軟始終沒有打算賦予VFP有Web開發的能力。

但是,我們可以透過其他的方法來達成這個功能。接下來的章節,我們就以網路發展史上曾經出現過的技術來作說明。

VFP與CGI
VFP與ISAPI
VFP與ASP
VFP與ASP.Net
VFP與PHP
3rd party solution
West winds
AFP (http://www.Active-FoxPro-Pages.Com)
SOAP 與 Web Service

CGI 因為有耗用資源過多的缺點,後來 Windows 陣營推出了 ISAPI, Netscape 推出 NSAPI, 他們本質上也是 follow CGI, 但卻是以 dll 存在,當收到 request 的時候, web server 是建立一個 thread 來服務這個 request. 效能相當好,缺點是,在當時得用 C/C++ 來撰寫,學習曲線太高. VFP 雖然也可以用 ISAPI 來執行,但卻不盛行 (我記得我沒設起來過... >_< ) NSAPI 後來隨著 Netscape 的沒落而消失.

Unix/Linux 陣營仍然是使用 CGI (Perl, C 為大宗), 後來有推出 FastCGI, 據稱也改善很多效率,但我只知其名,而沒有深入去探究,所以也不是很清楚.

之後, ASP 開始盛行,ASP本身就是一組 ISAPI dll, 只是他可以 parse script ,而不必撰寫 c/c++ code. 也因此降低學習門檻,大為盛行.

PHP 是一個特例,他可以以 CGI 形式存在,也可以以 dll/apache module 存在,等於是兼容.似乎是跟 ASP 一起開始熱門的,我也搞不清楚.

接著來談談 Java. Java 早期的 web 技術是 Servelet, 其實也就是 CGI. 之後的 JSP 比較類似 ASP.Net 的處理.

ASP.Net 與 JSP,都是在第一次收到 request 的時候, 由已經掛在 web server 上的 engine, 動態編譯 asp.net/jsp 網頁成原生的 isapi dll/servelet,之後就直接交由他們服務,所以速度幾乎是與原來的 isapi dll/servelet 一樣快.

Unix/Linux 後來也有推出 mod_perl, mod_python, mod_ruby 之類的 apache module 改善原來 perl/python/ruby cgi 的效能,但這方面我也不太清楚...

混亂地講到這邊,應該大致上就明白這段歷史了吧.