1 頁 (共 1 頁)

整合Firefox延伸功能=Prism未來新的離線開發基礎

發表於 : 03/09/2008 5:32 am
droger
關於Prism的介紹,除了官方網站的英文介紹之外,還可以參考中文的Nelson的遊樂場
主要就是一個以Firefox為基礎的Web離線應用,可以在輸入網址後,將WebApp轉為應用程式,
但是dcat這邊分析地很好,如果只是將網站搬下來,目前暫且看來的確是有點跛腳的方式。

最近因為iPhone出現,想到這類Web離線應用平台應該遲早會搬到iPhone上,加上Google Gears
已經支援Windows Mobile平台,所以就想到應該將來會有底下這樣的架構出現才對。
圖檔

如此一來就可以讓離線webapp的開發流程及技術,都能夠透過能夠完全離線執行
的環境,沿用作為開發桌上軟體的另一種方式。

因為自己不會寫程式,所以只能搜尋現有資源來找這樣的方式可不可行,沒找到給Google Gears使用的,
卻是找到了一些相關的Firefox延伸功能,如果Mozilla將他們整合到Prism當中的話,就可以實現這樣的架構了,
其中一個是POW-Plain Old Webserver,這是一個精簡型的Web Server,透過延伸功能的方式依附在Firefox底下。

前往下載後,首先在使用能安裝POW的Firefox版本,將POW安裝好之後,可以到
FireFox底下的【工具】下拉選單,找到POW的項目,可以進入【Option】進階
設定,或是開啟、關閉這個POW伺服器。
圖檔

當然另外也可以透過【附加面板】進入【Option】設定,這時可以看到改變埠號跟
HTML網頁置放的目錄位置設定,如果有安全性限制,還可以使用帳號密碼保護。
而如果變更埠號或網頁目錄位置的話,需要在上一步的位置,按二次【Turn POW On/Off】,
重新啟動POW伺服器,不過在這裡建議先等看完下一個步驟再回來改會比較好。

圖檔

如果沒有先做修改位置的動作的話,就可以輸入預設的 http://localhost:6670/ 網頁位置,
就會進入到POW的預設網頁,在裡面有一個【POW Files】的連結,就是POW的FAQ說明檔案置放的位置,
要修改網頁目錄之前,滑鼠移到連結上方,,就可以在瀏覽器頁面最下方,找到這個鏈結顯示網頁位置存放的地方。
圖檔

POW Server端的控制,是使用以Javascript為語法、副檔名為.sjs的方式進行,查詢維基百科之後才知道,POW所用的
Server Side Javascript(內含Reference連結),原來就是現有的網頁伺服器語言的基礎,只是用不同的語法再透過轉譯,
POW支援PHP,Python,Perl的方法,也在官方wiki有介紹。

只要安裝好上述的描述語言環境之後,到預設的網頁位置中,找到starup.sjs的檔案
並且修改,例如:預設的htdocs/system/startup.sjs位置,去改寫相關呼叫的程式碼,
之後就可以把寫好的相關php,py,pl檔丟到網頁目錄中執行了,POW也支援資料庫和Ajax,
安裝好之後在locahost的FAQ裡就可以找到,資料庫使用的是SQLite,可以搭配另一個
Firefox延伸功能SQLite Manager管理或是使用SQL語法來寫。

除了POW如果整合到Prism中,可作為離線程式開發的基礎核心之外,另外一個
Server Switcher的延伸功能,是讓localhost可以切換對應到網路上同樣位置的網頁,安裝好之後,
到【工具】、【附加元件】Server Switch偏好設定裡去,就可以設定localhost相關位置對應到Internet上的網頁。

圖檔

設定完畢之後,到localhost本機網頁伺服器端的相關位置,就會看到網址列右方有個黃色小球。

圖檔

按下去之後就可以分別切換到網路上的真正位置,和回到local端位置,如果整合改寫到Prism當中,
就能夠用在離線與網路同步的部份了。
圖檔
除了POW、SQLite Manager和Server Switcher之外,只要Prism支援全部Firefox延伸功能,
還有支援Proxy的延伸功能免費的FTPClient以及需要付費的FTP Server延伸功能
都是假如整合到Prism中,可以成為技術核心的方便功能。

而三月更新的Prism 0.9也的確朝向這個方向發展,並且與Firefox3結合,新版本的Prism可以新增外掛元件。

圖檔

當中就可以看到目前支援跟預設安裝的都是一些多媒體相關Plugin,不過可惜的是上述的延伸功能現在都還不能裝到Prism當中。

圖檔

但是如果Firefox裝了上述元件之後維持開啟,用Prism將預設的http://localhost:6670/位置設置為WebApp。

圖檔

就至少可以看到整個網站被運作成Prism WebApp的情況,當然這必須要整個網站都在本機端,
而且維持安裝了POW之後的Firefox開啟狀態。

圖檔

另外如果真的Prism可以嵌入支援POW的話,或許可以讓開發者能夠將離線網站的內容,
打包到WebApp這個封存檔當中被POW讀取,如此也可以讓網站大小被壓縮,更方便散佈程式,
雖然這樣的概念雛形尚未真正整合至Prism,但是如果以已經可以在Firefox 運作出雛形的話,
假如Prism可以完全使用Firefox延伸功能,這樣的形式的確是可以為目前沒有像Google Gears、AIR有對應開發技術的Prism帶來許多好處。