and stabilizing Language Specification Changes are slowing Modern JS looks a lot more like traditional programming An Introduction to Modern Web Development - PUG Challenge Americas 2018 11 / 53
> 5 years old and back by larger corporations like MS and Google Even older "less cool" frameworks still exist with updates An Introduction to Modern Web Development - PUG Challenge Americas 2018 12 / 53
> 5 years old and back by larger corporations like MS and Google Even older "less cool" frameworks still exist with updates HTML and CSS are still the best cross-platform UI toolkit An Introduction to Modern Web Development - PUG Challenge Americas 2018 12 / 53
> 5 years old and back by larger corporations like MS and Google Even older "less cool" frameworks still exist with updates HTML and CSS are still the best cross-platform UI toolkit Write Once, Run Everywhere is actually somewhat feasible now An Introduction to Modern Web Development - PUG Challenge Americas 2018 12 / 53
of full pages Distinct line between front end and backend Sometimes no backend at all An Introduction to Modern Web Development - PUG Challenge Americas 2018 14 / 53
development There are plenty of plugins for older editors and IDEs as well Feel free to use what you are familiar with or try something new. Recommendations: MS Visual Studio Code, Jetbrains IntelliJ, Sublime Text 3 An Introduction to Modern Web Development - PUG Challenge Americas 2018 16 / 53
layout Smooth, native animations (with GPU acceleration) Service Workers WebSockets HTML5 and CSS3 An Introduction to Modern Web Development - PUG Challenge Americas 2018 17 / 53
Variables, functions, mixins Browser compatibility Examples: Less (More CSS-like) or Sass (More Ruby-like) I prefer Sass, but if you know CSS super well, Less is probably a better choice. An Introduction to Modern Web Development - PUG Challenge Americas 2018 18 / 53
deals with responsive layout, consistent styling, browser differences, and more Usually available in Less or Sass to make customizing and theming easier Examples: Bootstrap, Foundation, Bulma An Introduction to Modern Web Development - PUG Challenge Americas 2018 19 / 53
modern JS (ES6 and ES2015) into the more widely understood ES5 It lets you use the latest language features before they are available in browsers Allows use of alternate languages that compile to JS like MS's Typescript An Introduction to Modern Web Development - PUG Challenge Americas 2018 20 / 53
some code more readable (Esp. if you are familiar with functional code or lambdas in Java and Python) More data structures You'll see a lot of example code using it An Introduction to Modern Web Development - PUG Challenge Americas 2018 21 / 53
more Unix-y, so you'll use the package manager a lot Lots of free, open-source packages out there Both install packages, manage dependencies, and run utility scripts Yarn is a newer one that solves some problems with NPM, but is compatible with NPM An Introduction to Modern Web Development - PUG Challenge Americas 2018 23 / 53
(think User Controls) Helps managing state Makes building dyanmic sites easier Examples: React (Facebook), Angular (Google), Vue (Alibaba) An Introduction to Modern Web Development - PUG Challenge Americas 2018 24 / 53
<head> <meta charset="UTF-8"> <title>JavaScript Example</title> <script src="index.js"></script> </head> <body> <h1>Hello from HTML!</h1> </body> </html> An Introduction to Modern Web Development - PUG Challenge Americas 2018 27 / 53
/ using / import JS Modules had to be loaded into a global variable Naming conflicts, global-state problems, etc. Nodejs introduced the idea that JS could include other JS files var moment = require('moment'); An Introduction to Modern Web Development - PUG Challenge Americas 2018 38 / 53
JS? A module bundler can look at include statements and build a JS file that has all the required code Webpack is the most popular today Use by React, Vue, etc An Introduction to Modern Web Development - PUG Challenge Americas 2018 39 / 53
both webpack, a command line interface for webpack, and saves those as Development dependencies. An Introduction to Modern Web Development - PUG Challenge Americas 2018 40 / 53
entry: './index.js', output: { filename: 'main.js', publicPath: 'dist' } }; An Introduction to Modern Web Development - PUG Challenge Americas 2018 42 / 53
var name = "Bob", time = "today"; console.log(`Hello ${name}, how are you ${time}?`); An Introduction to Modern Web Development - PUG Challenge Americas 2018 46 / 53
var name = "Bob", time = "today"; console.log(`Hello ${name}, how are you ${time}?`); Newer Imports import moment from 'moment'; An Introduction to Modern Web Development - PUG Challenge Americas 2018 46 / 53
the Javascript EcoSystem Modern Frontend Developer in 2018 Vuejs Guide Bootstrap Docs Sass Docs An Introduction to Modern Web Development - PUG Challenge Americas 2018 51 / 53