Web Front-End
JavaScript
1
О чём расскажу
Front-End + Back-End=
4
Схема
5
С этого момента
поподробнее
evolutionoftheweb.com
evolutionoftheweb.com
evolutionoftheweb.com
evolutionoftheweb.com
JavaScript - это
• На следующем слайде скриншот Yahoo за 1996 год
• Брендан Айк из компании Netscape в 1995 году внедрил язык
программирования в браузер Netscape (сегодняшний firefox)
• Цель - изменение структуры без перезагрузки страницы
• В 1996 году компания Microsoft выпустила аналог языка
JavaScript, названный Jscript
10
1996 год
11
2015 год
JavaScript - развитие
• 1995 – начало
• 2005 – ajax, prototype.js, jQuery, Mootools, Dojo
• 2010 – JavaScript MVC
• evolutionoftheweb.com история развития
• Сейчас WEB без JS невозможен!
13
Front-End - это
14
HTML
CSS
JavaScript
jQuery
CSS3
HTML5
ajax
Backbone IEsvg
Angular
Twitter Bootstrap
WebStorage
D3.js
prototype
mootools
sencha
Responsive layout
WebWorker
Cookies
Gulp
Grunt
Coffeescript
JSON
HTTP
flash
Canvas
Polymer
ReactJS
Front-End - это
HTML
CSS
JavaScript
Три слона
Структура
Внешний вид
Логика
Пример html
Пример css
Пример Javascript
Пример html
Пример html + css
Пример html + css + js
Пример
Пример
Пример
JavaScript сейчас
26
Статистики с DOU.ua, январь 2015
27
Статистики с DOU.ua, январь 2015
28
Статистики с DOU.ua, январь 2015
29
JavaScript, пример tabs!
30
Пример tabs -> html разметка
31
<div id="tabs">
<ul class="tabs" id="tabsnav">
<li><a href="#tab-1" class="menu-internal">Tab One</a></li>
<li><a href="#tab-2" class="menu-internal">Tab Two</a></li>
<li><a href="#tab-3" class="menu-internal">Tab Three</a></li>
<li><a href="#tab-4" class="menu-internal">Tab Four</a></li>
</ul>
<div id="tab-1“ class="tab">
<p>Tab1 Content</p>
</div>
<div id="tab-2“ class="tab">
<h2>Tab 2</h2>
<p>Tab 2 content</p>
</div>
<div id="tab-3“ class="tab">
<p>Tab 3 content</p>
</div>
<div id="tab-4“ class="tab">
<p>Tab 4 content.</p>
</div>
</div>
Пример tabs -> чистый JS
32
var pages;
window.onload=function() {
var i = 0;
var container = document.querySelector("#tabs");
var navitem = document.querySelector("#tab-2");
pages = container.querySelectorAll(".tab");
var nav = container.querySelectorAll(“.menu-internal");
navitem.parentNode.setAttribute("class", "active");
for (i = 0; i < pages.length; i++) { pages.item(i).style.display="none"; }
for (i = 0; i < nav.length; i++) { nav[i].onclick=displayPage; }
};
function displayPage() {
for (var i = 0 ; i < pages.length; i ++) { pages[i].style.display="none"; }
var id = this.querySelector(".menu-internal").getAttribute('href');
document.querySelector(id).style.display = 'block';
}
Пример tabs -> jQuery
33
$(document).ready(function() { // when DOM ready
$('#tabs > div').hide(); // hide all child divs
$('#tabs div:nth-child(2)').show(); // show second child dive
$('#tabsnav li:nth-child(2)').addClass('active');
$('.menu-internal').click(function(){
$('#tabsnav li').removeClass('active');
var currentTab = $(this).attr('href');
$('#tabsnav li a[href="'+currentTab+'"]').parent().addClass('active');
$('#tabs > div').hide(); $(currentTab).show();
});
});
Пример tabs -> jQuery UI
34
$( "#tabs" ).tabs();
Пример tabs -> jQuery UI
35
$( "#tabs" ).tabs();
var pages;
window.onload=function() {
var container = document.querySelector("#tabs");
var navitem = document.querySelector("#tab-2");
navitem.parentNode.setAttribute("class", "active");
pages = container.querySelectorAll(".tab");
for (var i = 0; i < pages.length; i++) {
pages.item(i).style.display="none";
}
var nav = container.querySelectorAll(“.menu-internal");
for (var i = 0; i < nav.length; i++) {
nav[i].onclick=displayPage;
}
};
function displayPage() {
for (var i = 0 ; i < pages.length; i ++) {
pages[i].style.display="none";
}
var id = this.querySelector(".menu-internal").getAttribute('href');
document.querySelector(id).style.display = 'block';
}
“You should definitely use jQuery”
36
???
37
Домашнее задание
Движение планет вокруг Солнца
38
• https://htmlacademy.ru/
• https://learn.javascript.ru/
Что почитать
• https://github.com/kashesandr
• https://twitter.com/kashesandr
Где меня найти

Александр Кашеверов - Коротко про WEB