Dart - недооценен, он хорошая альтернатива Node.js
Кто этот ваш Dart вообще ?
Dart вышел в свет примерно в 2011 году, первоначальная цель: стать хорошей альтернативой JavaScript, по факту - хорош, но рыночек порешал по-другому и как итог - мало разработчиков.
Историю языка пропущу, перейду ближе к сути.
Dart стал неким симбиозом между JavaScript, большой Java и некоторыми другими языками.
- Dart - мультипарадигменый компилируемый язык, со строгой статической типизацие - Современный подход к ООП - Имеет функциональные концепции: лямбды, иммутабельность, ленивость вычислений и другие - Реактивность и ассинхронность: Future, Stream, async/await (модель схожа с JavaScript) - Встроенные возможности многопоточности: потоки исполнения - Isolate и обмен сообщениями (близок по концепции к Go) - Анализ кода и линтинг в самом инструментарии языка - Кодогенерация и метапрограммирование - На мой взгляд одна из лучших документаци - SDK и стандартная библиотека на все случаи жизни - Встроенный пакетный менеджер - pub, и тулинг для разработки - Он компилируется под все актуальные платформы: бинарник для десктопа, WASM или JS для Web, а также под мобильные платформы
Касательно мобильной разработки - это его главная сфера применения на данный момент, привет Flutter (со слов команды Flutter: на iOS 30% приложений в AppStore на Flutter, да и в целом - вакансий для Flutterиста полно)
Flutter позволяет писать приложения как под мобильные платформы, так и под Web, Desktop, шаря общую кодовую базу.
Flutter имеет свой SDK, UI компоненты и мощный тулинг: от сборки до отладки верстки, кода и профилирования.
Благодаря удобному механизму платформенных плагинов, FFI и JS-interop у Dart, можно писать: специфичный платформенно-зависимый код на Java/Kotlin/Swift, JavaScript или использовать C библиотеки.
На официальном реестре пакетов для Dart - pub.dev куча готовых библиотек на все случаи жизни и только растет.
C чистым фронтом у Dart все хорошо, но массово писать на нем мало кто хотел. Можно использовать стандартную библиотеку, она дает знакомое JS разработчику API. Из фреймворков у него был AngularDart (Wrike писали на нем раньше), React - подобный и сейчас, из актуальных - Jaspr.
А теперь про backend и изначальный посыл 😁
Dart имеет похожую ассинхронную модель исполнения как у JS/Node.js и будет максимально знаком.
Но у Dart ряд преимуществ: типизиация, стандартная библиотека, тулинг, встроенная в язык многопоточность, код компилируется в бинарник.
Есть ряд статей, который можно почитать про Dart в Backend и о сравнении производительности с Node.js - Dart где-то лучше, но в среднем не хуже ноды.
У Dart есть ряд backend фреймворков (хотя его SDK содержит и готовые более низкоуровневые решения для написания HTTP серверов и CLI утилит), один из самых развитых - serverpod и заточенный в частном случае для использования в паре с Flutter, в целом экосистема развивается, но нужно больше времени.
Во многом Dart может стать хорошей альтернативой Node.js, но в мире JS очень много устоявшихся библиотек, в чем пока преимущество.
Так что время покажет что из этого выйдет.