kzhereb / knu-is-rivim2017

Discussing lectures, questions and other related topics for RiVIM course
0 stars 1 forks source link

Question 3.3. JavaScript tools #22

Open viktor-yakubiv opened 6 years ago

viktor-yakubiv commented 6 years ago

Навести приклади інструментів для роботи з JavaScript, що не були згадані на слайдах 41-46:

Common

  • Package managers: NPM, Yarn, Bower, Brunch
  • Task runner / build system: Grunt, Gulp
  • Scaffolding: Yeoman
  • Module loaders: CommonJS / AMD, RequireJS, Browserify, Webpack
  • Legacy and features: Babel

Automating

  • Пошук помилок (статичний аналіз): JSLint, JSHint, ESLint, Flow, Plato
  • Unit testing: QUnit, Jasmine, Mocha, Karma, Sinon.JS
  • UI testing: Selenium, CasperJS, Protractor, headless Chrome, Phantom.js
  • Документація: JSDoc, Docco, YUIDoc, JSDuck
  • Зменшення розміру: Closure Compiler, UglifyJS, JSBeautifier, Obfuscator
    • Closure Compiler != Clojure Language, ClojureScript

Other

  • IDE: WebStorm, Aptana Studio, Eclipse JSDT, NetBeans, Visual Studio/Visual Web Developer, Komodo IDE
  • Debug: Developer Tools (in browser: Opera Dragonfly, WebInspector, …), Firebug, Venkman, CompanionJS
  • Розширення мови: Babel (ES6+), CoffeeScript, TypeScript
  • Генерація JavaScript з іншої мови: Google Web Toolkit, Scala.js, pyjs, Script#, Emscripten / ASM.js
  • Source control, bug tracker, …

Obsolete

  • Static analysis: JSAnalyse, JSure
  • Тестування: JSUnit, J3Unit, YUI Test, JSTestDriver, FireUnit, jspec, JSLitmus
  • Документація: jGrouseDoc
  • Зменшення розміру: YUI Compressor, JavaScript Minifier, JSMIN, Dojo ShrinkSafe, Packer, JSCompress

Бажано наводити саме спеціалізовані інструменти для роботи з JavaScript, а не можливості використання якихось універсальних інструментів для роботи з JavaScript. Краще наводити сучасні та підтримувані засоби. Як завжди, бажано наводити короткий опис і обов'язково наводити посилання.

viktor-yakubiv commented 6 years ago

Unit Tets

Не було згадано про Jest, який зараз набирає великої популярності.

Також не було згадано про Chai, яка практично завжди в зв'язці з Mocha.

Static analysis

В деякій мірі, TypeScript теж можна вважати методом уникнення помилок. Принаймні, це була одна з причин розробки цієї мови.