开发者社区> sp42> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

论及 JavaScript 的 IDE

简介: 很早之前,我便对 JS 开发环境吐槽过……原文如下: JavaScript 的开发工作未曾轻松过。个中原因有 Web 浏览器的不一致性、不完善的文档和质量欠奉的工具所导致的,所幸的是,随着 AJAX 开发浪潮的卷席,原本亟待改善的开发辅助环境得到极大的改善。
+关注继续查看

很早之前,我便对 JS 开发环境吐槽过……原文如下:

JavaScript 的开发工作未曾轻松过。个中原因有 Web 浏览器的不一致性、不完善的文档和质量欠奉的工具所导致的,所幸的是,随着 AJAX 开发浪潮的卷席,原本亟待改善的开发辅助环境得到极大的改善。

JavaScript 的 IDE 从运行的平台可大体分为 Eclipse 系和非 Eclipse系。Eclipse 最初是由 IBM 公司所倡导的非营利性软件基金会,旨在提供一个可容它方接纳的,具一定伸缩性的开发平台。Eclipse 平台本身也是开源的,有许多实力相当的 IDE 工具构建在 Eclipse 平台之上包括前之提及的 JsEclipse、Aptana 和 Spket 等,或作为插件安装到 Eclipse 平台上,甚至有不少是属于开源软件的。这些工具的目的在于提升 Web 开发的生产效率,丰富市场的需求。JavaScript 的 IDE 似乎应该流行起来,但真正好用的 IDE 却不多。目前增长的 Web2.0 开发竭求一种能征服广大开发人员的开发辅助工具,但似乎 F5 刷新浏览器与系统记事本才是开发人员的最佳选择。

难道问题在于 JavaScript 是一种非编译语言?与 Java 与 C 语言不同,JavaScript 不具备强类型的特性以至难于精确建模。在许多工业用的语言中类型安全是保证代码高效,运作的成因。JavaScript 则不同,它的语言很宽松,自由度较大,就以 JavaScript 鸭子类型(duck type)的特性为例子,它允许你在变量后面随手涂鸦,像 thing.Foo()、thing + 68、thing.X = "hello"、var y = thing[12]……这样宽松的语法性质使得 IDE 难以作出准确智能提示;与此同时 AJAX 是一种尝试把异种技术,异种方向的开发人员接拢在一起的技术,使得它本身变化莫测,也使得制作围绕它的开发工具难度陡然提升。

浏览器不是罪魁祸首。以类(Class)为单元的面向对象可谓对 JavaScript 的一次后知后觉的洗礼。各种 AJAX 库虽提供面向对象的特性但方式方法迂迴不同,为实现通用的对象鉴别方法和类体的解析都变得很困难。从辩证的角度看待,其语言特性把一些程序员的津津乐道的技巧特性舒展开来却对构建工具是无益的,典型的例子有 eval() 函数的使用代码在运行时有效,增加了系统的不可预见性。

真正的 JavaScript 建模机制是如此难地实现以致时下提供的 JavaScript 开发环境,不具备真正的上下文感知的辅助,这种情况下,所有内容提示和智能辅助是通过文件静态标记完成的。这种类型检测是以键盘敲入时为依据的,类型检测不会根据对象成员有所更改而知晓,能够给予您的帮助很少,总体来讲,这需要程序员克服缺乏优异工具带来的不便,而更多的是,如何提高代码的复用度和关心代码本身的合理性。

JS IDE 一路发展……时间一下子来到 2013……在我体验了微软 Visual Studio® Express 2012 for Web 之后,有以下几点要谈:

  • 安装包自然很大~ 附注册密钥:VX3VY-8GCVT-KJQCY-RQ99X-MCF2R
  • 不能自动补充注释,竟然连  /** 补全也没有
  • VS Web 是除商业软件 Dreamweaver 之后为数不多的可视化 IDE
  • 待续……


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
哪些JavaScript IDE最好用?
阅读本文之前,分享大家一张图片,看图会发现JavaScript开发需求最高,占比达到42.84%,因此掌握JavaScript语言好工作就不愁啦,工欲善其事必先利其器,那么选择IDE来开发是至关重要的,本文指出常用的几款JavaScript IDE,分析其优缺点,如有不完善的请大家补充   WebStorm 优点: 1. 关键字提示 使用WebStorm开发时,它会自动提示JS变量,关键字,方法,函数或参数名,可帮助你快速输入,避免一些低级的输入错误。
1200 0
Javascript中创建对象的几种方法
<script type="text/javascript">// 方法一var p0 = new Object();p0.name = "xy";p0.age = 20;p0.sayName = function() { alert(this.name); }p0.showAgeAfterSomeYears = function(year) { return this.age
931 0
+关注
sp42
移动项目技术负责人。多年全栈经验,熟悉 Java 和 JS,CSDN 博客技术专家,著有《ExtJS 详解与实践》等书。
294
文章
0
问答
文章排行榜
最热
最新