DOM (from the English. Document Object Model — «document object model») is a platform-independent and language programmatic interface (API) that allows programs and scripts to access the contents of HTML, XHTML and XML documents, and modify the content, structure and execution of such documents.
Build system software tools that allow you to write and run scripts that automatiseret build processes and deploy developed solutions. Typically, these processes include such tasks as compiling, concatenating (joining) files, minimization/obfuscation of code, checking for style and correctness of writing code, Assembly code from the source files and placing the prepared solutions in a specified location in the file system, run tests, deploy the solution and generation of autodocumentary. The most popular build tools for the frontend are Grunt, gulp.js, Broccoli.js, Brunch.
- Libraries for checks (Assertion libraries): Assert.js, Chai, should.js, expect.js and others.
- Utility for running tests (Test runners): Karma, AVA, testem and others.
- Mock library (Mocking libraries): Sinon.js, MoqJS, testdouble.js, jsmock and others.
- Tools for testing server-side API and AJAX requests (API’s Mocking tools): Sandbox, nock, pretender, jquery-mockjax and others.
- Continuous integration servers and build: Travis CI, Bamboo, Jenkins and others.
- Platform for automated test: Sauce Labs, Ubertesters and others.
Links to materials for the study
- TypeScript Wikipedia
- CoffeeScript — Wikipedia
- AJAX — Wikipedia
- JSON — Wikipedia
- Standard ECMAScript 5 (ECMA-262 5.1 Edition) - Ecma international
- 2015 standard ECMAScript (ECMA-262 6th Edition) - Ecma international
- 2016 standard ECMAScript (ECMA-262 7th Edition) - Ecma international
- The standards Document Object Model (DOM) w3.org
- Documentation TypeScript - TypeScript
- Documentation CoffeeScript - CoffeeScript
Tutorials and textbooks
Presented below interactive courses include assignments to test the gained knowledge and skills.
- Basics of developing websites and web applications - Microsoft Virtual Academy
- Video course TypeScript Fundamentals - ITVDN
- Video course on CoffeeScript webtheory
- School of development of interfaces. Moscow - Academy of Yandex
- School of development of interfaces. Ekaterinburg Academy of Yandex
- School of development of interfaces. Simferopol - Academy Yandex
- Chrome DevTools: debugging, console, profiling JSib Community
Instead of the presentation
- Creating your first app with Node - Chris Sevilleja
- Node, Express and libsass: a project from scratch - Dale Sande
- Getting started with Grunt - Chris Sevilleja
- Build with Gulp - Callum McRae
- Automation with Gulp - Ahmed salifu Amidu
- Bower, Gulp and Yeoman - Davey Shafik
- Basic software (requires to install the tools needed in a particular case):
- Basic software - Mozilla Developer Network
- Development environment (required to install one of these, we recommend you Visual Studio Code):
- Visual Studio Code extensions jshint, for editorconfig.
- Browser extensions and tools (required set as needed):
- Google Chrome DevTools - Mozilla Developer Network
- Developer tools Firefox - Mozilla Developer Network
- Firebug extension for Firefox - Mozilla Developer Network
- Web Developer extension for Firefox - Mozilla Developer Network
Tests, laboratory work and practical tasks