SlideShare a Scribd company logo
JavaScript-фреймворки
JavaScript
* Язык сделан на коленке
* Язык переусложнен
* Слишком много скобочек
* Пропихнут во все не свойственные для
него продукты: скриптинг в Gnome 3, XUL,
сервер-сайд на nodejs
* Даже адепты nodejs переходят на
CoffeeScript (да, он работает в ноде)
Главная проблема всех сайтов
- Бессистемно написанный джаваскрипт код.
Профессия JavaScript-программиста
востребована, и такие специалисты нужны.
Пример: ВКонтакте
Посмотрите на досуге: view-source:vk.com
* Вообще не используются фреймворки,
даже jQuery.
* Инлайн джаваскрипт, джаваскрипт в
аттрибутах onClick
* Загажено глобальное пространство имён
* Как оно вообще работает?
* Чем меньше знаешь, тем проще жить
Emberjs
Минусы:
- Неудобные шаблоны как в питоне и смарти
Плюсы:
Пока что не смотрел
Backbone.js
Минусы:
- На каждую модель нужно создавать два
“класса”: Item и ItemList. В Spinejs всё как в
рельсах: один класс на каждую модель
- __Очень__ много скобочек, слишком много
- Слишком много хаков для написания когда
JavaScript-кода “как во взрослом языке”. Код
писать тяжело
Что оно даёт:
* Можно держать логику и шаблоны в
браузере. Не происходит “размывание”
логики по приложению.
Особенности:
* MTV вместо MVC
* 2 “класса” на каждую модель
* Часто используют с Underscore.js для
рендеринга шаблонов в браузере
Spinejs
Особенности
* Приемник Spinejs (в буквальном смысле)
* Написано людьми, которые пишут на
рельсах
* Активно используются преимущества
CoffeeScript’а
* Очень похоже на рельсы. То же самое,
только в браузере: есть шаблоны аля
erb/haml, роутинг, контроллеры, модели и
даже пакетный менеджер в зачаточном
состоянии
* Исправлены родовые травмы Backbonejs.
Писать код гораздо проще
* Нормальная документация
Angularjs
Минусы:
- Inline javascript. Очень плохо.
- Пишется гуглом. Гугл очень плохо себя
показал как автор библиотек.
Плюсы:
- Оно простое
- Проще использовать в примитивных
приложениях

More Related Content

What's hot

Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)
Pavel Chertorogov
 
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
HappyDev-lite
 
Bootstrap
BootstrapBootstrap
Bootstrap
Timofey Chukleev
 
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo...
nw.js  введение в кросс-платформенные десктопные приложения на javascript (mo...nw.js  введение в кросс-платформенные десктопные приложения на javascript (mo...
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo...
Kirill Danilov
 
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Ontico
 
State of the Standardized Web
State of the Standardized WebState of the Standardized Web
State of the Standardized Web
Yandex
 
State of the Standardized Web. YaC 2014
State of theStandardized Web. YaC 2014State of theStandardized Web. YaC 2014
State of the Standardized Web. YaC 2014
Yandex
 
Bootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressBootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPress
Igor Sazonov
 
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.jsTrainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
DevOWL Meetup
 
Bootstrap3 basics
Bootstrap3 basicsBootstrap3 basics
Bootstrap3 basics
DevOWL Meetup
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
Provectus
 
Current State of Server Side JavaScript
Current State of Server Side JavaScriptCurrent State of Server Side JavaScript
Current State of Server Side JavaScriptOleg Podsechin
 
Оживление сайтов
Оживление сайтовОживление сайтов
Оживление сайтовMageCloud
 
Проблемы при работе с разными версиями Ruby и разными gem
Проблемы при работе с разными версиями Ruby и разными gemПроблемы при работе с разными версиями Ruby и разными gem
Проблемы при работе с разными версиями Ruby и разными gem
Александр Ежов
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)
Ontico
 
Сборка проектов с помощью ENB
Сборка проектов с помощью ENBСборка проектов с помощью ENB
Сборка проектов с помощью ENBAleksandr Boichenko
 
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ...
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ..."nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ...
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ...
MoscowJS
 
Fullstack javascript. Isomorphic apps
Fullstack javascript. Isomorphic appsFullstack javascript. Isomorphic apps
Fullstack javascript. Isomorphic apps
Артем Захарченко
 

What's hot (20)

Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)
 
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo...
nw.js  введение в кросс-платформенные десктопные приложения на javascript (mo...nw.js  введение в кросс-платформенные десктопные приложения на javascript (mo...
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo...
 
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
 
State of the Standardized Web
State of the Standardized WebState of the Standardized Web
State of the Standardized Web
 
State of the Standardized Web. YaC 2014
State of theStandardized Web. YaC 2014State of theStandardized Web. YaC 2014
State of the Standardized Web. YaC 2014
 
Bootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressBootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPress
 
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.jsTrainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
 
Bootstrap3 basics
Bootstrap3 basicsBootstrap3 basics
Bootstrap3 basics
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
Current State of Server Side JavaScript
Current State of Server Side JavaScriptCurrent State of Server Side JavaScript
Current State of Server Side JavaScript
 
Защита
ЗащитаЗащита
Защита
 
Оживление сайтов
Оживление сайтовОживление сайтов
Оживление сайтов
 
Cakephp
CakephpCakephp
Cakephp
 
Проблемы при работе с разными версиями Ruby и разными gem
Проблемы при работе с разными версиями Ruby и разными gemПроблемы при работе с разными версиями Ruby и разными gem
Проблемы при работе с разными версиями Ruby и разными gem
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)
 
Сборка проектов с помощью ENB
Сборка проектов с помощью ENBСборка проектов с помощью ENB
Сборка проектов с помощью ENB
 
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ...
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ..."nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ...
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ...
 
Fullstack javascript. Isomorphic apps
Fullstack javascript. Isomorphic appsFullstack javascript. Isomorphic apps
Fullstack javascript. Isomorphic apps
 

Viewers also liked

Генетические алгоритмы
Генетические алгоритмыГенетические алгоритмы
Генетические алгоритмы
Oleg Parinov
 
Reformulation Strategies Based On Design Of Experiments (DOE) Enhancement Of ...
Reformulation Strategies Based On Design Of Experiments (DOE) Enhancement Of ...Reformulation Strategies Based On Design Of Experiments (DOE) Enhancement Of ...
Reformulation Strategies Based On Design Of Experiments (DOE) Enhancement Of ...
Debanjan (Deb) Das
 
Design of Experiments on Federator Polystore Architecture
Design of Experiments on Federator Polystore ArchitectureDesign of Experiments on Federator Polystore Architecture
Design of Experiments on Federator Polystore Architecture
Luiz Henrique Zambom Santana
 
IRM Проектировщики
IRM ПроектировщикиIRM Проектировщики
IRM Проектировщики
Rin Ultrarin
 
Planning of experiment in industrial research
Planning of experiment in industrial researchPlanning of experiment in industrial research
Planning of experiment in industrial research
pbbharate
 
Лекция 6 Планирование эксперимента
Лекция 6 Планирование экспериментаЛекция 6 Планирование эксперимента
Лекция 6 Планирование эксперимента
Константин Князев
 
Heuristic design of experiments w meta gradient search
Heuristic design of experiments w meta gradient searchHeuristic design of experiments w meta gradient search
Heuristic design of experiments w meta gradient search
Greg Makowski
 
Design of experiments using Moldflow Analysis.
Design of experiments using Moldflow Analysis.Design of experiments using Moldflow Analysis.
Design of experiments using Moldflow Analysis.
Nilesh Nevrekar
 
Optimization techniques
Optimization techniquesOptimization techniques
Optimization techniques
Pradeep Chinnapaga
 
Sample Moldflow Analysis Report For Automotive Part
Sample Moldflow Analysis Report For Automotive PartSample Moldflow Analysis Report For Automotive Part
Sample Moldflow Analysis Report For Automotive Part
Nilesh Nevrekar
 
LeanUX: Online Design of Experiments
LeanUX: Online Design of ExperimentsLeanUX: Online Design of Experiments
LeanUX: Online Design of Experiments
Sigma Consulting Resources, LLC
 
Design of Experiments
Design of ExperimentsDesign of Experiments
Design of Experiments
Ronald Shewchuk
 
Design of experiments
Design of experimentsDesign of experiments
Design of experiments
Farm Design, Inc.
 
Introduction to Design of Experiments by Teck Nam Ang (University of Malaya)
Introduction to Design of Experiments by Teck Nam Ang (University of Malaya)Introduction to Design of Experiments by Teck Nam Ang (University of Malaya)
Introduction to Design of Experiments by Teck Nam Ang (University of Malaya)
Teck Nam Ang
 
Principles of design of experiments (doe)20 5-2014
Principles of  design of experiments (doe)20 5-2014Principles of  design of experiments (doe)20 5-2014
Principles of design of experiments (doe)20 5-2014
Awad Albalwi
 
9. design of experiment
9. design of experiment9. design of experiment
9. design of experiment
Hakeem-Ur- Rehman
 
Application of Design of Experiments (DOE) using Dr.Taguchi -Orthogonal Array...
Application of Design of Experiments (DOE) using Dr.Taguchi -Orthogonal Array...Application of Design of Experiments (DOE) using Dr.Taguchi -Orthogonal Array...
Application of Design of Experiments (DOE) using Dr.Taguchi -Orthogonal Array...
Karthikeyan Kannappan
 
OPTIMIZATION IN PHARMACEUTICS,FORMULATION & PROCESSING
OPTIMIZATION IN PHARMACEUTICS,FORMULATION & PROCESSINGOPTIMIZATION IN PHARMACEUTICS,FORMULATION & PROCESSING
OPTIMIZATION IN PHARMACEUTICS,FORMULATION & PROCESSING
Jamia Hamdard
 
Moldflow Analysis Presentation
Moldflow Analysis PresentationMoldflow Analysis Presentation
Moldflow Analysis Presentation
Rishi Sormare
 

Viewers also liked (19)

Генетические алгоритмы
Генетические алгоритмыГенетические алгоритмы
Генетические алгоритмы
 
Reformulation Strategies Based On Design Of Experiments (DOE) Enhancement Of ...
Reformulation Strategies Based On Design Of Experiments (DOE) Enhancement Of ...Reformulation Strategies Based On Design Of Experiments (DOE) Enhancement Of ...
Reformulation Strategies Based On Design Of Experiments (DOE) Enhancement Of ...
 
Design of Experiments on Federator Polystore Architecture
Design of Experiments on Federator Polystore ArchitectureDesign of Experiments on Federator Polystore Architecture
Design of Experiments on Federator Polystore Architecture
 
IRM Проектировщики
IRM ПроектировщикиIRM Проектировщики
IRM Проектировщики
 
Planning of experiment in industrial research
Planning of experiment in industrial researchPlanning of experiment in industrial research
Planning of experiment in industrial research
 
Лекция 6 Планирование эксперимента
Лекция 6 Планирование экспериментаЛекция 6 Планирование эксперимента
Лекция 6 Планирование эксперимента
 
Heuristic design of experiments w meta gradient search
Heuristic design of experiments w meta gradient searchHeuristic design of experiments w meta gradient search
Heuristic design of experiments w meta gradient search
 
Design of experiments using Moldflow Analysis.
Design of experiments using Moldflow Analysis.Design of experiments using Moldflow Analysis.
Design of experiments using Moldflow Analysis.
 
Optimization techniques
Optimization techniquesOptimization techniques
Optimization techniques
 
Sample Moldflow Analysis Report For Automotive Part
Sample Moldflow Analysis Report For Automotive PartSample Moldflow Analysis Report For Automotive Part
Sample Moldflow Analysis Report For Automotive Part
 
LeanUX: Online Design of Experiments
LeanUX: Online Design of ExperimentsLeanUX: Online Design of Experiments
LeanUX: Online Design of Experiments
 
Design of Experiments
Design of ExperimentsDesign of Experiments
Design of Experiments
 
Design of experiments
Design of experimentsDesign of experiments
Design of experiments
 
Introduction to Design of Experiments by Teck Nam Ang (University of Malaya)
Introduction to Design of Experiments by Teck Nam Ang (University of Malaya)Introduction to Design of Experiments by Teck Nam Ang (University of Malaya)
Introduction to Design of Experiments by Teck Nam Ang (University of Malaya)
 
Principles of design of experiments (doe)20 5-2014
Principles of  design of experiments (doe)20 5-2014Principles of  design of experiments (doe)20 5-2014
Principles of design of experiments (doe)20 5-2014
 
9. design of experiment
9. design of experiment9. design of experiment
9. design of experiment
 
Application of Design of Experiments (DOE) using Dr.Taguchi -Orthogonal Array...
Application of Design of Experiments (DOE) using Dr.Taguchi -Orthogonal Array...Application of Design of Experiments (DOE) using Dr.Taguchi -Orthogonal Array...
Application of Design of Experiments (DOE) using Dr.Taguchi -Orthogonal Array...
 
OPTIMIZATION IN PHARMACEUTICS,FORMULATION & PROCESSING
OPTIMIZATION IN PHARMACEUTICS,FORMULATION & PROCESSINGOPTIMIZATION IN PHARMACEUTICS,FORMULATION & PROCESSING
OPTIMIZATION IN PHARMACEUTICS,FORMULATION & PROCESSING
 
Moldflow Analysis Presentation
Moldflow Analysis PresentationMoldflow Analysis Presentation
Moldflow Analysis Presentation
 

Similar to Javascript frameworks

игровая логика, проблемы и решения
игровая логика, проблемы и решенияигровая логика, проблемы и решения
игровая логика, проблемы и решения
Владимир Кожаев
 
Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?
Vladimir Malyk
 
Server Side Javascript (ru)
Server Side Javascript (ru)Server Side Javascript (ru)
Server Side Javascript (ru)
Bakyt Niyazov
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиБэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
ITCrowd Almaty
 
браузеры презентация
браузеры презентациябраузеры презентация
браузеры презентация4ertenka
 
браузеры презентация
браузеры презентациябраузеры презентация
браузеры презентация4ertenka
 
Презентация: 1С-Bitrix — как начать
Презентация: 1С-Bitrix — как начатьПрезентация: 1С-Bitrix — как начать
Презентация: 1С-Bitrix — как начать
Dmitriy Polisadov
 
Компонентный подход: скучно, неинтересно, бесперспективно
Компонентный подход: скучно, неинтересно, бесперспективноКомпонентный подход: скучно, неинтересно, бесперспективно
Компонентный подход: скучно, неинтересно, бесперспективно
Roman Dvornov
 
Desktop-like Games. How and why?
Desktop-like Games. How and why?Desktop-like Games. How and why?
Desktop-like Games. How and why?
DevGAMM Conference
 
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
DevGAMM Conference
 
Ruby on Rails for noobs
Ruby on Rails for noobsRuby on Rails for noobs
Ruby on Rails for noobs
Vitalii Tytskyi
 
От пояса с инструментами к полноценной лаборатории
От пояса с инструментами к полноценной лабораторииОт пояса с инструментами к полноценной лаборатории
От пояса с инструментами к полноценной лаборатории
Yandex
 
Migrate!
Migrate!Migrate!
Migrate!
sergeymoiseev
 
Windows Azure and node js
Windows Azure and node jsWindows Azure and node js
Windows Azure and node js
Alex Tumanoff
 
Development of a plugin for VS Code that supports ACSL language.
Development of a plugin for VS Code that supports ACSL language.Development of a plugin for VS Code that supports ACSL language.
Development of a plugin for VS Code that supports ACSL language.
Denis Zakharov
 
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Anthony Marchenko
 
Sergey Ilinsky Rit 2010 Complex Gui Development Ample Sdk
Sergey Ilinsky Rit 2010 Complex Gui Development Ample SdkSergey Ilinsky Rit 2010 Complex Gui Development Ample Sdk
Sergey Ilinsky Rit 2010 Complex Gui Development Ample Sdkrit2010
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Антипаттерни та велосипеди в JavaScript автоматизації» ...
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Антипаттерни та велосипеди в JavaScript автоматизації» ...ОЛЕКСАНДР ХОТЕМСЬКИЙ «Антипаттерни та велосипеди в JavaScript автоматизації» ...
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Антипаттерни та велосипеди в JavaScript автоматизації» ...
QADay
 
Rebrov selenium camp2013
Rebrov selenium camp2013Rebrov selenium camp2013
Rebrov selenium camp2013Andrey Rebrov
 

Similar to Javascript frameworks (20)

игровая логика, проблемы и решения
игровая логика, проблемы и решенияигровая логика, проблемы и решения
игровая логика, проблемы и решения
 
Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?
 
Server Side Javascript (ru)
Server Side Javascript (ru)Server Side Javascript (ru)
Server Side Javascript (ru)
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиБэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
 
браузеры презентация
браузеры презентациябраузеры презентация
браузеры презентация
 
браузеры презентация
браузеры презентациябраузеры презентация
браузеры презентация
 
Презентация: 1С-Bitrix — как начать
Презентация: 1С-Bitrix — как начатьПрезентация: 1С-Bitrix — как начать
Презентация: 1С-Bitrix — как начать
 
Компонентный подход: скучно, неинтересно, бесперспективно
Компонентный подход: скучно, неинтересно, бесперспективноКомпонентный подход: скучно, неинтересно, бесперспективно
Компонентный подход: скучно, неинтересно, бесперспективно
 
Desktop-like Games. How and why?
Desktop-like Games. How and why?Desktop-like Games. How and why?
Desktop-like Games. How and why?
 
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
 
Sivko
SivkoSivko
Sivko
 
Ruby on Rails for noobs
Ruby on Rails for noobsRuby on Rails for noobs
Ruby on Rails for noobs
 
От пояса с инструментами к полноценной лаборатории
От пояса с инструментами к полноценной лабораторииОт пояса с инструментами к полноценной лаборатории
От пояса с инструментами к полноценной лаборатории
 
Migrate!
Migrate!Migrate!
Migrate!
 
Windows Azure and node js
Windows Azure and node jsWindows Azure and node js
Windows Azure and node js
 
Development of a plugin for VS Code that supports ACSL language.
Development of a plugin for VS Code that supports ACSL language.Development of a plugin for VS Code that supports ACSL language.
Development of a plugin for VS Code that supports ACSL language.
 
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
 
Sergey Ilinsky Rit 2010 Complex Gui Development Ample Sdk
Sergey Ilinsky Rit 2010 Complex Gui Development Ample SdkSergey Ilinsky Rit 2010 Complex Gui Development Ample Sdk
Sergey Ilinsky Rit 2010 Complex Gui Development Ample Sdk
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Антипаттерни та велосипеди в JavaScript автоматизації» ...
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Антипаттерни та велосипеди в JavaScript автоматизації» ...ОЛЕКСАНДР ХОТЕМСЬКИЙ «Антипаттерни та велосипеди в JavaScript автоматизації» ...
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Антипаттерни та велосипеди в JavaScript автоматизації» ...
 
Rebrov selenium camp2013
Rebrov selenium camp2013Rebrov selenium camp2013
Rebrov selenium camp2013
 

Javascript frameworks

  • 2. JavaScript * Язык сделан на коленке * Язык переусложнен * Слишком много скобочек * Пропихнут во все не свойственные для него продукты: скриптинг в Gnome 3, XUL, сервер-сайд на nodejs * Даже адепты nodejs переходят на CoffeeScript (да, он работает в ноде)
  • 3. Главная проблема всех сайтов - Бессистемно написанный джаваскрипт код. Профессия JavaScript-программиста востребована, и такие специалисты нужны.
  • 4. Пример: ВКонтакте Посмотрите на досуге: view-source:vk.com * Вообще не используются фреймворки, даже jQuery. * Инлайн джаваскрипт, джаваскрипт в аттрибутах onClick * Загажено глобальное пространство имён * Как оно вообще работает? * Чем меньше знаешь, тем проще жить
  • 5. Emberjs Минусы: - Неудобные шаблоны как в питоне и смарти Плюсы: Пока что не смотрел
  • 6. Backbone.js Минусы: - На каждую модель нужно создавать два “класса”: Item и ItemList. В Spinejs всё как в рельсах: один класс на каждую модель - __Очень__ много скобочек, слишком много - Слишком много хаков для написания когда JavaScript-кода “как во взрослом языке”. Код писать тяжело
  • 7. Что оно даёт: * Можно держать логику и шаблоны в браузере. Не происходит “размывание” логики по приложению. Особенности: * MTV вместо MVC * 2 “класса” на каждую модель * Часто используют с Underscore.js для рендеринга шаблонов в браузере
  • 8. Spinejs Особенности * Приемник Spinejs (в буквальном смысле) * Написано людьми, которые пишут на рельсах * Активно используются преимущества CoffeeScript’а * Очень похоже на рельсы. То же самое, только в браузере: есть шаблоны аля erb/haml, роутинг, контроллеры, модели и даже пакетный менеджер в зачаточном состоянии
  • 9. * Исправлены родовые травмы Backbonejs. Писать код гораздо проще * Нормальная документация
  • 10. Angularjs Минусы: - Inline javascript. Очень плохо. - Пишется гуглом. Гугл очень плохо себя показал как автор библиотек. Плюсы: - Оно простое - Проще использовать в примитивных приложениях