Cloud9 Web Code Editor

Cloud9:滿足了我前陣子的想像,在網頁上編輯且擴充性與整合性頗高的程式編輯器,整合了HTML5的多種技術,由 ajax.org 所推出,他們有自己開發的 ajax ui framework,幾乎都整合再這個專案上了,成果蠻令人感到驚艷。他在伺服器端採用 nodejs 運作 websocket 與 webserver 來達到檔案同步更新監控等功能,再用完整的 ui framework 打造完整的環境,並整合 nodejs 開發 debug 環境…支援多種程式語言與 highlight 樣式

前陣子在做這件事的有 Mozilla 的 Bespin https://bespin.mozillalabs.com/ ,但他專注在編輯器上面,沒有像 cloud9 提供完善的週邊與擴充性,且 cloud9 自行開發的編輯器 ace https://github.com/ajaxorg/ace,呈現的效果也是頗佳,甚至比我當初用的bespin 更貼近桌面的版本,但是在中文的支援上一樣有一些問題,且 ace 竟然只採用 html 就能得到這種效果,有點想不到,比 bespin canvas 的操作上更佳一些。

在自行從 github 抓下來的 cloud9 上建構有遇到一些問題,在此紀錄一下,我用的環境是 CentOS 5.4 64bit,使用 bin/cloud9.sh 編譯,他會依照 .gitmodule 內的內容去將子模組抓下來,但似乎是我環境 https 的設定有問題,所以完全都抓不下來,我就將 repos 網址全改為 git://… ,就可以抓了,順利的話 support 內的子模組資料夾會被填滿,如果不行就自行手動下指令吧。

接著 jsdav 內也有子模組要做一次更新的動作,最後執行後會發生但是會遇到 glibc 版本的錯誤訊息,,應是 o3 支援的版本與環境有差異。

git submodule update --init --recursive

接著就按照他官網說明文件上的編譯,可能會需要再額外安裝 libxml2 與 libxml2-devel 用 yum 裝就編譯 ok 囉。

$ git clone http://github.com/ajaxorg/o3
$ cd o3
$ ./tools/node_modules_build
$ cp build/default/o3.node cloud9dir/support/jsdav/support/node-o3-xml/lib/o3-xml/

在搭配 FUSE + sshfs 可以掛載遠端資料夾在本地端,這樣可以實現類似 ftp 編輯的效果,安裝完以後出現一點問題,sshfs not fount fuse shared library

修改 ld.so.conf 加入 /usr/local/lib 以後執行 ldconfig 重載以後就ok囉

sshfs mlwmlw@xxx.com:/path  mountdir

http://fuse.sourceforge.net/sshfs.html

http://fuse.sourceforge.net/

最近 cloud9 推出了整合 github 帳號與 repos 的開發執行環境, cloud9ide ,可以用 github 帳號申請,然後登入後他會讓你選擇你要編輯的專案,

就會進去個人專案的環境,也可線上下指令 commit 與 push 你的專案,甚至可以運行一個 nodejs http 的 process ,他似乎微調了 nodejs 的內部,整合了一個類似虛擬伺服器的東西,

讓你在指定的 port 下運行時也可以帶有一個網域,例如 http://ace.mlwmlw.cloud9ide.com : 網域格式是 專案:帳號.cloud9ide.com ,只要指定的 port 是 .listen(process.env.C9_PORT, “0.0.0.0”);

2011 1 25 更新

http://www.theregister.co.uk/2011/01/20/mozilla_skywriter_ace_ajax/

這幾天的新聞,skywrite(bespin)打算要跟 ajax.org 專案合作 要打造 coding in the cloud 的環境了~

http://mozillalabs.com/skywriter/2011/01/18/mozilla-skywriter-has-been-merged-into-ace/

要將 skywrite 合併到 ace(ajax.org code editor)…蠻令人振奮的消息…他們做的都是我曾經想過的事…但他們都做的更好而且要合作了~又是 open source 的專案,

希望以後能夠有很好的 web ide 可以使用~

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *