Хочу всё знать: язык Dart
Вы не найдёте Dart даже в двадцатке самых популярных языков программирования. Вы едва ли найдёте вакансию Dart-программиста, во всяком случае на территории России. А если вы только вчера попали в мир программирования, то возможно полагаете, что этот текст будет посвящён одному из персонажей киносаги «Звёздные войны» (хоть он и Darth).
Тем не менее, Dart – именно тот язык, знание которого может завтра стать обязательном пунктом в резюме любого уважающего себя веб-разработчика. Причина тому проста: он был создан и активно продвигается Google.
Краткая справка
В 2011 году официально началась разработка языка Google Dart, который по замыслу авторов, должен полностью заменить JavaScript. Причиной тому послужили «фундаментальные изъяны» последнего (со слов Марка Миллера, одного из разработчиков Dart), которые оказалось просто невозможно исправить эволюционным путем. В 2013 была представлена первая официальная стабильная версия.
Сегодня, несмотря на позицию в третьем десятке наиболее популярных языков, Dart, тем не менее, удалось обойти такие ценные экземпляры, как Rust, VHDL и Scala. Что касается практического применения, то на Dart написан всем известный Google AdWords.
Кому учить
Как уже было сказано, несмотря на то, что Dart относительно популярен и завтра может стать обязательным условием приёма на работу, сегодня его изучение носит исключительно факультативный характер. Теоретически, знание TypeScript совместно с JavaScript практически полностью покрывает возможности Dart. С другой стороны, потенциал Dart куда выше и его стоит рассматривать скорее, как этап развития, а не как конкурента JavaScript.
Преимущества
Для начала давайте остановимся на преимуществах языка Dart, чтобы оценить пользу от его познания:
Удобство разработки
Если вы посвятите хотя бы 10 минут изучению Dart, то убедитесь на личном примере - работать с ним по-настоящему удобно. Вы просто посмотрите на код приветственного “Hello, World!”:
void main() {
print('Hello, World!');
}
Согласитесь, это легко, понятно и до боли знакомо. Вообще говоря, если Dart для вас не первый язык программирования, то на изучение хватит нескольких дней.
Увеличение скорости
Помимо синтаксиса, есть масса удобств ускоряющих, как разработку кода, так и его дальнейшее исполнение на машине. Например, статическая типизация со всеми вытекающими преимуществами по быстродействию и возможностью отловить подавляющее число ошибок ещё на стадии компиляции.
Среда разработки
Dart поддерживается всеми популярными IDE: IDEA, WebStorm, Atom, Emacs, Visual Studio, Sublime Text, Vim. Кроме того, для удобства использования Dart Google специально выпустил браузер Dartium, на основе Chromium, со встроенной виртуальной машиной.
Развитие
Google очень активно занимается разработкой и продвижением Dart, что отражается хотя бы в регулярности обновлений - каждые 2-3 месяца. И это не просто косметические исправления, а реальные апгрейды, сказывающиеся в том числе на оптимизации и возможностях.
Хорошая стандартная библиотека
Как итог всех предыдущих пунктов, стоит отметить библиотеку Dart, предоставляющую веб-разработчику практически безграничные возможности.
Хотите стать веб-разработчиком? Рады пригласить вас на бесплатный интенсив по основам веб-разработки.
Недостатки
Если бы язык Dart был таким совершенным, как о нём говорят его разработчики, то о JavaScript и TypeScript мы бы стали быстро забывать. Но пока это не так. Вот главные претензии:
Малое сообщество
При всех плюсах самого языка, Google каким-то непостижимым образом не уделил должного внимания простым разработчикам. Нет, формально всё хорошо: недавно в Мюнхене прошла крупная конференция «Dart Dev Summit», а официальный сайт располагает всей необходимой информацией, как для новичка, так и для профессионала.
Но вот сообщество разработчиков оставляет желать лучшего. Так, например, если зайти на официальный форум, то можно заметить, что регулярность задаваемых вопросов – 2 в месяц, а количество просмотров каждого не превышает сотни. Надо ли говорить о том, что в этом Dart не конкурент JavaScript?
Проблемы JavaScript преувеличены
Если покопаться в интернет-истории, то можно найти немало адептов JavaScript, которые изначально были настроены негативно по отношению к детищу Google. Как тогда, так и сейчас, основная претензия сводится к тому, что будь JavaScript настолько ограниченным языком, то он не сыскал бы славу универсального инструмента, как для простых скриптов, так и для сложных приложений.
Более того, в прошлом году даже в Google перестали видеть в JavaScript конкурента и всерьёз занялись улучшением компилятора кода, но, как оказалось, лишь на время: «Dart Dev Summit 2016» ознаменовал возвращение Dart как полноценного игрока.
Полезные ссылки
Для тех, кто решил познакомиться с Dart поближе, вот несколько полезных ссылок:
Официальный сайт – здесь вы найдёте всю необходимую информацию о языке, инструментах, библиотеках, а также актуальные новости об обновлениях и грядущих конференциях. Ссылки на скачивание всевозможного дистрибутива прилагаются;
Dart на русском – несмотря на то, что сайт не обновлялся с начала 2013 года (то есть он умер фактически до официального рождения Dart), здесь по-прежнему можно найти много полезной информации;
Видеоуроки по Dart – к сожалению, толковых русскоязычных видеоресурсов найти не удалось, поэтому при просмотре придётся держать под рукой англо-русский словарь;
Презентация Евгения Гусева на Frontend DevConf 2016 – в этом материале вы узнаете в чём конкретно Dart превосходит привычный JavaScript, а также как эти преимущества использовать на практике;
Dart в действии, Крис Бакетт – пожалуй, главная книга по языку Dart.