SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Dart — Светлая сторона
силы?
Михаил Давыдов
JavaScript разработчик группы разработки Веб-чатов



Web Standards Days, Екатеринбург, 28 апреля 2012
2
Проблемы JavaScript
1. Длительная инициализация
2. Любой объект === хэш
3. Манкипатчинг, eval




3
«Особенности» JavaScript
1. Прототипы и странное наследование
2. Магия с операторами, this,
  instanceof…
3. Мало синтаксического сахара
4. Нет вменяемых модулей


4
Задача — устранить
    проблемы JavaScript



5
Особенности Dart
1. Структурированный, но гибкий
2. Знакомый и естественный
3. Быстрый при старте и работе
4. Нацелен на все устройства



6
Структурированность
Интерфейсы: Map, List, Set, Queue...

// Более стукрурированный
Map items = new Map();
// Но гибкий
var items = {};
// Опциональный тип
String name = 'Dart';// var name =
7
Естественные классы
#library('Geometry');
class Rect {
    final num h, w;
    // короткий конструктор
    Rect(num this.w, num this.h);
}
class Square extends Rect {
   Square(num w): super(w, w);
}
8
Быстрый старт и работа
1. Декларативные классы
2. Нет eval и манкипатчинга
3. Разделение выполнения и
  инициализации
4. Разделяемая куча, Images


9
Мне кажется или



все очень хорошо?
10
Опциональные типы


Queue callbacks = new Queue();
callbacks = 1000; // IDE Warning
callbacks.add((x)=>x++); // Error!



11
Тип == документация

Queue callbacks = new Queue();
// фактически эквивалентно для JS
/**
 * @type {Queue}
 */
var callbacks = new Queue();


12
Привкус Java




AssertionError, Clock, Expect, FallThroughError,
Futures, Math, Object, Strings, TypeError,
Collection<E>, Comparable, Completer<T>, Date ,
double, Duration , Dynamic, Function, Future<T>...

13
if (Dart is VBScript)
        return JavaScript;




14
15
16
17
Это маловероятно




18
Dart-to-JavaScript?




19
Проблемы трансляции
1. Нет обратной совместимости
2. Лишний код и тормоза
3. Сложная отладка




20
Ни что не раздражает
     больше, чем новый язык
      программирования (с)



21
PROFIT от Dart для JS




22
Ленивая инициализация

LMD — Ленивая декларация модулей

 — Всего 250 байт === быстрый старт
 — Внедряется в Вебчате на Я.Почте



                   http://clck.ru/mEML
23
Callable Object
Object.createCallableObject =

function (f, proto) {
    for (var prop in proto)
        f[prop] = proto[prop];

     return f;
}

24
Именованные конструкторы
var LatLon = function (lat, lon){};
LatLon.fromString = function (coords){};

LatLon.fromString.prototype =
LatLon.prototype = {
    distanceTo: function (latLon){}
};

new LatLon(1, 2); // instanceof LatLon

new LatLon.fromString('1,2');
// instanceof LatLon
25
Обобщенные списки
var List = function (type) {
    if (this instanceof List) return [];
    var L = function () {this.items = []};

     L.prototype.push: function (item) {
         if (!type || item instanceof type) // or typeof
             return this.items.push(item);
     };
     return L;
};
new List(); // Array == []

// С типом
var list = new (List(Function))(); // Generic List
list.push(1); // Без изменений

26
Итого


 + Много возможностей
 - Дистрибуция
 = ???

     + Профит для JavaScript



27
Вопросы?




28
Михаил Давыдов
     JavaScript и Node.js разработчик

     azproduction@yandex-team.ru

     Twitter @azproduction

     Habr http://azproduction.habrahabr.ru

     GitHub https://github.com/azproduction



29

Mais conteúdo relacionado

Mais procurados

Поговорим о JavaScript, основы и современные тенденции развития языка
Поговорим о JavaScript, основы и современные тенденции развития языкаПоговорим о JavaScript, основы и современные тенденции развития языка
Поговорим о JavaScript, основы и современные тенденции развития языкаAlexander Kucherenko
 
Дмитрий Прокопцев — R-ссылки в С++11
Дмитрий Прокопцев — R-ссылки в С++11Дмитрий Прокопцев — R-ссылки в С++11
Дмитрий Прокопцев — R-ссылки в С++11Yandex
 
Дизайн больших приложений в ФП
Дизайн больших приложений в ФПДизайн больших приложений в ФП
Дизайн больших приложений в ФПAlexander Granin
 
Дмитрий Кашицын, Троллейбус из буханки: алиасинг и векторизация в LLVM
Дмитрий Кашицын, Троллейбус из буханки: алиасинг и векторизация в LLVMДмитрий Кашицын, Троллейбус из буханки: алиасинг и векторизация в LLVM
Дмитрий Кашицын, Троллейбус из буханки: алиасинг и векторизация в LLVMSergey Platonov
 
Полухин Антон, Как делать не надо: C++ велосипедостроение для профессионалов
Полухин Антон, Как делать не надо: C++ велосипедостроение для профессионаловПолухин Антон, Как делать не надо: C++ велосипедостроение для профессионалов
Полухин Антон, Как делать не надо: C++ велосипедостроение для профессионаловSergey Platonov
 
Никита Глушков, К вопросу о реализации кроссплатформенных фреймворков
Никита Глушков, К вопросу о реализации кроссплатформенных фреймворковНикита Глушков, К вопросу о реализации кроссплатформенных фреймворков
Никита Глушков, К вопросу о реализации кроссплатформенных фреймворковSergey Platonov
 
C++ refelection and cats
C++ refelection and catsC++ refelection and cats
C++ refelection and catscorehard_by
 
Павел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладкаПавел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладкаSergey Platonov
 
Функционально декларативный дизайн на C++
Функционально декларативный дизайн на C++Функционально декларативный дизайн на C++
Функционально декларативный дизайн на C++Alexander Granin
 
Память в Java. Garbage Collector
Память в Java. Garbage CollectorПамять в Java. Garbage Collector
Память в Java. Garbage CollectorOlexandra Dmytrenko
 
Объектно-ориентированное программирование. Лекция 5 и 6
Объектно-ориентированное программирование. Лекция 5 и 6Объектно-ориентированное программирование. Лекция 5 и 6
Объектно-ориентированное программирование. Лекция 5 и 6Dima Dzuba
 
Статический анализ кода
Статический анализ кода Статический анализ кода
Статический анализ кода Pavel Tsukanov
 
Объектно-Ориентированное Программирование на C++, Лекции 3 и 4
Объектно-Ориентированное Программирование на C++, Лекции  3 и 4 Объектно-Ориентированное Программирование на C++, Лекции  3 и 4
Объектно-Ориентированное Программирование на C++, Лекции 3 и 4 Dima Dzuba
 
Ecma script 6 in action
Ecma script 6 in actionEcma script 6 in action
Ecma script 6 in actionYuri Trukhin
 
Java осень 2014 занятие 3
Java осень 2014 занятие 3Java осень 2014 занятие 3
Java осень 2014 занятие 3Technopark
 
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2Dima Dzuba
 
Современный статический анализ кода: что умеет он, чего не умели линтеры
Современный статический анализ кода: что умеет он, чего не умели линтерыСовременный статический анализ кода: что умеет он, чего не умели линтеры
Современный статический анализ кода: что умеет он, чего не умели линтерыcorehard_by
 

Mais procurados (18)

Поговорим о JavaScript, основы и современные тенденции развития языка
Поговорим о JavaScript, основы и современные тенденции развития языкаПоговорим о JavaScript, основы и современные тенденции развития языка
Поговорим о JavaScript, основы и современные тенденции развития языка
 
Дмитрий Прокопцев — R-ссылки в С++11
Дмитрий Прокопцев — R-ссылки в С++11Дмитрий Прокопцев — R-ссылки в С++11
Дмитрий Прокопцев — R-ссылки в С++11
 
Дизайн больших приложений в ФП
Дизайн больших приложений в ФПДизайн больших приложений в ФП
Дизайн больших приложений в ФП
 
Дмитрий Кашицын, Троллейбус из буханки: алиасинг и векторизация в LLVM
Дмитрий Кашицын, Троллейбус из буханки: алиасинг и векторизация в LLVMДмитрий Кашицын, Троллейбус из буханки: алиасинг и векторизация в LLVM
Дмитрий Кашицын, Троллейбус из буханки: алиасинг и векторизация в LLVM
 
Полухин Антон, Как делать не надо: C++ велосипедостроение для профессионалов
Полухин Антон, Как делать не надо: C++ велосипедостроение для профессионаловПолухин Антон, Как делать не надо: C++ велосипедостроение для профессионалов
Полухин Антон, Как делать не надо: C++ велосипедостроение для профессионалов
 
Никита Глушков, К вопросу о реализации кроссплатформенных фреймворков
Никита Глушков, К вопросу о реализации кроссплатформенных фреймворковНикита Глушков, К вопросу о реализации кроссплатформенных фреймворков
Никита Глушков, К вопросу о реализации кроссплатформенных фреймворков
 
C++ refelection and cats
C++ refelection and catsC++ refelection and cats
C++ refelection and cats
 
Павел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладкаПавел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладка
 
Функционально декларативный дизайн на C++
Функционально декларативный дизайн на C++Функционально декларативный дизайн на C++
Функционально декларативный дизайн на C++
 
Память в Java. Garbage Collector
Память в Java. Garbage CollectorПамять в Java. Garbage Collector
Память в Java. Garbage Collector
 
Объектно-ориентированное программирование. Лекция 5 и 6
Объектно-ориентированное программирование. Лекция 5 и 6Объектно-ориентированное программирование. Лекция 5 и 6
Объектно-ориентированное программирование. Лекция 5 и 6
 
Статический анализ кода
Статический анализ кода Статический анализ кода
Статический анализ кода
 
Объектно-Ориентированное Программирование на C++, Лекции 3 и 4
Объектно-Ориентированное Программирование на C++, Лекции  3 и 4 Объектно-Ориентированное Программирование на C++, Лекции  3 и 4
Объектно-Ориентированное Программирование на C++, Лекции 3 и 4
 
Ecma script 6 in action
Ecma script 6 in actionEcma script 6 in action
Ecma script 6 in action
 
Java осень 2014 занятие 3
Java осень 2014 занятие 3Java осень 2014 занятие 3
Java осень 2014 занятие 3
 
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
 
Современный статический анализ кода: что умеет он, чего не умели линтеры
Современный статический анализ кода: что умеет он, чего не умели линтерыСовременный статический анализ кода: что умеет он, чего не умели линтеры
Современный статический анализ кода: что умеет он, чего не умели линтеры
 
JRebel
JRebelJRebel
JRebel
 

Destaque

Prism for International Students in Spring 2011
Prism for International Students in Spring 2011Prism for International Students in Spring 2011
Prism for International Students in Spring 2011Niji-no-Kai
 
BowmanCannovaNelson_FinalDistributionPlan
BowmanCannovaNelson_FinalDistributionPlanBowmanCannovaNelson_FinalDistributionPlan
BowmanCannovaNelson_FinalDistributionPlanEmma Nelson
 
Regional Workshop Progetti MER e REMIDA, 5 settembre 2014 - Gorizia
Regional Workshop Progetti MER e REMIDA, 5 settembre 2014 - Gorizia Regional Workshop Progetti MER e REMIDA, 5 settembre 2014 - Gorizia
Regional Workshop Progetti MER e REMIDA, 5 settembre 2014 - Gorizia Vanessa Sanson
 
Conferencia: CÓMO SACAR PARTIDO A LAS REDES SOCIALES EN EL COMERCIO LOCAL
Conferencia: CÓMO SACAR PARTIDO A LAS REDES SOCIALES EN EL COMERCIO LOCALConferencia: CÓMO SACAR PARTIDO A LAS REDES SOCIALES EN EL COMERCIO LOCAL
Conferencia: CÓMO SACAR PARTIDO A LAS REDES SOCIALES EN EL COMERCIO LOCALEOI Escuela de Organización Industrial
 
11g r2 upgrade_companion
11g r2 upgrade_companion11g r2 upgrade_companion
11g r2 upgrade_companionSherif Salama
 
¿Qué va primero, la vivienda o el empleo? - María José Aldanas
¿Qué va primero, la vivienda o el empleo? - María José Aldanas¿Qué va primero, la vivienda o el empleo? - María José Aldanas
¿Qué va primero, la vivienda o el empleo? - María José AldanasFEANTSA
 
Digitalisierung leicht gemacht - Keynote
Digitalisierung leicht gemacht - KeynoteDigitalisierung leicht gemacht - Keynote
Digitalisierung leicht gemacht - KeynoteDetlev Sandel
 
¿Qué significa la energía nuclear para Extremadura y España? - José Carlos An...
¿Qué significa la energía nuclear para Extremadura y España? - José Carlos An...¿Qué significa la energía nuclear para Extremadura y España? - José Carlos An...
¿Qué significa la energía nuclear para Extremadura y España? - José Carlos An...Women in Nuclear España
 
Presentación software aplicado
Presentación software aplicado Presentación software aplicado
Presentación software aplicado maritzaamaya18
 
Que son los Derivados
Que son los DerivadosQue son los Derivados
Que son los DerivadosMeliMelissa95
 
Perros potencialmente peligrosos solución creativa de problemas
Perros potencialmente peligrosos solución creativa de problemasPerros potencialmente peligrosos solución creativa de problemas
Perros potencialmente peligrosos solución creativa de problemaspaulamellay
 
Ciencia JuríDica
Ciencia JuríDicaCiencia JuríDica
Ciencia JuríDicaCvillegasg
 
Orchestration of Ethernet Services in Software-Defined and Flexible Heterogen...
Orchestration of Ethernet Services in Software-Defined and Flexible Heterogen...Orchestration of Ethernet Services in Software-Defined and Flexible Heterogen...
Orchestration of Ethernet Services in Software-Defined and Flexible Heterogen...ADVA
 
D21 1 internal transport chemicals_final-web
D21 1 internal transport chemicals_final-webD21 1 internal transport chemicals_final-web
D21 1 internal transport chemicals_final-webDir Jan
 
Hardverske komponente PC racunara
Hardverske komponente PC racunaraHardverske komponente PC racunara
Hardverske komponente PC racunarazornik
 
COMPONENTE NO ESTRUCTURAL, HOSPITALES SEGUROS FRENTE A DESASTRES, REFERENCI...
COMPONENTE NO ESTRUCTURAL,  HOSPITALES SEGUROS FRENTE A DESASTRES,  REFERENCI...COMPONENTE NO ESTRUCTURAL,  HOSPITALES SEGUROS FRENTE A DESASTRES,  REFERENCI...
COMPONENTE NO ESTRUCTURAL, HOSPITALES SEGUROS FRENTE A DESASTRES, REFERENCI...Alejandro Quiñonez
 

Destaque (20)

Prism for International Students in Spring 2011
Prism for International Students in Spring 2011Prism for International Students in Spring 2011
Prism for International Students in Spring 2011
 
BowmanCannovaNelson_FinalDistributionPlan
BowmanCannovaNelson_FinalDistributionPlanBowmanCannovaNelson_FinalDistributionPlan
BowmanCannovaNelson_FinalDistributionPlan
 
Regional Workshop Progetti MER e REMIDA, 5 settembre 2014 - Gorizia
Regional Workshop Progetti MER e REMIDA, 5 settembre 2014 - Gorizia Regional Workshop Progetti MER e REMIDA, 5 settembre 2014 - Gorizia
Regional Workshop Progetti MER e REMIDA, 5 settembre 2014 - Gorizia
 
Conferencia: CÓMO SACAR PARTIDO A LAS REDES SOCIALES EN EL COMERCIO LOCAL
Conferencia: CÓMO SACAR PARTIDO A LAS REDES SOCIALES EN EL COMERCIO LOCALConferencia: CÓMO SACAR PARTIDO A LAS REDES SOCIALES EN EL COMERCIO LOCAL
Conferencia: CÓMO SACAR PARTIDO A LAS REDES SOCIALES EN EL COMERCIO LOCAL
 
Portada
PortadaPortada
Portada
 
TUTORIAL COMO SUBIR UN VIDEO A YOUTUBE
TUTORIAL COMO SUBIR UN VIDEO A YOUTUBETUTORIAL COMO SUBIR UN VIDEO A YOUTUBE
TUTORIAL COMO SUBIR UN VIDEO A YOUTUBE
 
11g r2 upgrade_companion
11g r2 upgrade_companion11g r2 upgrade_companion
11g r2 upgrade_companion
 
¿Qué va primero, la vivienda o el empleo? - María José Aldanas
¿Qué va primero, la vivienda o el empleo? - María José Aldanas¿Qué va primero, la vivienda o el empleo? - María José Aldanas
¿Qué va primero, la vivienda o el empleo? - María José Aldanas
 
Digitalisierung leicht gemacht - Keynote
Digitalisierung leicht gemacht - KeynoteDigitalisierung leicht gemacht - Keynote
Digitalisierung leicht gemacht - Keynote
 
¿Qué significa la energía nuclear para Extremadura y España? - José Carlos An...
¿Qué significa la energía nuclear para Extremadura y España? - José Carlos An...¿Qué significa la energía nuclear para Extremadura y España? - José Carlos An...
¿Qué significa la energía nuclear para Extremadura y España? - José Carlos An...
 
Presentación software aplicado
Presentación software aplicado Presentación software aplicado
Presentación software aplicado
 
Que son los Derivados
Que son los DerivadosQue son los Derivados
Que son los Derivados
 
Calendario tributario 2015
Calendario tributario 2015Calendario tributario 2015
Calendario tributario 2015
 
Biblioterapia marília
Biblioterapia   maríliaBiblioterapia   marília
Biblioterapia marília
 
Perros potencialmente peligrosos solución creativa de problemas
Perros potencialmente peligrosos solución creativa de problemasPerros potencialmente peligrosos solución creativa de problemas
Perros potencialmente peligrosos solución creativa de problemas
 
Ciencia JuríDica
Ciencia JuríDicaCiencia JuríDica
Ciencia JuríDica
 
Orchestration of Ethernet Services in Software-Defined and Flexible Heterogen...
Orchestration of Ethernet Services in Software-Defined and Flexible Heterogen...Orchestration of Ethernet Services in Software-Defined and Flexible Heterogen...
Orchestration of Ethernet Services in Software-Defined and Flexible Heterogen...
 
D21 1 internal transport chemicals_final-web
D21 1 internal transport chemicals_final-webD21 1 internal transport chemicals_final-web
D21 1 internal transport chemicals_final-web
 
Hardverske komponente PC racunara
Hardverske komponente PC racunaraHardverske komponente PC racunara
Hardverske komponente PC racunara
 
COMPONENTE NO ESTRUCTURAL, HOSPITALES SEGUROS FRENTE A DESASTRES, REFERENCI...
COMPONENTE NO ESTRUCTURAL,  HOSPITALES SEGUROS FRENTE A DESASTRES,  REFERENCI...COMPONENTE NO ESTRUCTURAL,  HOSPITALES SEGUROS FRENTE A DESASTRES,  REFERENCI...
COMPONENTE NO ESTRUCTURAL, HOSPITALES SEGUROS FRENTE A DESASTRES, REFERENCI...
 

Semelhante a Dart - светлая сторона силы?

Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Yandex
 
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Yandex
 
C++ осень 2013 лекция 4
C++ осень 2013 лекция 4C++ осень 2013 лекция 4
C++ осень 2013 лекция 4Technopark
 
Scala, SBT & Play! for Rapid Application Development
Scala, SBT & Play! for Rapid Application DevelopmentScala, SBT & Play! for Rapid Application Development
Scala, SBT & Play! for Rapid Application DevelopmentAnton Kirillov
 
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Yandex
 
Roslyn API : SyntaxTree vs CodeDom, SemanticModel vs Reflection
Roslyn API: SyntaxTree vs CodeDom, SemanticModel vs ReflectionRoslyn API: SyntaxTree vs CodeDom, SemanticModel vs Reflection
Roslyn API : SyntaxTree vs CodeDom, SemanticModel vs ReflectionDenis Tsvettsih
 
Clojure: Lisp for the modern world (русская версия)
Clojure: Lisp for the modern world (русская версия)Clojure: Lisp for the modern world (русская версия)
Clojure: Lisp for the modern world (русская версия)Alex Ott
 
Scala EE: Myth or Reality?
Scala EE: Myth or Reality?Scala EE: Myth or Reality?
Scala EE: Myth or Reality?Marat Akhin
 
Зачем нужна Scala?
Зачем нужна Scala?Зачем нужна Scala?
Зачем нужна Scala?Vasil Remeniuk
 
C++ осень 2012 лекция 9
C++ осень 2012 лекция 9C++ осень 2012 лекция 9
C++ осень 2012 лекция 9Technopark
 
Convert this: peculiarities of cross-platform mobile game development at Vizor
Convert this: peculiarities of cross-platform mobile game development at VizorConvert this: peculiarities of cross-platform mobile game development at Vizor
Convert this: peculiarities of cross-platform mobile game development at VizorDevGAMM Conference
 
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...Magneta AI
 
C# Desktop. Занятие 07.
C# Desktop. Занятие 07.C# Desktop. Занятие 07.
C# Desktop. Занятие 07.Igor Shkulipa
 
Павел Павлов - Scala для профессионалов - Joker 2013
Павел Павлов - Scala для профессионалов - Joker 2013Павел Павлов - Scala для профессионалов - Joker 2013
Павел Павлов - Scala для профессионалов - Joker 2013ScalaNsk
 
Обзор ES2015(ES6)
Обзор ES2015(ES6)Обзор ES2015(ES6)
Обзор ES2015(ES6)Alex Filatov
 
Java весна 2013 лекция 9
Java весна 2013 лекция 9Java весна 2013 лекция 9
Java весна 2013 лекция 9Technopark
 

Semelhante a Dart - светлая сторона силы? (20)

Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"
 
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"
 
Bytecode
BytecodeBytecode
Bytecode
 
C++ осень 2013 лекция 4
C++ осень 2013 лекция 4C++ осень 2013 лекция 4
C++ осень 2013 лекция 4
 
Scala, SBT & Play! for Rapid Application Development
Scala, SBT & Play! for Rapid Application DevelopmentScala, SBT & Play! for Rapid Application Development
Scala, SBT & Play! for Rapid Application Development
 
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
 
Scala for android
Scala for androidScala for android
Scala for android
 
Roslyn API : SyntaxTree vs CodeDom, SemanticModel vs Reflection
Roslyn API: SyntaxTree vs CodeDom, SemanticModel vs ReflectionRoslyn API: SyntaxTree vs CodeDom, SemanticModel vs Reflection
Roslyn API : SyntaxTree vs CodeDom, SemanticModel vs Reflection
 
Clojure: Lisp for the modern world (русская версия)
Clojure: Lisp for the modern world (русская версия)Clojure: Lisp for the modern world (русская версия)
Clojure: Lisp for the modern world (русская версия)
 
Scala EE: Myth or Reality?
Scala EE: Myth or Reality?Scala EE: Myth or Reality?
Scala EE: Myth or Reality?
 
Зачем нужна Scala?
Зачем нужна Scala?Зачем нужна Scala?
Зачем нужна Scala?
 
Расширение библиотеки Slick
Расширение библиотеки SlickРасширение библиотеки Slick
Расширение библиотеки Slick
 
C++ осень 2012 лекция 9
C++ осень 2012 лекция 9C++ осень 2012 лекция 9
C++ осень 2012 лекция 9
 
Convert this: peculiarities of cross-platform mobile game development at Vizor
Convert this: peculiarities of cross-platform mobile game development at VizorConvert this: peculiarities of cross-platform mobile game development at Vizor
Convert this: peculiarities of cross-platform mobile game development at Vizor
 
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
 
C# Desktop. Занятие 07.
C# Desktop. Занятие 07.C# Desktop. Занятие 07.
C# Desktop. Занятие 07.
 
Павел Павлов - Scala для профессионалов - Joker 2013
Павел Павлов - Scala для профессионалов - Joker 2013Павел Павлов - Scala для профессионалов - Joker 2013
Павел Павлов - Scala для профессионалов - Joker 2013
 
Обзор ES2015(ES6)
Обзор ES2015(ES6)Обзор ES2015(ES6)
Обзор ES2015(ES6)
 
Java весна 2013 лекция 9
Java весна 2013 лекция 9Java весна 2013 лекция 9
Java весна 2013 лекция 9
 
Scala on android
Scala on androidScala on android
Scala on android
 

Mais de Mikhail Davydov

Components now! (in russian)
Components now! (in russian)Components now! (in russian)
Components now! (in russian)Mikhail Davydov
 
JavaScript. Event Model (in russian)
JavaScript. Event Model (in russian)JavaScript. Event Model (in russian)
JavaScript. Event Model (in russian)Mikhail Davydov
 
Ajax and Transports (in russian)
Ajax and Transports (in russian)Ajax and Transports (in russian)
Ajax and Transports (in russian)Mikhail Davydov
 
Introduction in Node.js (in russian)
Introduction in Node.js (in russian)Introduction in Node.js (in russian)
Introduction in Node.js (in russian)Mikhail Davydov
 
JavaScript. Loops and functions (in russian)
JavaScript. Loops and functions (in russian)JavaScript. Loops and functions (in russian)
JavaScript. Loops and functions (in russian)Mikhail Davydov
 
JavaScript. OOP (in russian)
JavaScript. OOP (in russian)JavaScript. OOP (in russian)
JavaScript. OOP (in russian)Mikhail Davydov
 
JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)Mikhail Davydov
 
Modules and assembling of JavaScript (in russian)
Modules and assembling of JavaScript (in russian)Modules and assembling of JavaScript (in russian)
Modules and assembling of JavaScript (in russian)Mikhail Davydov
 
JavaScript. Introduction (in russian)
JavaScript. Introduction (in russian)JavaScript. Introduction (in russian)
JavaScript. Introduction (in russian)Mikhail Davydov
 
JavaScript. Basics (in russian)
JavaScript. Basics (in russian)JavaScript. Basics (in russian)
JavaScript. Basics (in russian)Mikhail Davydov
 
JavaScript. Async (in Russian)
JavaScript. Async (in Russian)JavaScript. Async (in Russian)
JavaScript. Async (in Russian)Mikhail Davydov
 
JavaScript on frontend and backend (in Russian
JavaScript on frontend and backend (in RussianJavaScript on frontend and backend (in Russian
JavaScript on frontend and backend (in RussianMikhail Davydov
 
Dump-IT Загрузка и инициализация JavaScript
Dump-IT Загрузка и инициализация JavaScriptDump-IT Загрузка и инициализация JavaScript
Dump-IT Загрузка и инициализация JavaScriptMikhail Davydov
 
Making Scalable JavaScript Application
Making Scalable JavaScript ApplicationMaking Scalable JavaScript Application
Making Scalable JavaScript ApplicationMikhail Davydov
 

Mais de Mikhail Davydov (16)

Components now! (in russian)
Components now! (in russian)Components now! (in russian)
Components now! (in russian)
 
JavaScript. Event Model (in russian)
JavaScript. Event Model (in russian)JavaScript. Event Model (in russian)
JavaScript. Event Model (in russian)
 
Code Style (in russian)
Code Style (in russian)Code Style (in russian)
Code Style (in russian)
 
Ajax and Transports (in russian)
Ajax and Transports (in russian)Ajax and Transports (in russian)
Ajax and Transports (in russian)
 
Introduction in Node.js (in russian)
Introduction in Node.js (in russian)Introduction in Node.js (in russian)
Introduction in Node.js (in russian)
 
JavaScript. Loops and functions (in russian)
JavaScript. Loops and functions (in russian)JavaScript. Loops and functions (in russian)
JavaScript. Loops and functions (in russian)
 
JavaScript. OOP (in russian)
JavaScript. OOP (in russian)JavaScript. OOP (in russian)
JavaScript. OOP (in russian)
 
JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)
 
Modules and assembling of JavaScript (in russian)
Modules and assembling of JavaScript (in russian)Modules and assembling of JavaScript (in russian)
Modules and assembling of JavaScript (in russian)
 
JavaScript. Introduction (in russian)
JavaScript. Introduction (in russian)JavaScript. Introduction (in russian)
JavaScript. Introduction (in russian)
 
JavaScript. Basics (in russian)
JavaScript. Basics (in russian)JavaScript. Basics (in russian)
JavaScript. Basics (in russian)
 
JavaScript. Async (in Russian)
JavaScript. Async (in Russian)JavaScript. Async (in Russian)
JavaScript. Async (in Russian)
 
JavaScript on frontend and backend (in Russian
JavaScript on frontend and backend (in RussianJavaScript on frontend and backend (in Russian
JavaScript on frontend and backend (in Russian
 
Components now!
Components now! Components now!
Components now!
 
Dump-IT Загрузка и инициализация JavaScript
Dump-IT Загрузка и инициализация JavaScriptDump-IT Загрузка и инициализация JavaScript
Dump-IT Загрузка и инициализация JavaScript
 
Making Scalable JavaScript Application
Making Scalable JavaScript ApplicationMaking Scalable JavaScript Application
Making Scalable JavaScript Application
 

Dart - светлая сторона силы?