当前位置: 首页 > 科技观察

专访王安:HTML5开发工具HBuilder的特点

时间:2023-03-15 00:25:16 科技观察

HBuilder是数字乐园出品的一款支持HTML5的Web开发IDE。InfoQ中文网独家专访数字乐园创始人王安,就开发者关心的问题一一解答。记者:作为HTML5IDE,HBuilder能做什么?谁是主要开发商?王安: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的实现过程中遇到了哪些问题?它是如何解决的?王安:WebIDE是所有IDE中最难的,因为Web有三个特点:Web太灵活,规格太多,更新太快。我想这些问题也是近几年WebIDE进化缓慢的一个重要原因。以颜色为例,开发人员写黑色,#000000,#000,RGB(0,0,0)...我们必须能够识别它们。变量可能一会儿是字符串,一会儿可能变成数字。这给我们带来了很大的工作量,需要判断很多情况。目前世界上没有任何一个地方拥有Web的所有语法。我们用了几十种方法收集了30000多个语法,包括W3C的html、Javascript、CSS官方标准和推荐标准……,ECMAScript中浏览器支持的部分,以及各大浏览器的扩展语法。我们目前有最全的语法库,但我相信不全是网页语法,所以我们也建了UGC让用户反馈数据。众所周知,Web标准的发展速度是非常快的。去年年底推出了HTML5推荐标准,今年前段时间HTML5.1也发布了。至于各个浏览器的扩展语法,几乎每次浏览器版本升级都会产生新的标签或语法。浏览器升级的速度也非常快。这就要求WebIDE必须摒弃瀑布式开发流程,引入互联网的快速迭代理念。事实上,HBuilder是一个服务,而不是一个独立的工具。我们称它为在线服务,或者说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,只要把工程放在yui下的HBuilder里,再按一下就可以了。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的邀请码方式,早期用户将自己的邀请码分发给好友。