进行大量现代JavaScript开发的良好资源和工具?[关闭]


22

我对做一些涉及大量使用JavaScript的项目感兴趣。即基于HTML5的画布游戏,也可能使用node.js。我对学习JavaScript的现代最佳实践,工具和资源感兴趣。

JavaScript很难研究,因为您最终会涉足很多真正过时的材料,而源于“ JavaScript”是一个四个字母的单词。

如果您大量参与JavaScript编程...

  • 您使用什么文本编辑器或IDE?
  • 您使用什么单元测试框架?
  • 您使用硒还是其他?
  • 您还使用其他哪些工具?
  • 有哪些社区讨论JavaScript的最新出现?
  • 您读/参考哪些书?
  • 您读什么博客?


我读了几个很棒的博客:dailyjs.com-关于JS领域中新库和框架的一些很棒的帖子,重点放在Node.js上。perfectionkills.com-更新不是很频繁,但是当Kangax撰写文章时,他的研究非常深入,您将意识到您知道多少JS 。
Matt Molnar

Adobe Brackets Web编辑器:github.com/adobe/brackets-主要使用chrome嵌入式框架以javascript编写。同时他们如何建造了支架编辑一篇有趣的文章(谈论工具,框架使用):ec2-174-129-28-157.compute-1.amazonaws.com/2012/06/26/...
Czarek Tomczak

哇,这个问题可以使用更新吗?
Erik Reppen '16

Answers:


19

我的清单是:

书籍一经上架(通常)便已过时。


7
除此之外,我还将在参考部分中添加mozilla文档中心
Trezoid 2011年

2
+1,这几乎是我的清单,但我还要添加YUI Compressor(或Google的Closure编译器)。
Demian Brecht

Pagespeed也是“ Profile Deferrable Javascript”选项的不错选择。严格来说,它不是JS编码工具,但仍然非常有用。
Ed James

2
@RDL-您使用哪个(如果有)用于vim的javascript插件?
Mike H

我注意到,尽管遭到了强烈支持,但仍未推荐任何单元测试工具/框架...
NT3RP 2011年

9

您使用什么文本编辑器或IDE?

全部都支持完整的Web应用程序开发功能(javascript,HTML,CSS等)。如果您正在寻找免费软件解决方案,请选择Aptana。

您使用什么单元测试框架?

    1. 在多个平台[Windows,Linux,Macintosh等]上具有多浏览器支持[IE,Firefox,Chrome,Safari,Opera和Konqueror]。
    2. 支持多种编程语言来编写测试用例[HTML,Java,C#,Perl,PHP,Python,Ruby等]。
    3. 远程执行(测试用例驻留在一台计算机上,而浏览器上的执行可以在另一台计算机上进行)。
    4. 您甚至可以在浏览器最小化模式下运行回归

您还使用其他哪些工具?

  • Firebug,IE Dev工具栏等,用于调试的浏览器内置工具
  • 您可以使用一些UI库框架(如JQuery,YUI,ExtJS等)进行快速开发。
  • Fiddler / HTTP注意调试HTTP请求和响应。
  • JSLint验证一些javascript语法问题。
  • YUICompressor用于最小化HTML,CSS和Javascript代码。
  • DynaTrace / YSlow / Page Speed-用于性能测试
  • 筛查内存泄漏
  • IE Tester,用于在不同的IE版本上测试您的应用程序。

您读/参考哪些书?

更多


1
Selenium是一个集成测试工具,而不是单元测试!不过,我认为,其余的这些都是相当不错的:D
Ed James

1
jQuery是一个比UI多得多的库,jQueryUI是一个完全独立的库。
StuperUser 2011年

@StuperUser说谎。jQuery是一个用于DOM操作的库,其他任何东西都将它用作大锤和“解决所有问题的黄金工具”
Raynos 2011年

@Raynos,当JavaScript用于DOM操作时,jQuery是一个巨大的锤子。它因其灵丹妙药的声誉而获得了应有的赞誉。就像我们都说的那样,将其称为“ UI库”是不正确的。
StuperUser 2011年

@StuperUser:我想他真的是说jQuery UI
Lie Ryan

6

我仍然觉得可以用于严肃的JavaScript开发的工具落后于应该使用的工具,但是这里有一些我使用的工具。

  • 对于开发,我使用VIM,但您可能会发现值得尝试的netbeans。
  • 对于单元测试,茉莉花不错,但不是完美的。
  • EnvJ可以为您提供一种在命令行上运行单元测试的好方法
  • 我强烈建议硒2 的webdriver部分
  • 完整的Google关闭套件非常有用
  • 我还建议您知道如何使用google chrome和IE沿着萤火虫进行调试,因为它们都有其特质,可以将您送入各种盲目的小巷。
  • 有一些优秀的JavaScript库对于认真开发非常重要。我建议您从jQuery开始,但是还有很多其他的一样好。
  • jQuery的作者John Resig也有一个有用的博客

与我刚才对RDL提出的问题相同:您将哪个(如果有的话)vim插件用于javascript?
Mike H

@Mike我没有为vim使用任何javascript特定的插件。我建议使用将与使用ctags的任何插件集成的jsctags,例如taglist-plus
Duncan Grant,

5

好吧...虽然还远未完成,但我目前是一个新的跨平台开源项目的首席开发人员:

JS工作室

这是屏幕截图:

其中一些功能比其他功能更完整...但这是预期的目标:

  • 语法高亮(几乎完整)
  • 项目组织(部分实施)
  • 自动完成(包括对jQuery等常见JS框架的完成)
  • 构建系统(用于合并文件,缩小等)
  • 可扩展的GUI(通过JavaScript扩展)
  • 行号(完整的排序),自动换行,可配置的颜色以突出显示语法

我已经为Windows建立了每日构建,您可以在这里找到最新的构建:http : //files.quickmediasolutions.com/jsstudio/


这看起来很有趣。我一直在寻找一个好的JavaScript IDE。是否可以下载任何二进制文件?我在网页上没有看到任何内容。
乔纳斯(Jonas)

@Jonas:不幸的是,在这个早期阶段,只有Ubuntu的二进制文件。但是希望我有时间在以后的工作中创建Windows二进制文件。
内森·奥斯曼

@Jonas:很早就在这里构建Windows- 某些功能尚无法使用,但您至少可以打开/保存文件以及其他一些功能。
内森·奥斯曼

这方面有什么新进展吗?
Noctis

@Noctis:可悲的是,没有。我在执行代码完成时遇到了一些麻烦,该项目在过去一两年中基本上处于闲置状态。
内森·奥斯曼

4

在“其他工具”类别中,我使用CoffeeScript(一种可编译为JavaScript的语言),因为它消除了Javascript语法强加给我的烦恼。

list.sort (a, b) -> a.isSmaller(b)

list.sort(function(a, b) { return a.isSmaller(b) });

从技术上讲,人们可以说不再是javascript了,但是coffescript的“感觉”是,它只是一薄层。




0

希望不会为此而感到愤怒,但是如果您对IDE和工具这样的事情很重要,那么我强烈建议您查看Google Web Toolkit。您可以在Eclipse中使用Java编写代码,这确实有助于编写代码。它提供了高效的代码完成,重构实用程序,并有助于调试和浏览代码库。

您仍然可以在需要时使用原始Javascript。

然后,您的代码将被编译为经过优化的小型JS。我已经在类似node.js的DOMless JS环境中成功使用了这种方法。

对于HTML5游戏,请查看PlayN,它是一个完全使用GWT的库。


如果您要从其他语言编译为JavaScript,则有很多选择-您根本不需要使用Java!例如,我们正在正确地使用js_of_ocaml,因此我们可以在OCaml中编写代码并在浏览器中运行它。
蒂洪·耶维斯

0

我做了很多JavaScript开发。其中提到了很多,但是这里是我使用的:

  • 记事本++
  • 萤火虫
  • IE调试器(F12)和Chrome调试器(Windows上为F12)
  • 我主要使用Stack Overflow来解决问题。事实证明,来到这里也有帮助。
  • 我使用的第一本书是JavaScript:《权威指南》。目前,我使用的图书不如使用MDN或MSDN文档之类的网站那样多。
  • 我们在一些使我们的生活更轻松的地方使用jQuery
  • 对于单元测试,我们构建了自己的测试工具。

0

我可以推荐JavasScript每周新闻。它的

JavaScript新闻和文章的每周一次免费电子邮件摘要。

我尚未阅读John Resig的书,但我已经听到并阅读了不错的反馈。他的新书《 JavaScript忍者的秘密》即将出版。


有人可以解释一下反对意见吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.