这里给大家介绍一个个人觉得最好用的web开发工具:Hbuilder。

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里预置了一个hello HBuilder的project,用户敲这几十行代码后会发现,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相比文本编辑器最大的特点是拥有语法引擎,可以识别语言。

HBuilder免费下载

HBuilder:最快的Web开发IDE的更多相关文章

  1. java web 开发 IDE 下载地址

    https://www.eclipse.org/downloads/eclipse-packages/

  2. 超全的web开发工具和资源

    首页 新闻 产品 地图 动态 城市 帮助 论坛 关于 登录 注册 · 不忘初心,继续前进,环境云V2接口正式上线 · 环境云测点地图全新改版 · 祝福各位环境云用户中秋快乐!   平台信息 培训互动 ...

  3. Web开发必备资源汇总[转]

    导读:原文来自< Best “must know” open sources to build the new Web>,译文由酷壳网陈皓整理编译< 开源中最好的Web开发的资源 & ...

  4. Web开发模式【Mode I 和Mode II的介绍、应用案例】

    开发模式的介绍 在Web开发模式中,有两个主要的开发结构,称为模式一(Mode I)和模式二(Mode II) 首先我们来理清一些概念吧: DAO(Data Access Object):主要对数据的 ...

  5. J1001.Java原生桌面及Web开发浅谈

    自从Java问世以来,在服务端开发方面取得了巨大的发展.但是在桌面/Web开发方面,一直没有得到大的发展.从最初的AWT,到Swing,再到JavaFX,Java从来没有在桌面/Web解决方案中取得重 ...

  6. 初学Java Web(2)——搭建Java Web开发环境

    虽然说 html 和 css 等前端技术,是对于 Web 来说不可或缺的技术,但是毕竟更为简单一些,所以就不详细介绍了,没有基础的同学可以去菜鸟教程或者W3school进行自主学习,最好的方式还是做一 ...

  7. 如此繁荣的移动webapp开发市场:总结当下的一些移动web开发套件

    写在前面: 因为移动市场的盛行带动了移动社交.移动购物.手游.智能化硬件等多个新兴领域.智能终端硬件水平越来越高,运行其上的web浏览器能力也越来越强,加上HTML5\JS\CSS的蓬勃发展,Web已 ...

  8. [web开发] php优势 - PHP与ASP.NET的比较

    php 优势 - PHP与ASP.NET的比较 如今当提到 Web 开发时,您有许多选择.这些方法中许多都涉及到预处理 — 即,利用特定的标记将代码嵌入到 HTML 页面中,这些标记告诉预处理器,它们 ...

  9. Web开发模式

    原文链接 开发模式的介绍(完善版) 在Web开发模式中,有两个主要的开发结构,称为模式一(Mode I)和模式二(Mode II). 首先我们来理清一些概念吧: DAO(Data Access Obj ...

随机推荐

  1. hdu 2473 Junk-Mail Filter(并查集_虚节点)2008 Asia Regional Hangzhou

    感觉有些难的题,刚开始就想到了设立虚节点,但是实现总是出错,因为每次设立了虚节点之后,无法将原节点和虚节点分开,导致虚节点根本无意义. 以上纯属废话,可以忽略…… 题意—— 给定n个点(0, 1, 2 ...

  2. 【原创】用python实现shell的tail操作

    在工作过程中发现监控实时刷新文件时,不是那么的任性. 故结合shell中的tail,做了一个类似tail的python脚本. 详情如下: #!/usr/bin/env python #coding=u ...

  3. Drawer Layout

    http://developer.android.com/training/implementing-navigation/nav-drawer.html#DrawerLayout <menu ...

  4. Text Kit进阶

    在上一篇文章Text Kit入门中我们主要了解了什么是Text Kit及它的一些架构和基本特性,这篇文章中会涉及关于Text Kit的更多具体应用. Text Kit是建立在Core Text框架上的 ...

  5. 基于51,人体红外感应和RC522的门禁系统

    总结一下最近学的东西,这两天学的东西,rfid门卡系统终于弄出来来了,这个程序算现在写过的比较满意的程序,大家可以参考参考 主函数: #include<reg52.h> #include& ...

  6. css3 javascript 实现菜单按钮特效

    一个菜单按钮特效案例,简单的实现了动态效果. 代码效果预览地址: http://code.w3ctech.com/detail/2504 <div class="bar" i ...

  7. [GRYZ]寒假模拟赛

    写在前面 这是首次广饶一中的OIERS自编自导,自出自做(zuo)的模拟赛. 鉴于水平气压比较低,机(wei)智(suo)的WMY/XYD/HYXZC就上网FQ下海找了不少水(fei)题,经过他们优( ...

  8. mybatis系列-13-resultMap总结

    resultType: 作用: 将查询结果按照sql列名pojo属性名一致性映射到pojo中. 场合: 常见一些明细记录的展示,比如用户购买商品明细,将关联查询信息全部展示在页面时,此时可直接使用re ...

  9. 《Genesis-3D开源游戏引擎完整实例教程-2D射击游戏篇07:全屏炸弹》

    7.全屏炸弹 全屏炸弹概述: 为了增设游戏的趣味性,我们制作一个游戏的基本框架以外.还会增设一些其他的额外的功能.比如5秒无敌状态.冰冻效果等.下面咱们以消灭屏幕中所有炸弹为例,看除了碰撞可以触发事件 ...

  10. HDU5806:NanoApe Loves Sequence Ⅱ(尺取法)

    题目链接:HDU5806 题意:找出有多少个区间中第k大数不小于m. 分析:用尺取法可以搞定,CF以前有一道类似的题目. #include<cstdio> using namespace ...