Upload
anton-anokhin
View
23
Download
0
Embed Size (px)
Citation preview
1Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
Как после 5 лет Javascript я начал писать на DartИлья Таратухин30.11.2016
2Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
План действий
➔ Расскажу о себе; ➔ поговорим об особенностях перехода с JS на Dart;
➔ расскажу о проблемах, с которыми столкнулся;
➔ profit.
3Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
Докладчик
➙ Закончил НГТУ;
➙ 5+ лет в 2ГИС;
➙ 3+ мес в Wrike;
image
4Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
Опыт программирования
➔ Pascal, Delphi, C, C++; // В обучении
➔ Java, .NET, PHP, Python; // Первый опыт, до полугода
➔ JavaScript, ES6, NodeJS; // 5 лет
➔ Dart. // Сейчас (3+ месяца)
5Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
Особенности перехода с JS на Dart
6Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
ООП в Dart
➔ Dart is a class-based, single-inheritance, pure object-oriented programming language.
➔ Dart is optionally typed and supports reified generics.
7Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
ООП в Dart
➔ Одиночное наследование (extends);
➔ Абстрактные классы (abstract);
➔ Интерфейсы (implements);
➔ Миксины (with).
8Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
Коллекции
➔ List = массив в JS
➔ Map = Object в JS
9Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
Коллекции
➔ List = массив в JS
➔ Map = Object в JS
10Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
Коллекции
Iterable
➔ lodash не нужен
➔ lazy методы
➔ ситаксический сахар
11Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
Асинхронность
➔ Future/Completer (аналог Promise/Defered); ➔ async await;
➔ Future.delayed/Timer (аналог setTimeout);
➔ Stream.
12Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
Dart в браузере
HttpRequest
Обертки над нативными событиями
And more
Element
Подписка на события (Stream)
Timeout / Future
13Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
Как использовать JS библиотеки в Dart?
14Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
JS interop
➔ Описывает интерфейс JS сущности;
➔ обеспечивает доступ к
свойствам;
➔ позволяет вызывать функции;
➔ можно передавать Dart callback внутрь JS.
15Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
Проблемы, с которыми я столкнулся
➔ Interop сложно отлаживать; ➔ cообщество очень мало, часто на StackOverflow есть
интересующий вопрос, но нет ответа;
➔ экосистема находится в активной разработке;
➔ приходится доказывать, что Dart не мертв.
16Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
Profit
➔ Типизация просто необходима в большом Web-приложении;
➔ порог вхождения Dart возможно легче, чем в PHP/JS;
➔ нет существенных препятствий в использовании JS-библиотек;
➔ в современном frontend мы осваиваем скорее инструменты, а не языки.
17Как после 5 лет Javascript я начал писать на Dart, Илья Таратухин, 30.11.2016 slide Wrike
Вопросы?
Илья Таратухин@darkilfa