Представляем четвертый выпуск подкаста о технологиях, процессах, инфраструктуре и людях в IT-компаниях. Сегодня в гостях у “CTOcast” — Яков Файн, сооснователь компаний Farata Systems и SuranceBay.

18.26
Рейтинг
Dart *
Язык программирования, созданный Google
Сначала показывать
Порог рейтинга
Уровень сложности
Возможно, первая игра на Dart + Box2D
4 мин
13KНа Хабре не слишком много статей, посвященных языку программирования Dart, зато полным полно статей о недоделанных или с трудом доделанных играх, а также о том, как из первых сделать вторые. Данная статья будет смесью этих двух тем.
Дело обстояло так: мы с моим старым другом уже не первый год занимаемся разработкой. Игра, о которой пойдет речь в статье, уже далеко не первая, которую мы пытались сделать, но первая, с которой это удалось. После почти десятка неудавшихся попыток сделать игру мы наконец-то смогли объективно оценить свои силы и решили сделать головоломку. Жанр игр сам по себе несложный, но то, что мы задумали, было куда сложнее и не похоже ни на одну из игр, представленных в каталогах ВК и ФБ в этом жанре. Для того, чтобы совсем не осталось шансов закончить игру, решили использовать те технологии, которые никогда в глаза не видели — Dart + Box2d.
Дело обстояло так: мы с моим старым другом уже не первый год занимаемся разработкой. Игра, о которой пойдет речь в статье, уже далеко не первая, которую мы пытались сделать, но первая, с которой это удалось. После почти десятка неудавшихся попыток сделать игру мы наконец-то смогли объективно оценить свои силы и решили сделать головоломку. Жанр игр сам по себе несложный, но то, что мы задумали, было куда сложнее и не похоже ни на одну из игр, представленных в каталогах ВК и ФБ в этом жанре. Для того, чтобы совсем не осталось шансов закончить игру, решили использовать те технологии, которые никогда в глаза не видели — Dart + Box2d.
+16
В одной упряжке Polymer’ы, Dart и Firebase
8 мин
8.9KНедавно появилась информация о том, что Google приобрел облачный сервис Firebase. На хабре информации о Firebase не особо много, а сервис выглядит очень интересно, как минимум для быстрого прототипирования или использования в качестве буфера для активных данных.
FireBase — это облачная NoSQL БД для real-time приложений. То есть, ваши данные хранятся в облаке, которое готово почти к любым нагрузкам. Ваши данные моментально обновляются на всех клиентах, которые подключены к FireBase и подписаны на информацию об обновлениях. Совершенно отпадает необходимость строить сложную систему с использованием веб-сокетов для обмена данными между сервером и клиентами в реальном времени. Вы просто подключаете JS-файл на страницу и настраиваете CallBack на события изменения данных. Все – дальше FireBase будет самостоятельно следить за данными и отдавать их пользователям. Причем, происходит это почти мгновенно! А еще с FireBase можно создавать веб-приложения, для которых вообще не потребуется собственный сервер. При этом для небольших сервисов использование FireBase совершенно бесплатно. Кроме этого, Firebase предоставляет установку прав доступа к частям данных на базе JS-выражений, транзакции (в отличие от MongoDB) и имеет встроенный функционал авторизации пользователей по электронной почте и паролю, а также авторизации с помощью сторонних поставщиков (OAuth), таких как Facebook, Twitter, GitHub, и Google.

Взглянув, как это работает, появилось желание переписать тьюториал на Dart.
FireBase — это облачная NoSQL БД для real-time приложений. То есть, ваши данные хранятся в облаке, которое готово почти к любым нагрузкам. Ваши данные моментально обновляются на всех клиентах, которые подключены к FireBase и подписаны на информацию об обновлениях. Совершенно отпадает необходимость строить сложную систему с использованием веб-сокетов для обмена данными между сервером и клиентами в реальном времени. Вы просто подключаете JS-файл на страницу и настраиваете CallBack на события изменения данных. Все – дальше FireBase будет самостоятельно следить за данными и отдавать их пользователям. Причем, происходит это почти мгновенно! А еще с FireBase можно создавать веб-приложения, для которых вообще не потребуется собственный сервер. При этом для небольших сервисов использование FireBase совершенно бесплатно. Кроме этого, Firebase предоставляет установку прав доступа к частям данных на базе JS-выражений, транзакции (в отличие от MongoDB) и имеет встроенный функционал авторизации пользователей по электронной почте и паролю, а также авторизации с помощью сторонних поставщиков (OAuth), таких как Facebook, Twitter, GitHub, и Google.

Взглянув, как это работает, появилось желание переписать тьюториал на Dart.
+3
Простой websocket-чат на Dart
9 мин
15KЗдравствуйте!
В этой статье я хочу описать создание простого websocket-чата на Dart с целью показать, как работать с вебсокетами в Dart. Код приложения доступен на github, а пример его работы можно посмотреть здесь: http://simplechat.rudart.in.
Приложение будет состоять из двух частей: сервера и клиента. Серверную часть мы разберем очень подробно, а из клиентской рассмотрим только то, что отвечает за работу с соединением.
Требования к приложению очень простые — отправка сообщений от пользователя всем или только выбранным участникам чата.
В этой статье я хочу описать создание простого websocket-чата на Dart с целью показать, как работать с вебсокетами в Dart. Код приложения доступен на github, а пример его работы можно посмотреть здесь: http://simplechat.rudart.in.
Приложение будет состоять из двух частей: сервера и клиента. Серверную часть мы разберем очень подробно, а из клиентской рассмотрим только то, что отвечает за работу с соединением.
Требования к приложению очень простые — отправка сообщений от пользователя всем или только выбранным участникам чата.
+5
Истории
Автор Dart: «Нужно больше языков веб-программирования»
2 мин
6.5KВеб-приложения могут превзойти нативные программы по функциям и удобству использования. Но для этого нужно, чтобы у разработчиков был выбор языков программирования. Такую точку зрения высказал Гилад Браха (Gilad Bracha) из компании Google, один из авторов языка программирования Dart, в выступлении 11 июня на конференции для разработчиков QCon в Нью-Йорке.
Гилад Браха уверен, что приложения должны обязательно работать на веб-платформе, иначе «проприетарные каталоги приложений придут и съедят всех нас». Проблема только в том, что веб-приложения не работают в офлайне. Поэтому будущие языки веб-программирования и экосистема должны поддерживать работу программ в офлайновом режиме, а также облегчить создание и отладку приложений.
Автор Dart назвал несколько малоизвестных экспериментальных языков веб-программирования.
Гилад Браха уверен, что приложения должны обязательно работать на веб-платформе, иначе «проприетарные каталоги приложений придут и съедят всех нас». Проблема только в том, что веб-приложения не работают в офлайне. Поэтому будущие языки веб-программирования и экосистема должны поддерживать работу программ в офлайновом режиме, а также облегчить создание и отладку приложений.
Автор Dart назвал несколько малоизвестных экспериментальных языков веб-программирования.
0
Для чего в Dart метаданные
2 мин
4KПоковырял ещё некоторое время в Dart, идея хорошая, но многие вещи, так скажем, не понятны.
Хочу обсудить концепцию метаданных. Которой я всё пытался найти применение и мне кажется в ней что-то есть, но реализация доступа к метаданным — из рук вон плоха. Особенно для нового языка, который должен был учесть существующий опыт и т.д. и т.п.

Хочу обсудить концепцию метаданных. Которой я всё пытался найти применение и мне кажется в ней что-то есть, но реализация доступа к метаданным — из рук вон плоха. Особенно для нового языка, который должен был учесть существующий опыт и т.д. и т.п.

-5
Dart 1.1 стал на 25% быстрее, сравнялся с идиоматическим JavaScript и теперь подходит для серверов
1 мин
15KДва месяца назад компания Google выпустила первую стабильную версию языка программирования Dart 1.0, который позиционируется как альтернатива JavaScript. При всей своей простоте для написания маленьких скриптов, с помощью Dart можно создавать и сложные модульные веб-приложения, использовать библиотеки, дебаггеры, редакторы кода и другой инструментарий. Веб-разработка становится проще и удобнее.
16 января была официально представлена новая версия Dart 1.1 с повышенной скоростью выполнения скомпилированного JavaScript-кода. Например, в тесте Richards производительность выросла на 25%, по сравнению с первой версией.

16 января была официально представлена новая версия Dart 1.1 с повышенной скоростью выполнения скомпилированного JavaScript-кода. Например, в тесте Richards производительность выросла на 25%, по сравнению с первой версией.

+25
Клеточные автоматы на Dart
8 мин
18KРеализация классического клеточного автомата — конуээвской «Жизни» — это такая же задачка для начинающего программиста, как для радиотехника — спаять простейший радиоприемник. Для тех кто не знает, что такое «Жизнь», прочитайте эту статью: Википедия: Жизнь (игра).
Напомню правила: действие происходит на клеточном поле. Каждая клетка имеет 8 соседей — клетки, примыкающие к ней сторонами или углами. В начале игры некоторые клетки заполнены, образуя начальный организм, остальные — пусты. Эволюция происходит так: в следующем поколении очищаются все заполненные клетки, имеющие менее 2 или более 3 соседей и заполняются пустые, имеющие ровно 3 соседа.
После того, как поиграешь с интересными конфигурациями, становится немного скучно. В самом деле, за 40 лет все, что можно описано, разжевано на сотнях страниц различных статей и книг. Найти что-то новое и интересное сложно. Тогда возникает желание поменять правила — а вдруг новые организмы будут вести себя совершенно по-иному?

Здесь вы можете сразу посмотреть демо.
Напомню правила: действие происходит на клеточном поле. Каждая клетка имеет 8 соседей — клетки, примыкающие к ней сторонами или углами. В начале игры некоторые клетки заполнены, образуя начальный организм, остальные — пусты. Эволюция происходит так: в следующем поколении очищаются все заполненные клетки, имеющие менее 2 или более 3 соседей и заполняются пустые, имеющие ровно 3 соседа.
После того, как поиграешь с интересными конфигурациями, становится немного скучно. В самом деле, за 40 лет все, что можно описано, разжевано на сотнях страниц различных статей и книг. Найти что-то новое и интересное сложно. Тогда возникает желание поменять правила — а вдруг новые организмы будут вести себя совершенно по-иному?

Здесь вы можете сразу посмотреть демо.
+32
Google выкатила замену Javascript — язык Dart
2 мин
79KТех, кто так долго ждал этого, я могу поздравить. Тем, кто совсем не ждал, мне сказать нечего, ведь это всё равно свершилось. Сегодня (15 ноября) Google представила первую стабильную версию языка программирования Dart.
+54
Dart перешел на стадию бета-тестирования и не только…
1 мин
13K
Итак, на этой неделе Dart перешел в состояние бета-тестирования. Существенное обновление затронуло как SDK, так и Dart Editor.
Основные изменения:
- dart2js — увеличение скорости до 20%
- Dart VM — увеличение скорости до 40%
- Добавлена команда deploy в пакетный менеджер pub.
Полный список дополнений можно прочитать на официальном сайте.
+24
+6
Dart + WebGL так ли вкусны печеньки на тёмной стороне
5 мин
20KТуториал

История развития веб-приложений очень сильно напоминает жизнь Энакена Скайуокера. Лет 15 назад они были слабыми и неуклюжими. Но вот прошло время, тестостерон бьёт в голову и наш “Энакен” падает в раскалённую лаву требований к качеству и функциональности браузерных программ. Своей единственной уцелевшей джаваскриптой он подгребает под себя землю. Здесь внимательный читатель заметит, что так мы далеко не уползём. Неожиданный, а на самом деле вполне закономерный сюжетный поворот и на сцене появляется спаситель Dart. Давайте попробуем встать на его сторону.
+24
Dart: веб-компоненты в действии
3 мин
12K
Веб-компоненты — новый веб стандарт, разрабатываемый Google. Некоторые считают, что он должен стать трендом в ближайшее время. И я, попробовав его в деле, пожалуй соглашусь с таким мнением.
Подробное описание стандарта: habrahabr.ru/post/152001
Разработчики дарта не стали ждать и начали реализовывать поддержку веб-компонентов уже сейчас. После того как я об этом узнал, мой интерес к дарту усилился в двойне. Изучив статью с примерами, мне показалось что с веб-компонентами можно творить чудеса:
- количество кода уменьшается,
- из кода убираются DOM-манипуляции,
- в коде остается только логика.
+21
Ближайшие события

17 февраля – 24 марта
Онлайн
Больше событий в календаре
Разработка

Больше событий в календаре
Разработка
Менеджмент
Аналитика

Больше событий в календаре
Разработка
Администрирование

Больше событий в календаре
Разработка
Администрирование

Больше событий в календаре
Менеджмент
Маркетинг
Другое

Больше событий в календаре
Разработка
Администрирование
Менеджмент

Больше событий в календаре
Разработка
Маркетинг
Другое
Первый стабильный SDK для Dart
2 мин
12K
Вместе с SDK под Windows/Mac/Linux выпущен более эффективный транслятор из Dart в Javascript, редактор кода Dart Editor и сборка Chromium с поддержкой Dart (браузер Dartium c Dart VM). Компания Google надеется, что в будущем нативная поддержка Dart появится во всех браузерах.
+24
Vader — простой логгер для Dart
3 мин
8.1K
+4
Характерные особенности языка Dart
8 мин
20KТуториал
Перевод

Эта статья поможет вам научиться писать код в стиле Dart. Так как язык всё ещё активно развивается, многие идиомы тоже могут измениться в будущем. В некоторых местах мы пока сами не определились, что является наилучшей практикой (может быть вы нам поможете?) Тем не менее, вот несколько моментов, на которые стоит обратить внимание, чтобы переключить свои мозги из режима Java или JavaScript в режим Dart.
+61
Вклад авторов
Wriketeam 245.6Surf_Studio 166.1dmitriizolotov 155.0bunopus 100.4sharpfellow 92.8Friflex_dev 92.8alphamikle 81.0MADTeacher 76.6mrDevGo 75.7