Comments 12
У Dart с компиляцией в js тоже всё прекрасно. Гораздо интереснее, что у Котлина с кроссплатформенным UI, потому как Flutter именно про это и справляется отлично.
К тому же flatter умеет рисовать чисто на канвасе, без трансляции в js. Это может подойти для админок, чисто веб приложений, не требовательных к SEO.
А что с этим у котлина?
Интересует таблица сравнения дарта, реакта и флаттера-может стоить добавить описание к ней?
Вопрос вызывают некоторые цифры-например популярность у флаттера в 3 раза выше чем у ксамарина-не совсем в этой сфере, но это отличается от того что я видел. Хотелось бы понять откуда такая разница и есть ли она.
Так же процент переиспользования кода-непонимаю вообще как он высчитавается, почему у ксамарина такая разбежка(60-95%) и как это сравнить с учетом разбежки с дартом и реактом.
![](https://habrastorage.org/getpro/habr/upload_files/023/366/935/023366935ea4c7fe1eb1996345eb99a7.jpg)
Можете прояснить, как производительность связана с hotreload, о какой производительности идёт речь?
Да кому нужен этот Dart. Не думаю что стоит тратить время на этот язык программирования.
Год назад флаттер был меньше
Сейчас он дико взлетел. А благодаря простому дарту в него очень легко зайти. Плюс виджеты это нечто. Настолько просто и реюзабельно по сравнению с вьюшками дроида, что эт скоро будет мем.
Не забывайте, что compose почти 1к1 повторяет флаттер.
Как только сообщество или команда флаттера заткнет все популярные либы, количество разрабов увеличится в разы.
Здравствуйте. Спасибо за статью, начинание действительно хорошее, сравнивать актуальные технологии кросс-платформенной разработки. Но хотелось бы уточнить пару технических моментов при сравнении Flutter и KMM для мобильной разработки.
1) В статье ничего не сказано о том, что Flutter имеет свою рендер систему на skia, в отличии от того-же KMM. Т е на flutter мы уже сейчас можем верстать один раз, в то время как на KMM мы либо используем нативный UI либо ждем, когда Compouse сделают совместимым с ios
2) Что вы имели в виду под сравнением производительности flutter/KMM ? Если вы имели ввиду производительность release сборок, то hotReload во flutter только для debug режима (т к только он собирается с VM). Если же вы сравниваете производительность человека, пишущего на той или иной технологии, то хотелось бы понять, по каким критериям.
3) пункт Дизайн пользовательского интерфейса - тоже вызвал вопросы. Могли бы вы уточнить критерии сравнения?
Вы просто попробуйте создать что-то с 0 в котлин мультиплатформ и поймёте, что по сравнению с Flutter у него нет будущего. Практически полное отсутвие документации, отсутвие kdoc к методам, переусложненный и нелогичный код, который не следует единой концепции в разных местах, зверские гредл скрипты для сборки. Я очень люблю котлин и давно использую, но мультиплатформ это какой-то фэйл.
Дарт и флаттер я изучаю недолго и опыта практически нет, но скорость входа там просто отличная. Функциональное приложение для web, android, ios можно создать за неделю. Там идеальная документация как для флуттера так и для дарта, есть раздел по изучению языка в контексте знаний джава, идеальные комментарии и доки в коде, очень простая конфигурация сборки и везде единая концепция с виджетами, состоянием и контекстом.
Сейчас думаю, что идеальный вариант это делать клиентов на флуттер, а бэкенд на котлин со спрингом или ктором.
Про скорость first_buid+run и change+rebuild+run для simple Flutter app и simple Jetpack Compose app:
first_buid+run: одинаково крайне медленно.
change+rebuild+run:
Flutter - ну очень-очень медленно
Jetpack Compose - очень быстро (всего несколько секунд), но только если в gradle.properties прописано kotlin.native.cacheKind.linuxX64=static ( https://kotlinlang.org/docs/whatsnew15.html#performance-improvements )
Dart слаб как язык. Например ещё в начале этого года нельзя было написать typedef, например такой:
typedef _example_foo = ffi.Int64 Function(ffi.Int64 bar, ffi.Pointer<ffi.NativeFunction<example_callback_ffi>>);
Можно сделать осторожный вывод что язык разрабатывается без любви к пользователям языка.
Flutter по сравнению с Kotlin в 2021 году: Что лучше для разработки кросс-платформенных приложений?