第三章 研究內容-- 跨平台瀏覽器 FML 構想
3.1 開發平台的問題與分析
Windows 的資源豐沛和強大的運算能力的環境下,Forth 架構並未充份發 揮其特色,且新一代的程序員已習慣了視覺化的開發方式,文字模式的
(5) DHTML/CSS:Document Model 非 Application Model。CSS 提供精準版面定位,較好地利用客戶端的字形資源。主要問 題-各品牌及版本 browser 之間的不一致性,製作人員必需 費很大力氣才能保證客戶端呈現出理想的效果。
(6) 多媒體擴充:Macromedia Flash 的成功證明了使用者對聲 光效果和互動性的需求,遠超學者們的想像,Flash 充份利 用客戶端的圖形能力,搭配功能強大的製作軟體,讓非 IT 背 景的人員能夠發揮創意,製作高度互動,多采多姿的動畫和 遊戲。有些網站更完全以 Flash 來建構。
邏輯方面:
(1) Browser Plug-ins:Plug-ins 是各家瀏覽器允許的擴充機 制,直接以目的碼形式運行,因此不但不能跨平台,甚至也 不能跨 Browser 。
(2) Java Applet:JAVA 最初就是為了要解決分散式運算一項重 要的需求。程序編寫一次,處處可行。Java 以 byte code 型 式分配到客戶端,必需依賴虛擬機器方可運行。
(3) Scripting : Microsoft 試 圖 用 VBScript 來 取 代 JavaScript,意外地沒有成功。 事實上 JavaScript 在此 扮演著一個重要的角色:文件物件模型(DOM)的控制語言。
舉凡事件處理、表單核查、各類視覺(DHTML/SVG)元素的控 制,都非用 Javascript 不可。有了 Javascript,更多的邏 輯可以移到客戶端運行,從而降低頻寬的需求和系統的複雜 近。 Netscape, Konquerer 主要以 Linux 使用者為主。Microsoft 挾作業系統、編製工具(FrontPage)和使用者基數的優勢,全面地主
導瀏覽器的發展方向,短期內不可能出現能與之抗衡的瀏覽器,在
(2) Server Extension︰ 針對 CGI 的效率問題,某些伺服器會將 內部的函式和資料結構開放出來,讓人們可以進行擴充。缺點 是程式很難移植到其他的伺服器。
(3) Server Side Scripting︰ CGI 和 Server Extension 皆是以 傳統程序為中心的思考,程式碼為主,HTML 標誌以字串型式輸 出 , 這 種 型 式 的 程 式 很 容 易 造 成 維 護 的 困 難 。 PHP 擴 充 了 Server-Side-Include 的觀念。提出了以 HTML 為中心,嵌入程 式碼的做法,由伺服器端執行這些程式碼(存取資料庫之類),
轉換成純 HTML 文件送到客戶端,這個架構大幅降低了 web 程 序開發的困難度,更棒的是,美工人員也可以參與系統的開發,
(HTML 編製工具只要將嵌入的程式碼當作註解略過即可)有了 Server Side Scripting ,動態網頁變得多采多姿起來。除了
PHP,還有 ASP (以 VB 為語言)、JSP 之類,皆為相同的架構。
(4) Servlet, J2EE: 由於 Server Side Scripting 門檻很低,漫 不經心的程序員很容易寫出缺乏整體規劃,邏輯操作雜亂地散 表單驗證用 JavaScript ,畫面的控制用 CSS,語法各異,並有 各自的設定和調校方式,這造成系統整體複雜度大增,開發及維 (Slider) 、複合盒 (ComboxBox)還有自訂的元件 (custom controls or widgets) 都沒有相應的 HTML 標誌。簡言之,HTML 為了普及度的緣故只 能取各系統的交集。如果採用越多「特殊功能」,越難保證在客戶端的呈 現效果,由於這個限制,Web 架構無法實現高級的圖形介面系統。
另外,由於 Web 是架構在現行的圖形作業環境上,作業系統的不足 也一併繼承,除了英文,其他語言必需依賴底層系統的字形,否則無法 正確顯示,這更顯突出其他語言在網際網路世界呈現的問題
但由於 Web 的發展遠遠超出原先「交換文件」的設計,Web 架構的 不足隨著應用的拓展逐漸突顯出來,為改善現行 Web 架構的不足與缺 失,結合 Forth 提出一個像 HTML 簡單語法的 Forth Markup Language (FML)的構想,以解決問題,因 Forth 具有下列特點,非常適合作為網 際網路所有子系統之間溝通母語。
(1) Forth 非常精簡易學,並有非常好的彈性。
(2) Forth 的執行效率非常高。
(3) Forth 也同時是一個 interpreter,處理結構化文件最為直接 有效。