這一個月跑出來很多令人興奮的東西。
像是已經推了一段時間的
Y!OS(Yahoo! Open Strategy,Yahoo 開放策略)
中的
YAP(Yahoo! Application Platform,Yahoo 應用程式平台)。
以及讓我眼睛為之一亮的 BrowserPlus,就讓我為各位簡單地介紹一下這個新玩意吧!
BrowserPlus 究竟是什麼?
簡單來說,BrowserPlus 是一個供使用者下載安裝的程式。
安裝後、它會替使用者建立瀏覽器與桌面應用程式的溝通橋樑、會建立一個小型的 Web Server。
而開發者可以在此平台上、做到許多過去網頁應用程式所沒辦法做到的事情!
目前支援的功能
每一種功能都稱之為
服務(Service),有一點像是 Firefox Extension,只有在使用者有需求時才會加入來用。
-
檔案拖拉
使用者可以很直覺地、把檔案從桌面或檔案總管拉到網頁中。開發者可以輕易地利用 JavaScript 來存取這些物件、做後續的處理。
-
圖片特效處理
過去如果想讓使用者去做圖片的特效處理功能,例如截圖、旋轉、灰階等特效,
一定是將圖片傳到伺服器上,再做許多 Server-Client 的往返,可是這樣做容易產生許多效能上的問題。
BrowserPlus 利用 ImageMagick 建立了一套 Service,開發者可透過此 Service、利用使用者本身電腦的資源、開發此類功能。大大降低伺服器的負擔。
-
檔案瀏覽
傳統表單欄位的檔案選取,功能很糟:一次只能選取一個檔案、也不能做一些副檔名的篩選。
BrowserPlus 讓你一次可以選取多個檔案且取得相關的 Metadata。
-
JSON 跨網域存取
AJAX 的限制就是不能做跨網域的存取,
BrowserPlus 採用 Douglas Crockford 所提出的 JSONRequest 架構、讓開發者不用建立 Proxy 就可以做跨網域的資料傳遞、但又能兼顧安全性。
-
桌面通知訊息
網頁的通知訊息就是 JavaScript 的 alert、confirm、以及 prompt 等方法,很醜又不顯眼。
BrowserPlus 讓你可以透過桌面通知訊息、也就是類似 Live Messenger 的訊息,對於要做一些提醒使用者的功能,這真是再好用也不過了。
-
Flickr 上傳
若有寫過 Flickr 的認證及上傳功能的話,一定知道有多複雜。
為了簡化開發時間、BrowserPlus 貼心地包了這個服務給開發者。
-
IRC 客戶端
若要在網頁中做 IRC,可能得自己寫個 Proxy 做對話的傳遞、不然就是要利用 CGI:IRC 等方式,不管怎樣都需要耗費 Server 的資源。
但 BrowserPlus 讓開發者可以僅用 JavaScript,把使用者的電腦當成 IRC Client、直接存取 IRC Server 的資料、完全無痛!
以上的 Service 目前都是由 BrowserPlus 的團隊所開發的,我還看到了一個很好玩的 Service 叫
RubyInterpreter。
原來有些服務像 JSONRequest,是利用 Ruby 開發。
因為 BrowserPlus 團隊希望能整合一些 High Level 的程式語言、有完整的環境、加快整個開發的速度與時間。
另外一個新的 RIA?
有去瀏覽一下台灣一些網站對 BrowserPlus 的介紹,
大多會把它跟一些 RIA(Rich Interface Application)的架構如 Siliverlight 或 Adobe AIR 擺在一起,但是我覺得有根本上的不同。
Silverlight 及 Adobe AIR 是顛覆現有的整個網頁架構,連所需的程式語言也完全不同。
而
BrowserPlus 是把現有的網頁功能強化,並沒有改變現有的 HTML/CSS/JavaScript 架構
所以與其說他是一個新的 RIA 技術,不如說他是另外一套函式庫。
藉由此函式庫,開發者只需了解 JavaScript 的語法即可開發許多桌面應用程式才能做到的事。
效能問題
把原本在伺服器的工作搬到使用者的電腦上來做,開發者一定會考慮到效能上的問題。
實際上,若使用者在瀏覽的所有網頁中都沒有用到 BrowserPlus,就不會佔用使用者的任何資源,
只有在用到時才會開啟執行緒、名稱為 BrowserPlusCore,離開就會關閉此執行緒。
另外不管有幾個網頁用到 BrowserPlus、只會有單一隻執行序做處理。
另外值得一提的就是他的更新機制:
使用者在初次安裝時,僅安裝核心的部份。
此後依據使用者所瀏覽到的程式來增加、更新所需的服務,
不會像是一個巨大的程式架構、讓使用者在第一次安裝就很痛苦。
更棒的是,每次的更新都不需要重新啟動瀏覽器、直接就可用了!
安全性問題
BrowserPlus 採用改進的安全性處理模式:
- 所有的更新都必須經由 Yahoo! 簽署與檢驗、並且需要徵求您的同意後方可更新。
- 如果找到任何安全性漏洞,Yahoo! 可以很快地停用相關功能、讓惡意網站無法使用。
- 依然遵守瀏覽器所設定的安全性原則,除非您同意、我們仍然不會讓網站去存取您的個人資料。
不過看到這讓我有點憂心:若自訂的服務都必須經過 Yahoo! 簽署與檢驗才能用的話,那耗費的時間跟成本就長了。
真棒!我可以開始用 BrowserPlus 寫一些程式了嗎?
在越瞭解 BrowserPlus 的好時,我就越想把它應用在 Yahoo! 奇摩現有的服務之上,
例如改進無名小站的圖片上傳:可以直接從桌面或檔案總管拉過去、編輯、最後再批次上傳。
可惜目前尚在測試階段(Sneak Peek):提供
三隻範例程式做 Demo、以及一些
範例程式碼。
開發者還沒辦法實際地去開發任何程式,只能希望正式上線的日子早日到來囉!
結語:BrowserPlus 所扮演的使命
Yahoo! 致力於遵守網頁標準化,但現有技術標準的更新過於緩慢、而要等到實際每個瀏覽器都可開發,往往遙遙無期。
透過 BrowserPlus,我們可以讓像是 JSONRequest 這樣未來的標準、提前整合讓開發者利用。
官網說:「BrowserPlus 是
提供瀏覽器開發環境解決方案的下一步」。
這是在 BrowserPlus 首頁看到的一張圖,它說:「想要以 JavaScript 建立與 Wii 的搖桿的連線嗎?您只需要引用適當的模組即可!」
我真的對未來網頁開發的可能性感到超級興奮,BrowserPlus 快點正式 Release 給開發者吧!!
相關連結
BrowserPlus 官方網站
我沒用 yahoo mail 耶,不過你可以試試看直接從控制台移除 BrowserPlus
以後應該就不會有了(但可能還是會看到要求你安裝的畫面)
啟用 BrowserPlus 通常會讓你有更多的功能,譬如說直接從桌面拖拉照片為附件。