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,一经查实,立即删除!

相关文章

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;大致原因是系统繁忙处理不过来导致的。 根据网…

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…

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;我给大家整理总结了详细的解决步骤&…

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

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

LINQ to SQL学习的几个问题

问题一&#xff1a; 什么情况下我们使用自动属性功能&#xff0c;生成自动属性时内部没有明确的私有变量那么我们如何访问这个私有变量呢&#xff1f; 如果不能那我们的封装还有什么存在的意义&#xff1f; Code1 /**//// <summary> 2 /// net 2.0中使用的方法来定义…

C# foreach遇到async和await

一个简单的列子&#xff0c;需要把一个集合的数据添加到数据库中。 我先这样写了&#xff0c;然后报错了 public async Task<IHttpActionResult> Test([FromUri]string name ""){List<string> strList new List<string>() { "测试", &…

MVC RC2中关于HtmlHelper给DropDownList设置初始选中值的问题

Asp.Net MVC RC2中Helper提供的DropDownList好象并不太好用&#xff0c;特别想给下拉框设置初始选中值的时候&#xff08;可能我还没找到正确的方法&#xff09; 小试了一下&#xff0c;有二个简单的解决办法:1.回到最原始的asp的办法&#xff0c;直接在view的循环中判断&#…

linux硬盘检测工具,CrazyDiskInfo 硬盘检测工具 Linux版 | 厘米天空

之前本站介绍过CrystalDiskInfo这款windows下的硬盘检测工具&#xff0c;今天来看看Linux下的版本CrazyDiskInfo。CrazyDiskInfo是一款用于Unix类系统的交互式TUI S.M.A.R.T查看器&#xff0c;可以查看硬盘健康情况&#xff0c;是否有坏扇区等。项目地址&#xff1a;https://gi…

linux 远程图形终端,图形终端远程操作Linux

一、想要在远程终端运用图形界面来操作和控制Linux效劳器&#xff0c;就在windows下像运用MSTSC(远程桌面)一样。linux经过XDMCP来提供这种支持&#xff0c;我们只需用一个终端仿真软件&#xff1a;xmanager&#xff0c;但是装完Xmanager后是不能直接远程衔接Linux效劳器的Xwin…

windows下nginx的安装及使用

1.下载nginx http://nginx.org/en/download.html 下载稳定版本&#xff0c;以nginx/Windows-1.12.2为例&#xff0c;直接下载 nginx-1.12.2.zip 下载后解压&#xff0c;解压后如下 2.启动nginx 有很多种方法启动nginx (1)直接双击nginx.exe&#xff0c;双击后一个黑色的…

win8.1出现 called runscript when not marked in progress

1.打开任务管理器-详细信息-结束图片中选择的进程 2.然后在任务管理器左上角“文件“>运行新任务&#xff1a; 输入C:\\Windows\explorer.exe&#xff0c;并勾选”以系统管理权限创建此任务“&#xff0c;点击确定&#xff1a; 3.这样就可以继续安装了。 转载于:https://www…

学游泳

今天上午又去了人大附中&#xff0c;门紧锁着&#xff0c;去正门一问才知道&#xff0c;要周末下午1点30才开门&#xff0c;平时是5点30。回家吧&#xff0c;外面居然下起了星星点点的小雪&#xff0c;北京的三月…… 学蛙泳 老旱四诀之蛙泳 分手压腕, 双锚拉纤, 高肘抱水, 翻…

Linux ftp ldap认证,vsftpd+ldap认证

一、环境系统 CentOS 6.4x64最小化安装IP 192.168.3.19二、安装ldap[roottest ~]# yum install openldap openldap-* -y[roottest ~]# yum install nscd nss-pam-ldapd nss-* pcre pcre-* -y配置ldap[roottest ~]# cd /etc/openldap/[roottest openldap]# cp /usr/sha…

浏览器的渲染原理

看到这个标题大家一定会想到这篇神文《How Browsers Work》&#xff0c;这篇文章把浏览器的很多细节讲得很细&#xff0c;而且也被翻译成了中文。为什么我还想写一篇呢&#xff1f;因为两个原因&#xff0c; 1&#xff09;这篇文章太长了&#xff0c;阅读成本太大&#xff0c;不…

Linux环境变量PSI指什么,PSI 文件扩展名: 它是什么以及如何打开它?

了解 PSI 问题常见的 PSI 打开问题缺少 PrimalScript双击你的 PSI 文件会提示消息 “%%os%% 无法打开 PSI 文件”。 通常&#xff0c;%%os%% 中会出现这种情况&#xff0c;因为 PrimalScript 未安装在你的电脑上。 由于您的操作系统不知道如何处理此文件&#xff0c;因此无法通…

linux 命令tf,Linux文件管理命令

本篇涉及命令&#xff1a;cat,tac,more,less,head,tail,file,stat,touch,which,whatis,whereis,ls,mkdir,rmdir,tree,cp,mv,rm文本文件查看类命令cat 查看文件内容(concatenate)cat命令用于查看一个或多个文本文件内容&#xff0c;可以将两个或两个以上的文件连接起来并显示&am…

Python实现——二元线性回归(最小二乘法)

2019/3/30二元线性回归——矩阵公式法_又名&#xff1a;对于python科学库的糟心尝试_ 二元线性回归严格意义上其实不过是换汤不换药&#xff0c;我对公式进行推导&#xff0c;其实也就是跟以前一样的求偏导并使之为零&#xff0c;并且最终公式的严格推导我大概也只能说是将将理…