SlideShare a Scribd company logo
JavaScript и Frontend
завтра
Андрей Листочкин
Java script и frontend завтра - Kharkiv JS 2013
Java script и frontend завтра - Kharkiv JS 2013
2013
Java script и frontend завтра - Kharkiv JS 2013
Java script и frontend завтра - Kharkiv JS 2013
1989 - WWW
1994 - Netscape
1995 - JavaScript, Internet
Explorer, SSL
1997 - Rhino
1996 - CSS, Opera
1999 - Ajax
2000 - XHTML,
Opera Mobile
2001 - SVG, JSON,
Venkman
2002 - Firefox, jsLint
2003 - Safari,
Opera Platform
Java script и frontend завтра - Kharkiv JS 2013
2004 - Dojo, Gmail,
Web 2.0, E4X, WHAT WG,
Ruby on Rails
2005 - Prototype,
CouchDB,
Google Maps, Opera Mini
2006 - GWT, YUI, jQuery,
Ext JS, Firebug, Widgets
2007 - iOS Safari, Sass,
Caja, OpenSocial
2008 - QUnit, YQL,
Raphaёl, Dragonfly,
TraceMonkey, Chrome
Java script и frontend завтра - Kharkiv JS 2013
2009 - CommonJS,
Narwhal, NodeJS, npm,
MongoDB, PhoneGap,
Underscore, CoffeeScript,
Less, SPDY, WebSockets,
EcmaScript 5
2010 - Socket IO,
Knockout, Backbone,
Require JS
2011 - Ember, IE9, Dart,
Twitter Bootstrap, d3,
Grunt, Brunch,
Browserify, Skybreak
2012 - TypeScript,
Yeoman, Component,
Windows 8
2013 - Firefox OS, asm.js,
Polymer
Java script и frontend завтра - Kharkiv JS 2013
EcmaScript 6
Декабрь 2013
Модули
module 'MyComponent' {
import { dep } from 'https://dep.io/dep.js'
// Your Code
export // Exports
}
TC39: EcmaScript 6
●
●
●
●
●
●
●
●
●

Модули
Proxy
let
=>
destructuring assignment
генераторы
rest параметры
classes
...
Java script и frontend завтра - Kharkiv JS 2013
HTML Web Components
●
●
●
●

Shadow DOM
Custom Tags
Templates
HTML Imports
CSS
●
●
●
●
●

Custom Filters
Regions
Shapes
Variables
vh, vw, vmin, vmax
Java script и frontend завтра - Kharkiv JS 2013
Java script и frontend завтра - Kharkiv JS 2013
Мы где-то встречались
Custom Tags,
Shadow DOM, Web
Components

xml:ns, widgets,
iframes
local CSS reset

Object.observe

Getters/Setters

CSS

SVG
http://www.w3.org/TR/css-variables-1/
2013-06-20
http://www.w3.org/People/howcome/p/cascade.html

1994-10-10
font.size = 12pt
h1.font.size = font.size * 3
h2.font.size = font.size * 2.5
h3.font.size = font.size * 2
19.5 лет
20
@howcome
Java script и frontend завтра - Kharkiv JS 2013
Java script и frontend завтра - Kharkiv JS 2013
Java script и frontend завтра - Kharkiv JS 2013
Сложности
●
●
●
●

Выбор инструментов
Движение технологий
Рост требований к фронтенд инженеру
Веб-ожирение
Underscore JS, jQuery, Modernizr, es5-shim, Backbone,
Chaplin, Grunt, Karma, Mocha, ChaiJS, Node.js,
PhantomJS, CoffeeScript, Compass, jsHint, Bootstrap...
Backend Developer ~2010
Frontend Developer ~2013
Кое-что мы уже делаем правильно
●
●
●
●

Мы не бежим от JavaScript'а
Мы стараемся использовать CSS
Мы строим архитектуру
Мы пишем тесты
Но кое-что еще нет
●

●
●
●
●

WebSocket по-умолчанию
No frameworks по-умолчанию
URL для всего по умолчанию
Красивый и удобный UI по умолчанию
Не суппортить IE < 9/10
Что такое современный
фронтендщик?
HTTP
● параметры, запрос, ответ, cookie, headers,
подпись запросов Basic, oAuth, HMAC,
CSRF
● keep-alife, streaming
● cache, ETags, CORS,
● REST, JSON API: Authorization,
Sideloading, schema
● WebSockets
HTML
<br/>
X-UA-Compatible
CSS
●
●
●
●
●

border-radius
transitions
transforms
OOCSS
StyleGyide
Браузеры
●
●
●
●

IE8, Opera Mini, Screen Readers
Апрель 2014
IE10 для Windows 7
devices
UI
●
●
●
●
●

widget libraries
Grids
:hover
content-as-a-UI
autosave, autosync
Progressive
Enhancement
Engineering
●
●
●
●
●
●

tests
Karma, Selenium???
Билд > 0.1 секунды - долгий
отдельный client build
monitoring
profiling
Худеем:
● Polyfills >> Libraries:
es5 Array extras vs. Underscore
● jQuery?
custom builds
● Modernizr?
● Ext, GWT
Не делаем глупостей:
Из пушки по воробьям
d3
● IcedCoffeeScript
●
Здравый смысл:
if (array.hasOwnProperty(index))
{ get fullName: ... }
;
● AMD и билд???
●
●
●
Помогаем другим:
jQuery Plugin
npm, component, bower
● бонус: SourceLabs, ci.testling.com, TravisCI
●
●
Re-check your
assumptions!
Knockout vs Angular
Ember vs Angular
"Жизненный цикл" проекта
Re-check your
assumptions!
Underscore, Backbone,
RequireJS, CoffeeScript
Java script и frontend завтра - Kharkiv JS 2013
Java script и frontend завтра - Kharkiv JS 2013
Underscore, Backbone,
RequireJS, CoffeeScript
хипстер 2010 года
+ Bootstrap + Grunt
2011
Java script и frontend завтра - Kharkiv JS 2013
JavaScript
Frontend != JavaScript
Я не осилил CSS,
поэтому я frontend developer
Java script и frontend завтра - Kharkiv JS 2013
Java script и frontend завтра - Kharkiv JS 2013

More Related Content

What's hot (20)

PPTX
QA Fest 2015. Татьяна Скрипник. Кросс-браузерность, что ты делаешь?.. Ах-ха-х...
QAFest
 
PDF
Mobile web apps
Pavlo Iuriichuk
 
PDF
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Антипаттерни та велосипеди в JavaScript автоматизації» ...
QADay
 
PDF
MVC in JavaScript
Alexander Tarasyuk
 
PPTX
Kremen Development Academy #1 - Web 2.0
Jaroslav Khorishenko
 
PDF
Проблемы при работе с разными версиями Ruby и разными gem
Александр Ежов
 
ODP
Pavel yuriychuk svg in game development
DneprCiklumEvents
 
PDF
JavaScript + Webdriver = ♥
SQALab
 
PDF
Kazoomeetup 2015 - Building your very own Kazoo UI
Kirill Sysoev
 
PPTX
Скорость не в ущерб качеству, web-разработка на Java, Java day, Omsk, 2014
Anna Tarasenko
 
PDF
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
HappyDev-lite
 
PDF
Оптимизация скорости сайта без использования AMP | Odessa Frontend Meetup #10
OdessaFrontend
 
PDF
Инновации и JavaScript
Max Klymyshyn
 
PDF
HTML5 Web Components: следующий шаг к модульности вашего проекта / Андрей Рах...
Ontico
 
PPTX
Генераторы статических сайтов. Middleman
Alexey Avdeev
 
PDF
HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...
Ontico
 
PPTX
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
DevOWL Meetup
 
PDF
Арсений Заречнев и Федор Шумов - Одностраничные приложения
Arseny Zarechnev
 
PPTX
knockout.js
Anton Patrushev
 
PDF
JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js"
GeeksLab Odessa
 
QA Fest 2015. Татьяна Скрипник. Кросс-браузерность, что ты делаешь?.. Ах-ха-х...
QAFest
 
Mobile web apps
Pavlo Iuriichuk
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Антипаттерни та велосипеди в JavaScript автоматизації» ...
QADay
 
MVC in JavaScript
Alexander Tarasyuk
 
Kremen Development Academy #1 - Web 2.0
Jaroslav Khorishenko
 
Проблемы при работе с разными версиями Ruby и разными gem
Александр Ежов
 
Pavel yuriychuk svg in game development
DneprCiklumEvents
 
JavaScript + Webdriver = ♥
SQALab
 
Kazoomeetup 2015 - Building your very own Kazoo UI
Kirill Sysoev
 
Скорость не в ущерб качеству, web-разработка на Java, Java day, Omsk, 2014
Anna Tarasenko
 
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
HappyDev-lite
 
Оптимизация скорости сайта без использования AMP | Odessa Frontend Meetup #10
OdessaFrontend
 
Инновации и JavaScript
Max Klymyshyn
 
HTML5 Web Components: следующий шаг к модульности вашего проекта / Андрей Рах...
Ontico
 
Генераторы статических сайтов. Middleman
Alexey Avdeev
 
HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...
Ontico
 
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
DevOWL Meetup
 
Арсений Заречнев и Федор Шумов - Одностраничные приложения
Arseny Zarechnev
 
knockout.js
Anton Patrushev
 
JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js"
GeeksLab Odessa
 

Similar to Java script и frontend завтра - Kharkiv JS 2013 (20)

PDF
Фронтенд разработка без боли
Anton Piskunov
 
PDF
Фронтенд в Яндексе
Yandex
 
PDF
Фронтенд в Яндексе
Yandex
 
PDF
Frontend - экосистема и будущее: iforum 2015
Eldar Djafarov
 
PDF
Фронтенд в Яндексе
Yandex
 
PDF
Актуальные технологии и тренды в веб-разработке
Denis Izmaylov
 
PPTX
Full Stack разработка на JavaScript
Олег Шерыхалин
 
PDF
Как выглядит современный фронтенд
Timophy Chaptykov
 
PDF
Фреймворки: недалёкое прошлое и ближайшее будущее
Yandex
 
PDF
Современный фронтенд -- как не утонуть в море хайпа?
Vladimir Malyk
 
PPTX
Эволюция разработки (Ермаков Игорь), Форум технологий Mail.Ru Group
tfmailru
 
PDF
Фреймворки: Недалёкое Прошлое и Ближайшее Будущее
MoscowJS
 
PDF
Будущее шаблонизаторов
Alexey Ivanov
 
PDF
Экскурс в мир WEB разработки
IT-Доминанта
 
PDF
D2D Pizza JS Илья Беда "Куда мы все катимся?"
Dev2Dev
 
PDF
JavaScript on frontend and backend (in Russian
Mikhail Davydov
 
PDF
Изоморфный JavaScript — будущее уже здесь
CodeFest
 
PPT
Web programming modern tendencies
DarkestMaster
 
PDF
Михаил Трошев — Инструменты веб-разработки
Yandex
 
PPTX
What do you MEAN? или введение в Fullstack JavaScript
Vasiliy Teliatnikov
 
Фронтенд разработка без боли
Anton Piskunov
 
Фронтенд в Яндексе
Yandex
 
Фронтенд в Яндексе
Yandex
 
Frontend - экосистема и будущее: iforum 2015
Eldar Djafarov
 
Фронтенд в Яндексе
Yandex
 
Актуальные технологии и тренды в веб-разработке
Denis Izmaylov
 
Full Stack разработка на JavaScript
Олег Шерыхалин
 
Как выглядит современный фронтенд
Timophy Chaptykov
 
Фреймворки: недалёкое прошлое и ближайшее будущее
Yandex
 
Современный фронтенд -- как не утонуть в море хайпа?
Vladimir Malyk
 
Эволюция разработки (Ермаков Игорь), Форум технологий Mail.Ru Group
tfmailru
 
Фреймворки: Недалёкое Прошлое и Ближайшее Будущее
MoscowJS
 
Будущее шаблонизаторов
Alexey Ivanov
 
Экскурс в мир WEB разработки
IT-Доминанта
 
D2D Pizza JS Илья Беда "Куда мы все катимся?"
Dev2Dev
 
JavaScript on frontend and backend (in Russian
Mikhail Davydov
 
Изоморфный JavaScript — будущее уже здесь
CodeFest
 
Web programming modern tendencies
DarkestMaster
 
Михаил Трошев — Инструменты веб-разработки
Yandex
 
What do you MEAN? или введение в Fullstack JavaScript
Vasiliy Teliatnikov
 
Ad

Java script и frontend завтра - Kharkiv JS 2013