HBuilder:最快的Web开发IDE

HBuilder:最快的Web开发IDE

http://www.csdn.net/article/2014-02-07/2818326-HBuilder-the-fastest-web-ide
发表于2014-02-11 10:38| 26194次阅读| 来源CSDN| 59 条评论| 作者CSDN移动
前端开发HBuilder数字天堂王安Web开发HTML5DCloud
摘要:HBuilder是DCloud推出的一款支持HTML5的Web开发IDE。快,是HBuilder的最大优势,通过完整的语法提示和代码输入法、代码块等,大幅提升HTML、js、css的开发效率。同时,它还包括最全面的语法库和浏览器兼容性数据。

从Frontpage、Dreamweaver、UE,到Sublime Text和JetBrains的WebStorm,Web编程的IDE已经更换了几批。HBuilder是DCloud(数字天堂)推出一款支持HTML5的Web开发IDE。“快,是HBuilder的最大优势,通过完整的语法提示和代码输入法、代码块及很多配套,HBuilder能大幅提升HTML、js、css的开发效率。”问到HBuilder的优势时,DCloud CEO王安表示。

HBuilder

在HBuilder里预置了一个hello HBuilder的工程,用户敲这几十行代码后会发现,HBuilder比其他开发工具至少快5倍。“最全的浏览器兼容性数据、开发手机App等很多特点也都是HBuilder强于竞品的地方”,王安表示。

以“快”为核心的HBuilder,引入了“快捷键语法”的概念,巧妙地解决了困扰许多开发者的快捷键过多而记不住的问题。开发者只需要记住几条语法,就可以快速实现跳转、转义和其他操作。比如alt+[是跳转到括号,alt+’是跳转到引号,alt+字母是跳转菜单项,而alt+左则是跳转到上一次光标位置。而Ctrl则是各种操作,比如ctrl+d就是删除一行。shift则是转义,比如shift+回车是<br/>,shift+空格是&nbsp;。

另外,HBuilder的生态系统可能是最丰富的Web IDE生态系统,因为它同时兼容Eclipse插件和Ruby Bundle。SVN、git、ftp、PHP、less等各种技术都有Eclipse插件。

HBuilder的编写用到了Java、C、Web和Ruby。HBuilder本身主体是由Java编写,它基于Eclipse,所以顺其自然地兼容了Eclipse的插件。但因为Java效率太低,所以用C写了启动器。HBuilder柔和的绿色界面设计需要动态调节屏幕亮度,它还支持手机数据线真机联调,而这些都是用C写的。

HBuilder很多界面,比如用户信息界面都是使用Web技术来做的,既漂亮,开发起来又快。最后,代码块、快捷配置命令脚本,都是用Ruby开发的。

“这4种技术各有各的用途,我们团队内部也灵活运用,HBuilder的架构支持不同的技术互相融合通信。至于我们的技术选型原则,首先满足用户需求,然后我们内部用什么技术能更快完成就会选什么技术”,王安解释道。

最大的难题:js解析

HBuilder第一个版本发布到现在,DCloud以每周一版的速度已经发布了20多个版本。主要更新包括支持边看边改、插件安装、App打包平台开放、代码块自定义开放。“但是最主要的工作还是在努力把亮点做到极致,从第一个版本发布,我们能提升一倍的web开发效率,到现在可以提升5倍”王安说道。

DCloud在开发HBuilder的过程中遇到了不少难题,比如 web语法库和浏览器兼容库的建立,从W3C的HTML、JavaScript、CSS的正式标准和推荐标准,到ECMAScript中浏览器支持的部分,还有各大浏览器的扩展语法,Webkit、moz、ms的HTML、JS、CSS, 想集齐这些语法,不仅仅是工作量的问题。而每个语法在每个浏览器的每个版本上是否能运行,得到这个数据也是前人未能突破的挑战。还好这个难题目前已经被解决。

“当前困扰我们最大的难题还是js解析”王安坦言道。

目前其他开发工具都不能有效的识别代码里的js对象,要不没有提示,要不全提示,甚至有的随意提示用户输入过的词。而DCloud在识别用户写的js方面下了很大的功夫,比如var e = document.getElementById("e"),e或许是一个div也可能是input,那么e设置属性时,就需要准确识别e到底是什么,才能给出有效精准的提示。

“我们已经克服了很多挑战,即使很复杂的写法document.querySelector("div:not(#a1) .class1"),HBuilder也知道这个对象到底是什么”。

当然把精准识别做到极致,必然带来一个烦恼,就是性能下降。当用户快速敲代码时,无法接受延迟提示,也就是说,复杂的识别运算要在毫秒级完成,这种挑战非常大。为此需要不停的优化算法甚至重构。“目前我们还在路上艰难前行,但我们相信终究会克服这个挑战,届时开发者们将得到又快又准的提示,而我们也给竞品铸造了难以超越的壁垒”,王安表示。

目前Web开发领域格局

目前主流的前端开发工具有Sublime为代表的文本编辑器,以及Webstorm、Brackets、Dreamweaver、vs等IDE。但说道为HTML5设计或做了特殊优化的,只有HBuilder、Webstorm和Brackets。从用户群和优缺点角度,主流的开发工具总结如下表(仅收集小部分开发者的意见,如对工具有更多看法,欢迎评论):

 

 

 

文本编辑器以轻快方便的特点获得了很多用户的喜爱,但商业项目的编写缺少IDE还是会很低效。IDE相比文本编辑器最大的特点是拥有语法引擎,能够识别语言。

Mobilehub:HBuilder主页

HBuilder申请试用地址

(责编/翟方庆)

转载于:https://www.cnblogs.com/dingyuanxin/articles/3969008.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux如何利用命令保存文件,如何在Linux中将命令输出保存到文件?

有时&#xff0c;Unix命令的输出可以使我们了解到这种情况的重要性&#xff0c;在这种情况下&#xff0c;我们想保存结果以供以后参考&#xff0c;在本文中&#xff0c;我们将看到如何将命令的输出保存到文件中。创建一个新文件可以使用>符号和新文件名来保存磁盘使用命令的…

Pycharm 项目无法导入自己写的模块(问题记录贴)

问题&#xff1a; 从外部导入一个Python项目后&#xff0c;发现包错误&#xff0c;如图&#xff1a; 解决步骤&#xff1a; 1.将目录下的"5-6——apriori.py"复制一份&#xff0c;重命名为”apriori.py"&#xff1b; 2.查资料知&#xff0c;pycharm不会将当前文…

Win2000/XP/2003路由制作之Nat共享上网

Win2000/XP/2003&#xff08;必须SERVER&#xff08;服务&#xff09;版本的&#xff09;ROUTEROS不会或则你的路由器突然坏了。紧急情况下&#xff0c;为了让老板的网吧正常营业&#xff0c;随手找个电脑就可以正常工作了。好吧。言归正传。NAT服务器软硬件准备俗话说“巧妇难…

Linux中的Interrupted system call错误

2019独角兽企业重金招聘Python工程师标准>>> 最近公司的一个项目&#xff0c;上线时候遇到了一些问题&#xff0c;服务跑一段时间后连接不上。 发现报了Interrupted system call这个错误引起的。 查了下资料&#xff0c;大致原因是系统繁忙处理不过来导致的。 根据网…

linux进程通信发送方式,Linux服务器编程——Linux系统编程之进程通信

进程通信又称IPCIPC方法方法&#xff1a;管道(最简单)信号(开销最小)共享映射区/共享内存(无血缘关系)本地套接字(最稳定)Linux文件类型&#xff1a; - 文件d 目录l 符号链接s 套接字 伪文件b 块设备 伪文件c字符设备 伪文件p管道 …

EMOS 如何停止反病毒和防垃圾邮件功能

1、修改main.cf配置文件&#xff0c;红色部分为需要注释的部分vim /etc/postfix/main.cf# smtpd related configsmtpd_recipient_restrictions permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_hostname,reject_non_fqdn_sender,reject_non_fqdn_recipient,rejec…

图论部分简单总结

总的感受: 这里大概囊括了一下图论的基础知识&#xff0c;图论是一个比较考验思维的部分。 尤其是后面有关二分图,网络流等的分支,对建模转化的要求还是很高的。 进入正题了&#xff1a; 一、最短路&#xff1a; 这一个部分不想多讲&#xff0c;虽然是很基础的一个部分&#xf…

Oracle学习笔记:数据字典

oracle数据字典 说起字典&#xff0c;下面让我来打个比方。我们读书写字&#xff0c;靠的是什么&#xff1f;你会说&#xff1a;字&#xff01;那我问你&#xff0c;你所用的字又是什么呢&#xff1f;&#xff01;这时&#xff0c;你只可能把字典&#xff08;新华字典、康熙字典…

linux分区转换gpt命令,Linux中磁盘如何转换GPT格式

Fdisk命令虽然很交互&#xff0c;操作也方便&#xff0c;但是对于大于2T的磁盘无法操作&#xff0c;假如我们想用大于2T的磁盘怎么办?可以把磁盘转化为GPT格式。GPT格式的磁盘相当于原来MBR磁盘中原来保留4个partition table的416个字节只留第一个16个字节&#xff0c;类似于扩…

JAVA格式化当前日期或者取年月日

Date d new Date(); System.out.println(d); SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateNowStr sdf.format(d); System.out.println("格式化后的日期&#xff1a;" dateNowStr); 转载于:https://www.cnblo…

DHL出台货运新方案

DHL出台货运新方案(来自&#xff1a;北京国际快递) 这是中国货运行业内首次由货运公司发起的关于货运安全方面的战略合作项目&#xff0c;货运公司与机场货运站、航空公司首次共同协作致力于货物的安全保障。 国际快递巨头DHL日前宣布&#xff0c;旗下的货运部门DHL全球货运物流…

linux 帐户安全管理员权限,Linux - 安全 - 账户管理

Linux 账户管理用户用户文件 /etc/passwd该文件所有用户可读&#xff0c;每一行代表一个用户&#xff0c;包含7个字段&#xff0c;分别用:隔开。# 查看文件内容cat /etc/passwd;内容&#xff1a;root:x:0:0:root:/root:/bin/bashwuhd:x:1002:1002::/home/wuhd:/bin/bash说明&am…

【转】sql表及字段命名规范

1.数据库表命名规范: (1)表名前应该加上前缀&#xff0c;表的前缀一个用系统或模块的英文名称缩写&#xff0c;前缀全部大写或首字母大写&#xff0c;表名中包含的单词首字母大写。 (2)数据库表名应该有意义&#xff0c;并且易于理解&#xff0c;最好使用可以表达功能的英文单词…

“卧槽”是怎么回事

“卧槽”是怎么回事2009-02-23 10版&#xff1a;新论 主持人&#xff1a;百科小子 提问者&#xff1a;丁莹&#xff08;上海南京西路&#xff09; 解答者&#xff1a;段凡&#xff08;华东理工大学社会与公共管理学院博士&#xff09; 问&#xff1a;日前有一项调查显示&am…

ubuntu查看硬件信息

ubuntu查看硬件信息 1,外部探针probe sudo apt-get install hwinfo 执行hwinfo获取系统信息 --short 2,系统命令dmidecode(硬件信息) or dmesg(主要是开机信息) 基于命令ubuntu 系统硬件信息查看 主板信息,序列号,产品名 dmesg | grep -i cpu dmidecode -t processor 硬盘(分区…

linux win10虚拟内存,高手解惑win10系统电脑虚拟内存不足的还原技巧

我们在使用电脑的时候&#xff0c;难免会遇到win10系统电脑虚拟内存不足的情况&#xff0c;根据小编的调查并不是所有的朋友都知道win10系统电脑虚拟内存不足的问题怎么解决&#xff0c;针对win10系统电脑虚拟内存不足的问题&#xff0c;我给大家整理总结了详细的解决步骤&…

第三章总结

第三章总结 栈与队列都是特殊的限制型的线性表&#xff0c;通常没有查询这个操作 栈的特点就是先进后出&#xff0c;只可以在栈顶进行插入删除&#xff0c;顺序栈定义指向栈顶与栈底的指针&#xff08;方便判断栈的情况&#xff09;也可以只定义一个栈顶指针top然后通过top-1来…

USB的八个问题和答案(转)

http://www.amobbs.com/thread-901041-1-1.html 问题一&#xff1a;USB的传输线结构是如何的呢&#xff1f; 答案一&#xff1a;一条USB的传输线分别由地线、电源线、D、D-四条线构成&#xff0c;D和D-是差分输入线&#xff0c;它使用的是3.3V的电压&#xff08;注意哦&#xf…

linux python3运行,将Python3安装到Linux上并运行

将Python3安装到Linux上并运行使用win10开发一个很好的python项目并把它部署到Linux中&#xff0c;有一个问题需要解决&#xff1a;如何在Linux中运行py文件&#xff1f;以LunixCentOS7.x平台为例&#xff0c;CentOS系统已经有了python2.x的自带版本&#xff0c;可以通过命令查…

初学者持续自我提升指南

这是一位长期关注自我提升方面的博主&#xff0c;在medium.com上发现的。 初学者持续自我提升指南 最佳自我改善文章 自我改善几乎总是从自我意识和改变习惯的能力开始。如果你认真改变自己的生活并改善自己&#xff0c;那么你应该从这两篇文章开始&#xff1a; 如何停止对自己…