SlideShare a Scribd company logo
FRONT-END DEVELOPMENT,
PART 2: JS
_by Oleksii Prohonnyi
Front-end development introduction (JavaScript). Part 2
Who am I
Oleksii Prohonnyi
Tech. lead @ Sigma Software
 4+ years in IT
 2 technologies
 13 mentees
 60+ interviews
IN PREVIOUS
EPISODE
Front-end development,
part 1: HTML/CSS
Presentation: http://goo.gl/so2uHP
Sources: https://goo.gl/Hef65u
JAVASCRIPT
Front-end development introduction (JavaScript). Part 2
JavaScript (also known as ECMAScript)
It is most commonly used as part of
web browsers, whose implementations
allow client-side scripts to interact with
the user, control the browser,
communicate asynchronously, and alter
the document content that is displayed.
<wikipedia.org>
ECMASCRIPT
Front-end development introduction (JavaScript). Part 2
ECMAScript
is the scripting language standardized
by Ecma International in the ECMA-262
specification and ISO/IEC 16262.
<wikipedia.org>
Front-end development introduction (JavaScript). Part 2
ECMAScript6
is a significant update to the language,
and the first update to the language
since ES5 was standardized in 2009.
More info: https://goo.gl/5xvio1
ES6 features
 arrows
 classes
 enhanced object literals
 template strings
 destructuring
 default + rest + spread
 let + const
 iterators + for..of
 generators
 unicode
 modules
 module loaders
 map + set + weakmap + weakset
 proxies
 symbols
 subclassable built-ins
 promises
 math + number + string + array +
object APIs
 binary and octal literals
 reflect api
 tail calls
Front-end development introduction (JavaScript). Part 2
OOD (TYPICAL)
Front-end development introduction (JavaScript). Part 2
OOD (PROTOTYPE)
Front-end development introduction (JavaScript). Part 2
Front-end development introduction (JavaScript). Part 2
OOP PRINCIPLES
Front-end development introduction (JavaScript). Part 2
OOP PRINCIPLES:
Inheritance
Front-end development introduction (JavaScript). Part 2
Front-end development introduction (JavaScript). Part 2
OOP PRINCIPLES:
Polymorphism
Front-end development introduction (JavaScript). Part 2
Front-end development introduction (JavaScript). Part 2
OOP PRINCIPLES:
Encapsulation
Front-end development introduction (JavaScript). Part 2
How to deal with encapsulation in JS?
 “Imagined” privacy
 Private “static” methods (closures)
 Real private properties and methods
 Just don’t
 More info: http://goo.gl/uaYcHp
DEMO
(“src/ood” directory in sources [index.html, encapsulation.js])
DESIGN PATTERNS
DESIGN PATTERNS:
Singleton
Front-end development introduction (JavaScript). Part 2
DEMO
(“src/patterns” directory in sources [index.html?singleton])
DESIGN PATTERNS:
Proxy
Front-end development introduction (JavaScript). Part 2
DEMO
(“src/patterns” directory in sources [index.html?proxy])
More patterns implementations:
https://github.com/oprohonnyi/js_trn/tree/patterns
TOOLS AND
UTILITIES
*node.js
*npm
TOOLS AND
UTILITIES:
Tasks runner
*grunt
Grunt
 In one word: automation. The less work you have to do when
performing repetitive tasks like minification, compilation, unit testing,
linting, etc, the easier your job becomes.
 http://gruntjs.com/
 Installation: “npm install –g grunt-cli”
 Verify installation: “grunt --version”
 Configuration: package.json + Gruntfile.js
DEMO
(“tools/grunt” directory in sources)
*gulp
TOOLS AND
UTILITIES:
Node modules
Front-end development introduction (JavaScript). Part 2
More about coding guidelines:
http://www.slideshare.net/oprohonnyi/javascript-coding-guidelines
*jshint
JSHint
 Tool that helps to detect errors and potential problems in your
JavaScript code.
 http://jshint.com/
 Configuration: .jshintrc
 Custom reporter: jshint-stylish
DEMO
(“tools/jshint” directory in sources)
*jscs
More useful modules
 grunt-contrib-concat
 grunt-contrib-uglify
 grunt-contrib-htmlmin
 grunt-contrib-livereload
 grunt-recess
 grunt-processhtml
 grunt-jsdoc
DEMO
(“tools/grunt” directory in sources)
IDE
*notepad
*Sublime Text 3
*Eclipse
*JetBrains WebStorm
*VS Code
DEMO
(try by yourself WebStorm IDE and grunt task runner)
ONE MORE THING
Front-end development introduction (JavaScript). Part 2
REFERENCES
References
 "JavaScript: The Good Parts" (Douglas Crockford)
 "Learning JavaScript Design Patterns" (Addy Osmani)
 "Effective JavaScript: 68 Specific Ways to Harness the
Power of JavaScript" (David Herman)
 "Clean Code: A Handbook of Agile Software
Craftsmanship" (Robert Martin)
 "Patterns of Enterprise Application Architecture" (Martin
Fowler)
 Presentation sources: github.com
Front-end development introduction (JavaScript). Part 2
Oleksii Prohonnyi
linkedin.com/in/oprohonnyi
slideshare.net/oprohonnyi

More Related Content

PPTX
Top frontend web development tools
PPTX
Front-end development introduction (HTML, CSS). Part 1
PPTX
Front-end technologies for Wonderful User Experience through Websites
PDF
Web Design & Development Courses in Pune| 3DOT Technologies
PDF
Web Design & Development Courses in Pune | 3DOT Technologies
PPTX
3 dot technologies by deepak modi
PDF
3 dot technologies by deepak modi
PPTX
Web Design & Development Courses in Pune |Web Development Classes in Pune | ...
Top frontend web development tools
Front-end development introduction (HTML, CSS). Part 1
Front-end technologies for Wonderful User Experience through Websites
Web Design & Development Courses in Pune| 3DOT Technologies
Web Design & Development Courses in Pune | 3DOT Technologies
3 dot technologies by deepak modi
3 dot technologies by deepak modi
Web Design & Development Courses in Pune |Web Development Classes in Pune | ...

What's hot (16)

PPTX
html & css
PPTX
DIGIT Noe 2016 - Overview of front end development today
PDF
Best Web Development Courses - Classes in Pune | Web Development Classes in ...
PPTX
Best Web Development Courses - Classes in Pune | Web Development Classes in ...
PPTX
Dream weaver
PPT
Introduction to Basic Concepts in Web
PPTX
Front-End Development
PDF
C language
PPTX
C language
PPTX
Web deveplopment courses in pune
PPTX
Web development using javaScript, React js, Node js, HTML, CSS and SQL
PPSX
Dream weaver
PPTX
Web Development basics with WordPress
PPT
Dream weaver
PPTX
Web development classes in pune
PPTX
Introduction to HTML5 and CSS3
html & css
DIGIT Noe 2016 - Overview of front end development today
Best Web Development Courses - Classes in Pune | Web Development Classes in ...
Best Web Development Courses - Classes in Pune | Web Development Classes in ...
Dream weaver
Introduction to Basic Concepts in Web
Front-End Development
C language
C language
Web deveplopment courses in pune
Web development using javaScript, React js, Node js, HTML, CSS and SQL
Dream weaver
Web Development basics with WordPress
Dream weaver
Web development classes in pune
Introduction to HTML5 and CSS3
Ad

Viewers also liked (20)

PDF
27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Sing...
KEY
Single Page Applications - Desert Code Camp 2012
PDF
The rise of single-page applications
PDF
An introduction in to the world of front end automation - frontend ne (02 07-15)
PDF
Front End Development Automation with Grunt
PPTX
Single page applications
PDF
Js Automation. npm scripts & Gulp
PDF
Single page applications
PPT
JAVA SCRIPT
PPT
JavaScript Introduction
PPTX
Making Single Page Applications (SPA) faster
PDF
An Introduction to JavaScript: Week One
PPTX
An introduction to javascript
PPTX
JavaScript Introduction
PDF
Single Page Applications
PDF
Single page application
PPTX
01 Introduction - JavaScript Development
PPT
The JavaScript Programming Language
PPTX
Building single page applications
PPT
introduction to javascript
27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Sing...
Single Page Applications - Desert Code Camp 2012
The rise of single-page applications
An introduction in to the world of front end automation - frontend ne (02 07-15)
Front End Development Automation with Grunt
Single page applications
Js Automation. npm scripts & Gulp
Single page applications
JAVA SCRIPT
JavaScript Introduction
Making Single Page Applications (SPA) faster
An Introduction to JavaScript: Week One
An introduction to javascript
JavaScript Introduction
Single Page Applications
Single page application
01 Introduction - JavaScript Development
The JavaScript Programming Language
Building single page applications
introduction to javascript
Ad

Similar to Front-end development introduction (JavaScript). Part 2 (20)

PPTX
Alfresco Development Framework Basic
PPT
.NET Recommended Resources
PDF
Develop High Performance Windows 8 Application with HTML5 and JavaScriptHigh ...
PDF
Powerful tools for building web solutions
PDF
Selenium & PHPUnit made easy with Steward (Berlin, April 2017)
PPT
Sergey Ilinsky Presentation Ample Sdk
PPT
Plugins 2.0: The Overview
PPT
State ofappdevelopment
PPT
Introduction To Eclipse RCP
PPTX
Normalizing x pages web development
PPTX
GOSIM 2024 - GenUI: Declarative Rust Cross-platform Framework Based on Makepad
PPT
Where's the source, Luke? : How to find and debug the code behind Plone
PDF
API Doc Smackdown
PPTX
Tutorial 1: Your First Science App - Araport Developer Workshop
ODP
eXo Platform SEA - Play Framework Introduction
PDF
Ember.js - Jak zatopit a neshořet!
PPTX
Mastering Test Automation: How To Use Selenium Successfully
PPTX
CucumberSeleniumWD
PPT
Hands on web development with play 2.0
PPTX
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
Alfresco Development Framework Basic
.NET Recommended Resources
Develop High Performance Windows 8 Application with HTML5 and JavaScriptHigh ...
Powerful tools for building web solutions
Selenium & PHPUnit made easy with Steward (Berlin, April 2017)
Sergey Ilinsky Presentation Ample Sdk
Plugins 2.0: The Overview
State ofappdevelopment
Introduction To Eclipse RCP
Normalizing x pages web development
GOSIM 2024 - GenUI: Declarative Rust Cross-platform Framework Based on Makepad
Where's the source, Luke? : How to find and debug the code behind Plone
API Doc Smackdown
Tutorial 1: Your First Science App - Araport Developer Workshop
eXo Platform SEA - Play Framework Introduction
Ember.js - Jak zatopit a neshořet!
Mastering Test Automation: How To Use Selenium Successfully
CucumberSeleniumWD
Hands on web development with play 2.0
AD113 Speed Up Your Applications w/ Nginx and PageSpeed

More from Oleksii Prohonnyi (20)

PPTX
Utility libraries to make your life easier
PPTX
Dive into Angular, part 4: Angular 2.0
PPTX
Dive into Angular, part 5: Experience
PPTX
Dive into Angular, part 3: Performance
PPTX
Dive into Angular, part 2: Architecture
PPTX
Dive into Angular, part 1: Introduction
PPTX
Cycle.js overview
PPTX
Moment.js overview
PPTX
Bower introduction
PPTX
JavaScript Presentation Frameworks and Libraries
PPTX
Introduction to D3.js
PPTX
Conference DotJS 2015 Paris review
PPTX
Asm.js introduction
PPTX
Code review process with JetBrains UpSource
PPTX
D3.JS Tips & Tricks (export to svg, crossfilter, maps etc.)
PPTX
OpenLayer's basics
PPTX
Front-end rich JavaScript application creation (Backbone.js)
PPTX
Как создать сайт за 2 часа? (Wordpress)
PPT
Разработка веб-сайта. Сайт. Зачем он?
PPTX
Google Chrome DevTools features overview
Utility libraries to make your life easier
Dive into Angular, part 4: Angular 2.0
Dive into Angular, part 5: Experience
Dive into Angular, part 3: Performance
Dive into Angular, part 2: Architecture
Dive into Angular, part 1: Introduction
Cycle.js overview
Moment.js overview
Bower introduction
JavaScript Presentation Frameworks and Libraries
Introduction to D3.js
Conference DotJS 2015 Paris review
Asm.js introduction
Code review process with JetBrains UpSource
D3.JS Tips & Tricks (export to svg, crossfilter, maps etc.)
OpenLayer's basics
Front-end rich JavaScript application creation (Backbone.js)
Как создать сайт за 2 часа? (Wordpress)
Разработка веб-сайта. Сайт. Зачем он?
Google Chrome DevTools features overview

Recently uploaded (20)

PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
Pharma ospi slides which help in ospi learning
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
Cell Structure & Organelles in detailed.
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Sports Quiz easy sports quiz sports quiz
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Pre independence Education in Inndia.pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Supply Chain Operations Speaking Notes -ICLT Program
Microbial disease of the cardiovascular and lymphatic systems
VCE English Exam - Section C Student Revision Booklet
Pharma ospi slides which help in ospi learning
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
TR - Agricultural Crops Production NC III.pdf
human mycosis Human fungal infections are called human mycosis..pptx
Cell Structure & Organelles in detailed.
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Abdominal Access Techniques with Prof. Dr. R K Mishra
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Sports Quiz easy sports quiz sports quiz
102 student loan defaulters named and shamed – Is someone you know on the list?
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
O7-L3 Supply Chain Operations - ICLT Program
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Final Presentation General Medicine 03-08-2024.pptx
Pre independence Education in Inndia.pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student

Front-end development introduction (JavaScript). Part 2