lixiaolong
(翻譯)
文/ Jeremiah Talkar
信任
. 聊天演示程序內在的想法
連同這篇文章一起都是我自己的
我所見過的所有聊天程序不是完全基於JAVA就是HTML
我的方法是這兩種方法的一個很好的平衡
. 我通過在Netscape開發者站點閱讀大量的文章後收集了在JAVA和JAVASCRIPT間通信的技術信息
. 我第一次在讀Danny Goodman的文章時(The JavaScript Apostle on the Netscape site)偶然遇到術語
不知名的applet(Faceless applet)
因此出於對Danny的信任我使用了這個非常切題的術語
放棄
. 這篇文章中討論的技術已經在Windows
Professional機器上使用Internet Explorer
和 Netscape Navigator
測試過了
在我所知道的最佳作品中
這些技術應該在任一浏覽器
以上的版本上運行
但我不能保證我這樣做
因為我沒有時間用這些版本將它測試出來
. 因為JAVASCRIPT是唯一一種在兩種主要浏覽器都得到支持的語言
所有的腳本代碼使用這種語言
我先前在上使用了一個可用的商業插件
這個插件可以讓Netscape Navigator支持VBScript
但我去他們的站點核實這個信息的時候
這個產品已經沒有列出了
引言
我一直從事現代COM的工作兩年了
現在是我公司的e化商業產品團隊的技術領導
我明白好的界面設計和在不同環境像Visual C++
Visual Basic 還有腳本下都能很好執行程序的重要性
基於界面的程序設計的能力在我的頭腦中已經永遠確立
並且作為一個軟件工程師我試著將它應用到我所涉及的每件事情中
在過去的一年裡
當ASP+腳本就要被當作這些對象的黏合劑使用的時候
經驗告訴我們的勤奮
所有的商業邏輯應該被壓縮在COM對象之內
設計和開發典型的基礎設施和商業對象要求一個更高的技術設備
它用來比較什麼是要求實際使用同一個事物的
開發這些對象的首選環境(至少在我的團隊中)是Visual C++ / ATL / STL
微軟也鼓勵Visual Basic成為這些對象可選擇的開發環境
這些對象被代表性的稱為
不知名的
因為他們實現許多邏輯但用戶界面除外
它的表現層次(presentation tier)不是一個充足的客戶就是一個不充足的客戶(這個客戶有從最終用戶表達信息和聚集信息的邏輯)
然後這樣的一個客戶用這些信息通過使用不知名的對象做一些有意義的事情
這整個想法是當商業對象改變不頻繁時表現層次會代表性的要求許多客戶定制
表現層次要求的改變也可以通過使用較少的經驗程序來實現
應用這些相同的原理到浏覽器環境
當使用一種腳本語言處理表現方面時
在
不知名的
二進制模塊中壓縮高度發展的客戶方的邏輯看起來是合乎邏輯的
在Windows平台上這些模塊的選項是Java applet和ActiveX 控件/服務器
這篇文章的焦點是使用Java applet完成這個目標
因為applet是獨立於浏覽器
平台和處理器的(對大部分而言)
Applet的簡短歷史
SUN Microsystems
年在嘹亮的號角聲中引入了Java applet
Applet立即博得WEB世界的歡心
因為它們增加了在原來是一個靜態HTML的世界的浏覽器中動態地顯示WEB內容的能力
在最初的日子裡
使用Java applet作為最好的一種在網頁中增加動態內容的方式出現了
最初Microsoft 試圖使用他們的ActiveX Control技術反對SUN提供的Java applet
但是在網頁內部使用控件存在兩個主要問題
● 二進制模塊是處理器指定的
因此不適合作為網頁的一部分運行
萬維網(World Wide Web)如此成功的一個主要原因是使用W
C標准HTML寫出的大部分網頁對浏覽器和處理器是不可知的事實
ActiveX控件正好不符合這個范例
● 安全是一個大問題
因為控件編寫者有足夠的權利在客戶機器上存取資源
簽了名的控件允許任何一個人查看網頁並聰明地作出是否應該在他/她的機器上下載一個特定控件的決定
但是所有他進行的是一個按鈕意外的點擊(或者是高興地忽略)
這樣就留下了易受攻擊的客戶機
這也正符合惡意控件編寫者的意圖
當動態HTML終於開始成型時
事情徹底地改變了
文檔對象模型(Document Object Model )作為可以設計的組件
它們用它們自己的屬性和方法揭露了網頁元素
即使Internet Explorer和Netscape Navigator浏覽器執行動態HTML有許多不同
但使用腳本代碼程序化的改變顯示頁內容本身的根本主題就是是一個巨大的成功
Applet突然開始看起來是又舊又粗糙的
W
C對動態HTML的認可最終對高度發展的
動態網頁的新種類調整了語氣
在浏覽器內是使用Java applet有以下列出的幾種優點
● Applet(對大多數Applet而言)可以在多浏覽器
平台和處理器上工作
● JAVA語言是典型的一種強大的概念性語言
● JDK有許多典型的且只在高層類庫中創建的有用的類
● 技術中已經構思了安全
applet只能用默認值在方框中運行
如果它們要打破方框的限制則Applet必須是已經簽了名的
● Applet可以就發回用戶化信息
上傳/下載文件等而與網頁服務器取得聯系
簽了名的applet可以與任何一個服務器聯系
而不僅僅是一個它們的主機
● 通過
查看源文件
選項不能看到applet代碼
因此保護了知識產權
● JAVA的
class文件非常小
結果是下載非常快
使用Java apple的缺點
● 在一次浏覽器對話中
下載applet不是網頁使用它們的第一時間顯示就是網頁隨後刷新後顯示
Applet在浏覽器對話中不長駐客戶機
事實上在大多數場合下這可以作為一種優勢考慮
● Applet要花很長時間初始化
● 因為JAVA的
class文件是被JAVA虛擬機(Java virtual machine
JVM)解釋的字節代碼
所以applet運行比本地代碼慢
● 一個applet只是浏覽器上真正狀態的一部分
它不會無縫完好地出現在網頁內容中
層疊樣式單(Cascading style sheets
CSS)也不會直接影響applet占有的矩形區域
● Netscape Navigator
x有十個活動applet的限制
我不知道Internet Explorer
+有任何一種這樣的限制
使用Java applets的快速回顧
Java applets通過使用用applet標簽被包含進一個HTML網頁中
W
C 站點上HTML
說明書的
節詳細地說明了這個標記
它也提到贊成