Если вы хотите создавать клиент-серверные веб-приложения, веб-сайты, скрипты, миниигры и вы еще не адепт JS, то ответ однозначно «Да». Если вы флэш разработчик и хочется вновь делать что-то, что запустится в браузере, я бы сказал «Да». Если вы просто хотите научиться программировать и еще не знаете ни одного языка, то Dart будет хорошим и приятным стартом. Под катом я постараюсь развернуть каждое утверждение.

12.13
Рейтинг
Dart *
Язык программирования, созданный Google
Сначала показывать
Порог рейтинга
Уровень сложности
Нужен ли мне Dart?
3 мин
13KПеревод
Я люблю Dart, это очень мощный язык для написания как клиентской, так и серверной части. На нём можно создавать и html-странички и html-игры, с использованием только DOM или с использованием WebGL/Canvas. Можно писать консольные текстовые игры, однажды, я создал на Dart многопользовательскую консольную игру, которая работала через telnet. Я использовал этот язык для создания скриптов, опроса и управления удалённым оборудованием и хранения результатов в БД, на основе которых можно было потом получить красивые графики.
-5
Асинхронное программирование в Dart (часть 1)
3 мин
17K
В данной серии статей я не буду касаться азов программирования на самом Dart, а коснусь вопросов асинхронности в Dart.
Библиотеки Dart полны функций, которые возвращают Future или Stream объекты. Эти функции асинхронны.
В документации читаем:
Future — подобен обещанию когда-то в будущем предоставить результат.
Stream — это способ получить последовательность значений, таких как, например, последовательность событий (поток).
Future и Stream входят в библиотеку dart:async, которую можно использовать как в скриптах веб-приложений, так и в скриптах, запускаемых из консоли.
Импортируем библиотеку так:
import 'dart:async';
+16
Троичный компьютер в браузере
8 мин
65K000. Предыстория
В 1959 году Н. П. Брусенцов разработал для МГУ уникальную вычислительную машину «Сетунь». Она была основана на троичной системе счисления и хотя элементная база была частично двоичной, что приводило к перерасходу деталей, машина зарекомендовала себя как экономичная и надёжная. Сегодня троичную машину можно увидеть разве что в музее, двоичный код победил.
Но, как я говорил ранее, всегда найдутся люди, готовые сохранять технологии прошлого в виде эмуляторов.
+104
Dart 1.9. Релиз, который вы ждали
1 мин
13KПеревод
Новый релиз по большей части посвящен упрощению асинхронного программирования. В современных приложениями оно везде — это взаимодействие с пользователем, с сетью, файловый I/O и т.д. Новый релиз Dart существенно упростил работу с такими сценариями, введя async/await.
+15
Dart для всего веба
3 мин
28KПеревод

От переводчика: 2 дня назад создатели языка Dart представили обновлённую стратегию развития языка в отношении веба, которая породила противоречивые дискуссии на популярных ресурсах (reddit, google plus). Вот текст этого анонса.
Мы сотрудничаем со множеством команд внутри и вне Google, которые ежедневно используют Dart для создания критически важных бизнес-приложений. Их отзывы совпадают: им нравится работать с Dart, его библиотеками и инструментами, а также они компилируют его в JS во время развёртывания веб приложений. Однако клиенты хотят лучшей интеграции с JS, а также более простой способ отладки и оптимизации приложений во всех современных браузерах. Мы выслушали все пожелания и сегодня представляем более сфокусированную стратегию Dart для веба.
+15
Яков Файн: «Мы не будем нанимать индийских программистов только потому, что они стоят половину»
8 мин
29KПредставляем четвертый выпуск подкаста о технологиях, процессах, инфраструктуре и людях в IT-компаниях. Сегодня в гостях у “CTOcast” — Яков Файн, сооснователь компаний Farata Systems и SuranceBay.
+10
Возможно, первая игра на 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
Первый стабильный SDK для Dart
2 мин
12K
Вместе с SDK под Windows/Mac/Linux выпущен более эффективный транслятор из Dart в Javascript, редактор кода Dart Editor и сборка Chromium с поддержкой Dart (браузер Dartium c Dart VM). Компания Google надеется, что в будущем нативная поддержка Dart появится во всех браузерах.
+24
Вклад авторов
Wriketeam 245.6Surf_Studio 181.1dmitriizolotov 155.0Friflex_dev 104.8bunopus 100.4sharpfellow 92.8mrDevGo 83.7alphamikle 81.0MADTeacher 72.6