對我來說,寫 web application 遇到最大的難題是 hosting。尤其是最近搬家轉用 Netvigator 後,被 block 了 80 port,就更加麻煩。所以我現在比較喜歡寫 Greasemonkey 和 Google Gadgets,勝在容易和人分享。不過這類 client-side application 的限制不少,一來不能太複雜,二來又不能把資料儲存在 server 的 database,有很多大計都不能實現。不過試過 AppJet 後, 似乎可以解決我的部份需要。
AppJet 可以讓你用 javascript 寫 server-side 程式,情形就像寫 PHP 一樣。不過因為是 javascript,所以容易上手很多。我很快便把之前的「入球分佈圖」移植到 AppJet 上,並有一個獨立的 URL:
從程式語言本身來看,Javascript 也是一套很完整的語言,看不到任何明顯的限制,當然 performance 方面還有待考驗,AppJet 用上 virtualization 的技術去處理不同 application 的分工,現時用戶不多,速度也很快。
相對於寫 Gadgets,AppJet 最大的強項就是提供 server-side 的 persistence 能力,可以用 JSON 的形成來儲存不多於 10 MB 的資料,對小型 application 來說已經很有用,例如一些 Chat room、Guestbook、To-do list 等小工具。
不過 AppJet 還處於起步階段,沒有支援多語言的 resource bundle;過份簡單的persistence 功能在存取大容量資料的 performance 也令人存疑;而且只提供很少的 library,如果將來可以用到 external library 的話就可以有很大的擴充能力。
現在 AppJet 已經有 wget() 這個 function 可以抓取其他網站的資料,如果加上一個 HTML parser 和能夠處理 AJAX,就是一個很好的 Mashup 平台。假如能夠再支援 OpenID,令大家不用煩惱 user registration 方面的話,相信可以做到更多更複雜的 application。
AppJet 還宣稱可以寫 Facebook application,我一定會試試。









