Как стать автором
Обновить
17.69

Dart *

Язык программирования, созданный Google

Сначала показывать
Порог рейтинга
Уровень сложности

Чем плох JavaScript в большом проекте? С какими проблемами мы столкнулись и как их решали

Время на прочтение1 мин
Количество просмотров42K


Почему определенные недостатки языка JavaScript в реалиях разработки такого большого проекта, как наш, оказываются критическими? Как решить проблемы JS, когда количество кода превышает 2 млн строк, а команда насчитывает более 20 человек и постоянно растет? Об этом — в докладе фронтенд тимлида Wrike в рамках митапа, проведенного в нашем офисе совместно с сообществом Piter JS.

Смотреть
Всего голосов 35: ↑20 и ↓15+5
Комментарии67

Создаём RESTful API с помощью Dart за несколько минут

Время на прочтение3 мин
Количество просмотров14K


Примечание переводчика: хотелось бы предоставить читателям еще один повод взглянуть на замечательный язык программирования Dart, на этот раз речь пойдёт о том как быстро и легко создавать RESTful API. Для тех, кто не в курсе, здесь понятно описано что это такое.
А тем, кто в курсе, добро пожаловать под кат.
Читать дальше →
Всего голосов 36: ↑14 и ↓22-8
Комментарии23

Сравнение процесса перехода Angular2 приложения до версии beta.0 на языках Dart и TypeScript

Время на прочтение5 мин
Количество просмотров8.6K
Примечание от переводчика: перевести эту статью меня побудила запись в соц сети от автора, запись была следующего содержания: "#Angular2 для #dartlang 11.7 KB меньше чем JS версия. Я выжал что мог из обоих.". Меня это ошеломило, как так, транслируемый язык, который тянет хаки для собственной работы, кроссбраузерность и еще кучу библиотек помимо Angular, и после уродования и минификации обоих вариантов побеждает не JS. Это же так естественно, что за удобство языка приходится платить размером и скоростью работы результата. В синтетических тестах результат трансляции опережает по производительности чистый JS, в реальной работе разница в производительности незаметна. Итого получается, размер собранного Dart-проекта будет примерно равен JS-проекту, скорость работы примерно одинакова. Последнее обновление Dart позволяет в несколько строк подключить любую JS-библиотеку. А писать на Dart это одно удовольствие. Последнее утверждение частично раскрывается переведённой статьёй, приятного чтения.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии25

Meet-up «Продуктивная работа фронтенд-разработчика в условиях поддержки legacy-кода»: переход на Dart

Время на прочтение1 мин
Количество просмотров5.4K


Недавно в компании Wrike прошла встреча фронтенд-разработчиков. Спикеры из IT-компаний Петербурга и Москвы поделились своими решениями, помогающими облегчить работу со старым кодом, который имеет свойство накапливаться в течение жизненного цикла продукта, отвлекая от новых бизнес-задач. Отдельная часть докладов была посвящена языку Dart, а также причинам, пожиданиям и непосредственно самому процессу перехода с JavaScript на Dart. Делимся видеозаписями и презентациями самых интересных докладов. Часть 1.

Смотреть
Всего голосов 8: ↑6 и ↓2+4
Комментарии0

Истории

Быстрейший старт с Angular 2(beta) и Dart

Время на прочтение1 мин
Количество просмотров7.2K
На днях появилась статья про быстрый старт с Angular 2. Заголовок говорил что понадобится 5 минут, но, судя по комментариям, не я один даже прочитать статью за 5 минут не смог. Хочу предложить вам альтернативный вариант, он действительно займёт примерно 5 минут не считая времени скачивания нужных инструментов.
Читать дальше →
Всего голосов 19: ↑9 и ↓10-1
Комментарии9

Другой ответ на вопрос «Нужен ли мне Dart?»

Время на прочтение3 мин
Количество просмотров18K
Если вы хотите создавать клиент-серверные веб-приложения, веб-сайты, скрипты, миниигры и вы еще не адепт JS, то ответ однозначно «Да». Если вы флэш разработчик и хочется вновь делать что-то, что запустится в браузере, я бы сказал «Да». Если вы просто хотите научиться программировать и еще не знаете ни одного языка, то Dart будет хорошим и приятным стартом. Под катом я постараюсь развернуть каждое утверждение.
Читать дальше →
Всего голосов 27: ↑16 и ↓11+5
Комментарии3

Нужен ли мне Dart?

Время на прочтение3 мин
Количество просмотров13K
Я люблю Dart, это очень мощный язык для написания как клиентской, так и серверной части. На нём можно создавать и html-странички и html-игры, с использованием только DOM или с использованием WebGL/Canvas. Можно писать консольные текстовые игры, однажды, я создал на Dart многопользовательскую консольную игру, которая работала через telnet. Я использовал этот язык для создания скриптов, опроса и управления удалённым оборудованием и хранения результатов в БД, на основе которых можно было потом получить красивые графики.
Читать дальше →
Всего голосов 15: ↑5 и ↓10-5
Комментарии16

Асинхронное программирование в Dart (часть 1)

Время на прочтение3 мин
Количество просмотров17K
image

В данной серии статей я не буду касаться азов программирования на самом Dart, а коснусь вопросов асинхронности в Dart.

Библиотеки Dart полны функций, которые возвращают Future или Stream объекты. Эти функции асинхронны.

В документации читаем:

Future — подобен обещанию когда-то в будущем предоставить результат.
Stream — это способ получить последовательность значений, таких как, например, последовательность событий (поток).

Future и Stream входят в библиотеку dart:async, которую можно использовать как в скриптах веб-приложений, так и в скриптах, запускаемых из консоли.

Импортируем библиотеку так:

import 'dart:async';

Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии12

Троичный компьютер в браузере

Время на прочтение8 мин
Количество просмотров65K

000. Предыстория


В 1959 году Н. П. Брусенцов разработал для МГУ уникальную вычислительную машину «Сетунь». Она была основана на троичной системе счисления и хотя элементная база была частично двоичной, что приводило к перерасходу деталей, машина зарекомендовала себя как экономичная и надёжная. Сегодня троичную машину можно увидеть разве что в музее, двоичный код победил.

Но, как я говорил ранее, всегда найдутся люди, готовые сохранять технологии прошлого в виде эмуляторов.
Приступим.
Всего голосов 110: ↑107 и ↓3+104
Комментарии96

Dart 1.9. Релиз, который вы ждали

Время на прочтение1 мин
Количество просмотров13K
Новый релиз по большей части посвящен упрощению асинхронного программирования. В современных приложениями оно везде — это взаимодействие с пользователем, с сетью, файловый I/O и т.д. Новый релиз Dart существенно упростил работу с такими сценариями, введя async/await.
Читать дальше →
Всего голосов 21: ↑18 и ↓3+15
Комментарии18

Dart для всего веба

Время на прочтение3 мин
Количество просмотров28K


От переводчика: 2 дня назад создатели языка Dart представили обновлённую стратегию развития языка в отношении веба, которая породила противоречивые дискуссии на популярных ресурсах (reddit, google plus). Вот текст этого анонса.

Мы сотрудничаем со множеством команд внутри и вне Google, которые ежедневно используют Dart для создания критически важных бизнес-приложений. Их отзывы совпадают: им нравится работать с Dart, его библиотеками и инструментами, а также они компилируют его в JS во время развёртывания веб приложений. Однако клиенты хотят лучшей интеграции с JS, а также более простой способ отладки и оптимизации приложений во всех современных браузерах. Мы выслушали все пожелания и сегодня представляем более сфокусированную стратегию Dart для веба.
Читать дальше →
Всего голосов 23: ↑19 и ↓4+15
Комментарии41

Яков Файн: «Мы не будем нанимать индийских программистов только потому, что они стоят половину»

Время на прочтение8 мин
Количество просмотров29K
Представляем четвертый выпуск подкаста о технологиях, процессах, инфраструктуре и людях в IT-компаниях. Сегодня в гостях у “CTOcast” — Яков Файн, сооснователь компаний Farata Systems и SuranceBay.
Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии4

Возможно, первая игра на Dart + Box2D

Время на прочтение4 мин
Количество просмотров13K
На Хабре не слишком много статей, посвященных языку программирования Dart, зато полным полно статей о недоделанных или с трудом доделанных играх, а также о том, как из первых сделать вторые. Данная статья будет смесью этих двух тем.

Дело обстояло так: мы с моим старым другом уже не первый год занимаемся разработкой. Игра, о которой пойдет речь в статье, уже далеко не первая, которую мы пытались сделать, но первая, с которой это удалось. После почти десятка неудавшихся попыток сделать игру мы наконец-то смогли объективно оценить свои силы и решили сделать головоломку. Жанр игр сам по себе несложный, но то, что мы задумали, было куда сложнее и не похоже ни на одну из игр, представленных в каталогах ВК и ФБ в этом жанре. Для того, чтобы совсем не осталось шансов закончить игру, решили использовать те технологии, которые никогда в глаза не видели — Dart + Box2d.
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии31

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

В одной упряжке 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.

image


Взглянув, как это работает, появилось желание переписать тьюториал на Dart.
Читать дальше →
Всего голосов 7: ↑5 и ↓2+3
Комментарии5

Простой websocket-чат на Dart

Время на прочтение9 мин
Количество просмотров15K
Здравствуйте!

В этой статье я хочу описать создание простого websocket-чата на Dart с целью показать, как работать с вебсокетами в Dart. Код приложения доступен на github, а пример его работы можно посмотреть здесь: http://simplechat.rudart.in.

Приложение будет состоять из двух частей: сервера и клиента. Серверную часть мы разберем очень подробно, а из клиентской рассмотрим только то, что отвечает за работу с соединением.

Требования к приложению очень простые — отправка сообщений от пользователя всем или только выбранным участникам чата.
Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии4

Автор Dart: «Нужно больше языков веб-программирования»

Время на прочтение2 мин
Количество просмотров6.5K
Веб-приложения могут превзойти нативные программы по функциям и удобству использования. Но для этого нужно, чтобы у разработчиков был выбор языков программирования. Такую точку зрения высказал Гилад Браха (Gilad Bracha) из компании Google, один из авторов языка программирования Dart, в выступлении 11 июня на конференции для разработчиков QCon в Нью-Йорке.

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

Автор Dart назвал несколько малоизвестных экспериментальных языков веб-программирования.
Читать дальше →
Всего голосов 10: ↑5 и ↓50
Комментарии7

Для чего в Dart метаданные

Время на прочтение2 мин
Количество просмотров4K
Поковырял ещё некоторое время в Dart, идея хорошая, но многие вещи, так скажем, не понятны.

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


Читать дальше →
Всего голосов 17: ↑6 и ↓11-5
Комментарии2

Dart 1.1 стал на 25% быстрее, сравнялся с идиоматическим JavaScript и теперь подходит для серверов

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

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


Читать дальше →
Всего голосов 41: ↑33 и ↓8+25
Комментарии74

Клеточные автоматы на Dart

Время на прочтение8 мин
Количество просмотров18K
Реализация классического клеточного автомата — конуээвской «Жизни» — это такая же задачка для начинающего программиста, как для радиотехника — спаять простейший радиоприемник. Для тех кто не знает, что такое «Жизнь», прочитайте эту статью: Википедия: Жизнь (игра).

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

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


Здесь вы можете сразу посмотреть демо.
Читать дальше →
Всего голосов 44: ↑38 и ↓6+32
Комментарии9

Google выкатила замену Javascript — язык Dart

Время на прочтение2 мин
Количество просмотров79K
Тех, кто так долго ждал этого, я могу поздравить. Тем, кто совсем не ждал, мне сказать нечего, ведь это всё равно свершилось. Сегодня (15 ноября) Google представила первую стабильную версию языка программирования Dart.
Читать дальше →
Всего голосов 102: ↑78 и ↓24+54
Комментарии182