JavaScript в веб разработке

Содержание

Слайд 2

О чём курс?

О чём курс?

Слайд 3

JavaScript – язык программирования (в отличии от HTML и CSS), поэтому

JavaScript – язык программирования (в отличии от HTML и CSS), поэтому

фундамент нашего курса – основы программирования на базе языка JavaScript.

У JavaScript не обычная сфера применения - он работает в браузере и «управляет» HTML-документом. Как это происходит – также часть нашего курса.

JavaScript – инструмент для решения задач, поэтому в третей части нашего курса мы поговорим о практиках его применения при решение задач возникающих перед веб-разработчиком.

Слайд 4

Базовый JavaScript. Основы программирования. Базовые концепции. JavaScript как язык программирования. Клиентский

Базовый JavaScript. Основы программирования. Базовые концепции. JavaScript как язык программирования.

Клиентский JavaScript.

JavaScript в браузере. Инфраструктура браузера. Объектная модель документа (DOM), событийная модель, AJAX, работа с Web API и др.

Технологии на базе JavaScript. JavaScript библиотеки и фреймворки (jQuery, AngularJS). JavaScript на стороне сервера/back-end (Node.js). Хранённые данных (MongoDB, BaaS)

А если конкретнее:

Слайд 5

План нашего курса ECMAScript-5/2015/2016…

План нашего курса

ECMAScript-5/2015/2016…

Слайд 6

План нашего курса

План нашего курса

Слайд 7

План нашего курса

План нашего курса

Слайд 8

План нашего курса

План нашего курса

Слайд 9

На кого ориентирован курс На тех кто знаком с языками HTML

На кого ориентирован курс

На тех кто знаком с языками HTML и

CSS, кто умеет сверстать страницу и знаком с Bootstrap’ом.
Слайд 10

Акценты Что является основой Понять суть и принципы

Акценты

Что является основой

Понять суть и принципы

Слайд 11

Кто проводит курс? Анатолий Кигель >11 лет в сфере веб-разработки. 7

Кто проводит курс?

Анатолий Кигель
>11 лет в сфере веб-разработки.
7 лет опыта преподавательской

деятельности в НГУ.
Технический консультант дизайн-студии «Свой стиль».

anatoliy.kigel@gmail.com

Слайд 12

Взаимодействие

Взаимодействие

Слайд 13

courses.dp.ua Презентация доступна по адресу: vk.com/js.courses Группа для вопросов, обсуждений, объявлений

courses.dp.ua

Презентация доступна по адресу:

vk.com/js.courses

Группа для вопросов, обсуждений, объявлений (и презентации там

тоже будут).

Ваша группа: JS4

Слайд 14

Хороший вопрос принесёт знания, плохой вопрос добавить путаницу и проблемы. О

Хороший вопрос принесёт знания, плохой вопрос добавить путаницу и проблемы.

О вопросах

Хороший

вопрос
У менять есть проблемы с обработкой события onhappens я пишу такой код:
tag.onhappens = function(e){}
, однако при наступлении события этот обработчик не вызывается, в чём может быть причина?

Плохой вопрос
Я там сбросил свой сайт, он чёта не работает, гляньте и поправьте там, чтобы работал.

Слайд 15

Зачем нужен JavaScript

Зачем нужен JavaScript

Слайд 16

HTML + CSS + JavaScript Безальтернативная тройка технологий front-end. Технологии которые работают в браузере пользователя.

HTML + CSS + JavaScript

Безальтернативная тройка технологий front-end. Технологии которые работают

в браузере пользователя.
Слайд 17

«Чистый» JS против JS-библиотек/фреймворков Чистый JS позволяет сделать всё то, что предлагают JS-библиотеки/фреймворки.

«Чистый» JS против JS-библиотек/фреймворков

Чистый JS позволяет сделать всё то, что предлагают

JS-библиотеки/фреймворки.
Слайд 18

HTML (HyperText Markup Language) – язык разметки текста, по сути структурирует

HTML (HyperText Markup Language) – язык разметки текста, по сути структурирует

(определяет структуру текста) и выполняет роль контейнера для текста (данных, информации).

HTML

Язык HTML - инструкция для браузера, указывающая как отобразить текст в удобной для человека форме.

Слайд 19

Данные + Метаданные Page title Текст + Как текст отобразить HTML Составные части HTML

Данные + Метаданные

Page title

Текст + Как текст отобразить

HTML

Составные части

HTML
Слайд 20

Синтаксис языка HTML Text data Теги как контейнер для блока текста

Синтаксис языка HTML

атрибуты (свойства, уточняют задачи тега, теги могут быть без атрибутов);

Текстовые данные (содержимое, контент).

состоит из:

Слайд 21

Цели и задачи языка HTML Без HTML, веб-страница всего лишь длинная текстовая строка.

Цели и задачи языка HTML

Без HTML, веб-страница всего лишь длинная текстовая

строка.
Слайд 22

Цели и задачи языка HTML HTML предназначен для задания структуры документа,

Цели и задачи языка HTML

HTML предназначен для задания структуры документа, и

выполняет роль «контейнера» для текста.
Слайд 23

HTML-документ Древовидная структура HTML-документа

HTML-документ

Древовидная структура HTML-документа

Слайд 24

HTML-документ Древовидная структура HTML-документа

HTML-документ

Древовидная структура HTML-документа

Слайд 25

Цели и задачи языка CSS Задать оформления элементов страницы (тегов и их содержимого).

Цели и задачи языка CSS

Задать оформления элементов страницы (тегов и их

содержимого).
Слайд 26

CSS CSS (англ. Cascading Style Sheets — каскадные таблицы* стилей) —

CSS

CSS (англ. Cascading Style Sheets — каскадные таблицы* стилей) — язык описания внешнего вида

документа, написанного с использованием HTML.

* таблицы здесь вообще не при чём.

Слайд 27

Синтаксис CSS div { color: red; font-size: 16pt; } CSS селектор,

Синтаксис CSS

div { color: red; font-size: 16pt; }

CSS селектор, говорит к

каким элементам будет применятся описываемый стиль (css selector).

Имя свойства, которое устанавливается (property).

Значение которое устанавливается для свойства (value).

Слайд 28

CSS отвечает за такие аспекты Внешний вид элемента (цвет, шрифт, прозрачность

CSS отвечает за такие аспекты

Внешний вид элемента (цвет, шрифт, прозрачность

и т.д. );
Размеры элемента (высота, ширина, границы, отступы и т.д.);
Положение элемента на странице;

* под элементом, подразумевается тег.

4. Спецэффекты, анимация.

Слайд 29

Есть проблема - HTML статичен* Типичный сценарий работы с сайтом без

Есть проблема - HTML статичен*

Типичный сценарий работы с сайтом без JavaScript:

любое действие требует перехода на другой URL и/или полной перезагрузки страницы.

*Что неудивительно, ведь HTML не является языком программирования.

Страница, после загрузки в браузер, остаётся неизменной до перезагрузки, или ухода на другую страницу.

Слайд 30

Так зачем же нужен JavaScript? JavaScript позволяет «оживить» web-страницу, чтобы страница

Так зачем же нужен JavaScript?

JavaScript позволяет «оживить» web-страницу, чтобы страница могла

изменять своё содержание (и внешний вид) без перезагрузки.

Задача JavaScript – Манипуляция HTML-документов.

Цель JavaScript - повысить интерактивность веб-страниц.

Слайд 31

Задача JavaScript – манипуляция HTML-документом 1. Добавление элементов (тегов) на страницу

Задача JavaScript – манипуляция HTML-документом

1. Добавление элементов (тегов) на страницу (в

документ);

2. Удаление элементов со страницы;

3. Изменение содержимого элемента и/или его стилевых свойств (стилей CSS);

Слайд 32

Система управления основанная на событиях Каждая из этих вещей делает что-то,

Система управления основанная на событиях

Каждая из этих вещей делает что-то, только

в ответ на действия пользователя. Можно сказать каждое действие пользователя это событие, и на него нужно как-то отреагировать.
Слайд 33

Задача JavaScript – манипуляция HTML-документом 4. Реагирование на действия пользователя; Суть

Задача JavaScript – манипуляция HTML-документом

4. Реагирование на действия пользователя;

Суть интерактивности –

делать что-то в ответ на действия пользователей. В программирование такой подход называют событийно-ориентированным, а каждое действие пользователя – событием.
Слайд 34

Версии JavaScript JavaScript – реализация языка ECMAScript ECMAScript 3 ECMAScript 5

Версии JavaScript

JavaScript – реализация языка ECMAScript

ECMAScript 3
ECMAScript 5
ECMAScript 6 => ECMAScript

2015
ECMAScript 2016
?!?!?!?...

http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf

* Стандарт определяет, что входит в сам языке, но не инфраструктуру где он работает. Инфраструктуру определяет стандарт DOM (Document Object Model).

Слайд 35

Версии JavaScript Стандарт впереди планеты всей, однако, поддержка…. http://kangax.github.io/compat-table/es6/

Версии JavaScript

Стандарт впереди планеты всей, однако, поддержка….

http://kangax.github.io/compat-table/es6/

Слайд 36

На практике

На практике

Слайд 37

Как всё вышеописанное происходит? Первый пример: http://courses.dp.ua/files/js/01/ex01.html

Как всё вышеописанное происходит?

Первый пример: http://courses.dp.ua/files/js/01/ex01.html

Слайд 38

Инструменты Которые нам пригодятся

Инструменты
Которые нам пригодятся

Слайд 39

Инструменты: Консоль разработчика в браузере (клавиша F12) Подробная информация о том,

Инструменты: Консоль разработчика в браузере (клавиша F12)

Подробная информация о том, как

бразуер «понимаем» созданный вами код.
Слайд 40

Инструменты: Браузер Chrome N.B. JavaScript выполняется браузерами, поэтому поддерка тех или

Инструменты: Браузер Chrome

N.B. JavaScript выполняется браузерами, поэтому поддерка тех или иных

функций JavaScript зависит от того сделали её поддержку разработчики браузера или нет.
Слайд 41

Инструменты: http://google.com

Инструменты: http://google.com

Слайд 42

Инструменты: Notepad++

Инструменты: Notepad++

Слайд 43

Инструменты: «допустимый» синтаксис

Инструменты: «допустимый» синтаксис

Слайд 44

Инструменты: служебные функции console.log(…); alert(…); Создаём новый файл в notepad++, сохраняем

Инструменты: служебные функции

console.log(…);

alert(…);

Создаём новый файл в notepad++, сохраняем файл как test.html,

и запускаем (Ctrl+Shift+Alt+R).
Слайд 45

Инструменты: служебные функции prompt(…);

Инструменты: служебные функции

prompt(…);

Слайд 46

Инструменты: служебные функции confirm(…);

Инструменты: служебные функции

confirm(…);

Слайд 47

Hello world!

Hello world!

Слайд 48

Давайте попробуем или “Hello World!!!” Создаём новый файл в notepad++, сохраняем

Давайте попробуем или “Hello World!!!”

Создаём новый файл в notepad++, сохраняем файл

как index.html, и запускаем (Ctrl+Shift+Alt+R).
Слайд 49

В результате получаем… Давайте попробуем или “Hello World!!!”

В результате получаем…

Давайте попробуем или “Hello World!!!”

Слайд 50

Node.JS

Node.JS

Слайд 51

JavaScript не только в браузере: Node.JS https://nodejs.org/en/ NodeJS – программа, которая

JavaScript не только в браузере: Node.JS

https://nodejs.org/en/

NodeJS – программа, которая ставиться на

компьютер и позволяет выполнять код на языке JavaScript прямо на вашем компьютере (с полным доступом к компьютеру, без ограничений браузера, и без самого браузера). Т.е. NodeJS ставит JavaScript в один ряд с C#, Java, Ruby, Python и прочими.
Слайд 52

Интерпретатор JavaScript-кода Позволяет проверить JavaScript код, и сразу получить результат его

Интерпретатор JavaScript-кода

Позволяет проверить JavaScript код, и сразу получить результат его работы

построчно.

В состав NodeJS входит программа-интерпретатор, которая разбирает текстовые файлы с кодом и выполняет их.

Слайд 53

Интерпретатор JavaScript-кода Консольная команда node code.js позволяет запустить на выполнение файл

Интерпретатор JavaScript-кода

Консольная команда node code.js позволяет запустить на выполнение файл с

JS-кодом целиком. В данном случае будет запущен http-сервер.

Создайте файл code.js

Выполните в консоли команду node code.js (вместо code.js может быть путь к любому js-файлу).

Слайд 54

http-сервер на базе Node.JS Работоспособность запущенного http-сервера легко проверить запустив браузер

http-сервер на базе Node.JS

Работоспособность запущенного http-сервера легко проверить запустив браузер и

открыв адрес http://localhost или http://127.0.0.1
Слайд 55

Майкл Моррисон «Изучаем JavaScript»

Майкл Моррисон «Изучаем JavaScript» 

Слайд 56

http://learn.javascript.ru/ JavaScript.ru Современный учебник JavaScript

http://learn.javascript.ru/

JavaScript.ru

Современный учебник JavaScript

Слайд 57

Не забываем

Не забываем