專訪王安:HTML5開發工具HBuilder的特別之處
HBuilder是數字天堂出品的一款支持HTML5的Web開發IDE,InfoQ中文站獨家專訪了數字天堂的創始人王安,就開發者關心的問題一一作了解答。
記者:HBuilder作為一個HTML5的IDE,都能做什么?主要面向哪些開發者?
王安:HBuilder是我們認為當前***的web開發工具。它能大幅提升開發效率,對程序員也設計了更人文關懷的UI,它包括最全面的語法庫和瀏覽器兼 容性數據。HBuilder是面向追求效率的極客開發者的,比如HBuilder強調的手不離鍵盤、飛一樣編碼。與之相對應的另一面代表是 dreamweaver,dreamweaver擁有可視化拖拉拽布局頁面的設計器,更多的是面向設計師或初學者。
記者:在HBuilder開發的過程中,你們參考了哪些前人的解決方案?能介紹一下HBuilder的實現方案么?比如,采用了什么語言編寫,是否基于Eclipse等開源IDE的架構,等等。
王安:HBuilder有4種編程語言,Java、Web、C、Ruby。里面用到了Eclipse,這讓我們省了不少事,可以把精力用到更多創新的功能 上。至于為什么編程語言這么多,其實我們團隊都是一群會多種編程語言的極客,我們清楚每個語言的優劣,每個功能該用什么語言做就用什么語言做。舉個例 子,HBuilder的啟動速度是3秒,如果全是基于Java的Eclipse,是不可能做到的。并且我們的每種編程語言之間都有橋來保障底層接口的通暢 度,不會造成混亂。
記者:相比之前那些工具,HBuilder的優勢是什么?
王安:我們認為是全面超越競爭對手的。當然優勢那么多,最值得記住的優勢還是那4點:
- 最快的開發工具,五大助手大幅提升編碼效率
- 綠柔主題,保護健康
- 最全的語法庫
- 最全的瀏覽器兼容性數據
記者:在HBuilder的實現過程中,你們遇到了哪些問題?是如何解決的?
王安:Web IDE是所有IDE中最難做的,因為Web有3個特點:Web太靈活了、規范太多了、更新太快了。我想這些難題也是這些年Web IDE進化比較慢的一個重要原因。
- 以顏色舉例,開發者寫成black、#000000、#000、RGB(0,0,0)...我們都得能識別。一個變量,一會是字符串,一會就可能變成數字,這都給我們造成了很大的工作量,要判斷非常多情況。
- 目前全世界沒有一個地方擁有所有Web語法。我們動用了幾十種手段才收集了3萬多語法,包括W3C的html、Javascript、 CSS的正式標準和推薦標準...,ECMAScript中瀏覽器支持的部分,還有各大瀏覽器的擴展語法。我們目前擁有最全的語法庫,但我相信也還不是全 部web語法,所以我們還建了UGC,讓用戶來反饋數據。
- 我們都知道Web標準的發展速度是非常快的,去年底HTML5推薦標準出臺,今年前段時間HTML5.1也發布了。而至于各個瀏覽器的擴 展語法,幾乎每次瀏覽器版本升級,都會產生新的標簽或語法。而瀏覽器升級的速度也是非常快的。這就要求Web IDE必須拋棄瀑布式開發流程,引入互聯網的快速迭代理念。其實HBuilder整個就是一個服務,而不是一個單機工具,我們稱之為live service,或者叫HBuilder是活的。
記者:從截圖看起來,HBuilder似乎是一個Windows客戶端。HBuilder是否會提供Mac、Linux或Web版,乃至于移動平臺?
王安:HBuilder的Windows版本相對比較成熟,MAC版本也基本開發完,稍晚一點也會發出來。Linux版本要看需求的踴躍程度了,畢竟有很 多更有意義的創新功能還在排隊中。純Web版目前不考慮,響應速度還不夠快。至于移動平臺,敲代碼太不方便了,主工程不會有移動版本,但是以后的問答功能 上線后會有移動版本。
記者:HBuilder在代碼調試方面有哪些特點?自身使用了哪種JS和渲染引擎,是否支持開發者在多鐘瀏覽器平臺上調試和兼容性測試?
王安:看下界面會更直觀。目前點擊運行菜單如下。 如果本機沒裝,會提示下載地址。點擊后可以直接啟動相應的瀏覽器。由于HBuilder內置了webserver,所以可以直接運行網站工程,而不是使用file:///C:那種方式。
比較有特點還有手機的真機連調,插上數據線后,在HBuilder中點真機運行,可以直接在手機上看效果。在HBuilder中保存代碼更改,手機會自動刷新界面。
至于調試,我們有計劃,但本版不會包含。因為目前大多數Web工程師都習慣于直接用瀏覽器來調試,集成調試在IDE里確實方便了一些,但并非殺手功能。
記者:在企業級Web開發中,開發人員需要對JS\CSS代碼做壓縮打包服務,HBuilder是否提供相應的支持?代碼重構支持方面做了哪些工作?
王安:壓縮打包的問題與調試類似,都是有計劃但***版不包含,因為他們都屬于方便但不是殺手功能。目前開發者有很多選擇,比如YUI或GCC,把HBuilder里的工程放到yui下再壓一次就好了。YUI有Eclipse插件,可以裝在HBuilder中。
關于重構,這個是一款好IDE不可或缺的,HBuilder的重構還是很強大的。不管是變量的重命名、刪除,還是文件的重命名、刪除、移動,都可以進行重構。比如把一張圖片從A目錄移動到B目錄,各個層級的頁面對該圖片的引用都會重新匹配。
記者:HBuilder的發展路線圖是什么?未來有哪些重量級特性?
王安:HBuilder致力于給開發者提供***的Web開發工具。我們會搭建一個需求調研系統,把一些候選項列出來讓開發者投票,看他們更需要哪個。目前已經比較明確要做的包括:
- Mac版本支持
- 服務器端語言(PHP,Node.js)強化集成。雖然這些服務端語言也有Eclipse插件,但目前這些插件調不了我們的代碼助手。
- PC瀏覽器的邊改邊看模式。目前保存代碼時手機端可以自動刷新,但PC上還不行。我們希望左邊編輯代碼,右邊就能實時看到效果。
- 畫中畫:用戶可以把一段代碼固定在屏幕的小窗里,在另一處編輯代碼時一直參考看著這段代碼的實現。還可以直接更改小窗里的代碼。
- 發行(包括壓縮、混淆)
- 斷點調試
記者:HBuilder是免費的,在這種模式下如何維持長期穩定的發展?
王安:DCloud走的是互聯網模型,先做用戶,找投資,然后再考慮商業模式。我們現在的目的就是HBuilder成為全世界Web工程師都在用的工具。 當我們擁有數百萬開發者時,我們不擔心自己設計不出來共贏商業模式。就像Facebook在做到上千萬用戶之前沒人想商業模式,之后一群聰明的高管花了一 個月設計共贏商業模式,結果很好。
王安透露,目前HBuilder在實施公測。邀請的公測用戶是那些確實對HBuilder感興趣,為了追求效率愿意接受一個可能還有bug的產品, 并愿意反饋問題給我們的熱心用戶。計劃近期發給首批試用者。根據試用反饋的情況來調整更大規模開放的時間。預計在9月份把質量水平提升到可規模發行。但即便是更大規模的發行,并不代表所有人都可以隨意使用,有可能是類似于Gmail的邀請碼方式,由早期的用戶分發他的邀請碼給朋友。