Тем более. Flutter в первую очередь это мобильная разработка.
Хоть он и целится в максимальную кросс-платформу, но все-же главное направление — мобилки.
Остальное — приятное дополнение, исходя из текущего уровня развития платформы.
А потому если сравнивать Web — то JS выигрывает, так как он более наивен для браузера, а в Dart приложении на выходе будет тот же JS.
А в мобильной разработке все иначе.
React Native не вывозит из-за ограничений JS. И из-за них JS не может в AOT. А Flutter быстр именно в релизной сборке, так как в debug там JIT. Это Hot Reload и тормоза в режиме разработчика.
С точки зрения концепции выполнения — идентичны.
Dart и JS однопоточный, асинхронный.
Что касается преимуществ — типы из коробки (не TypeScript vs Flow, а единое правило).
Также VM Dart умеет в AOT — JS нет.
Почему именно Dart? Потому что он как и Flutter принадлежит Google.
Dart все же более строгий и сколько схожестей — столько и различий.
В JS на лету можно менять прототип (считай родителя), мешать объекты, в Dart с этим строже.
1. Круто.
2. По поводу вниз — это было требование заказчика. Данный пример реальный кейс из приложения, просто UI другой. Не стал ничего менять и показал как есть.
Можно оставить чисто стек, но Overlay (неважно что внутри) более независимо.
Придется тогда весь экран класть в стек, это может породить дополнительные проблемы.
Текущий кейс просто пример. После написания статьи, скроллил к активному фильтру в AppBar, у фильтров динамический размер. Обернул каждый в RenderMetricsObject, сложил размеры и проскроллил при заходе на экран.
А как доскралливать на разницу в вашем решении, плашка же перекроет поле. Особенно, если поле многострочное. Или вы только о инструментах позиционирования?
А кто, по вашему, 1 эшелон?
Если Flutter закроет потребности которые не сможет React Native.
Или нужно говорить юзерам «Миритесь с проблемами, зато у нас React Native»?
На RN можно допилить нативно, — но это уже трата дополнительных ресурсов. А мы, вроде как, хотели сэкономить. На Flutter тоже иногда приходится лезть в нативную часть, но куда реже.
Ну такое.)
Меня больше напрягает не соответствие UI, что я привел в статье. Да, это обусловлено OEM виджетами, но результат удручает. И вместо того чтобы создавать один UI на две платформы, приходится местами писать его для каждой.
А также дополнительный, а не основной источник заработка.)
Ведь либо вы пишете продукт, либо пишете продукт и продаете курс.
Но не стоит забывать — чтобы сделать что-то серьезное нужно потратить время.
Когда пилится проект заказчик за него платит. По сути обмен финансов на время и результат. Курсы тоже самое.
Я не люблю курсы, но я их и не прохожу.)
Документации и статей хватает. Если собрать всю информацию — легко обойтись без курсов.
Но если хочется на готовенькое — то тогда курс (это в идеале, так как понятно что есть курсы не очень).
Хоть он и целится в максимальную кросс-платформу, но все-же главное направление — мобилки.
Остальное — приятное дополнение, исходя из текущего уровня развития платформы.
А потому если сравнивать Web — то JS выигрывает, так как он более наивен для браузера, а в Dart приложении на выходе будет тот же JS.
А в мобильной разработке все иначе.
React Native не вывозит из-за ограничений JS. И из-за них JS не может в AOT. А Flutter быстр именно в релизной сборке, так как в debug там JIT. Это Hot Reload и тормоза в режиме разработчика.
Dart и JS однопоточный, асинхронный.
Что касается преимуществ — типы из коробки (не TypeScript vs Flow, а единое правило).
Также VM Dart умеет в AOT — JS нет.
Почему именно Dart? Потому что он как и Flutter принадлежит Google.
Dart все же более строгий и сколько схожестей — столько и различий.
В JS на лету можно менять прототип (считай родителя), мешать объекты, в Dart с этим строже.
Цель библиотеки получать:
— размеры
— позицию
— разницу
Любых виджетов.
С этим она справляется.
Сам пример да, не идеален.
Или же вы о чем-то другом?
Также если нужно будет скроллить не до текстового поля, а допустим, до кнопки, то ваше решение выше не подойдет.
Только если использовать колбэк для получения контекста или GlobalKey.
2. По поводу вниз — это было требование заказчика. Данный пример реальный кейс из приложения, просто UI другой. Не стал ничего менять и показал как есть.
Придется тогда весь экран класть в стек, это может породить дополнительные проблемы.
Текущий кейс просто пример. После написания статьи, скроллил к активному фильтру в AppBar, у фильтров динамический размер. Обернул каждый в RenderMetricsObject, сложил размеры и проскроллил при заходе на экран.
А как доскралливать на разницу в вашем решении, плашка же перекроет поле. Особенно, если поле многострочное. Или вы только о инструментах позиционирования?
Если Flutter закроет потребности которые не сможет React Native.
Или нужно говорить юзерам «Миритесь с проблемами, зато у нас React Native»?
На RN можно допилить нативно, — но это уже трата дополнительных ресурсов. А мы, вроде как, хотели сэкономить. На Flutter тоже иногда приходится лезть в нативную часть, но куда реже.
Встроенный навигатор предоставляет хороший функционал роутинга.
По моим ощущениям Flutter норм читается, но сначала было непривычно.
И я бы не сказал что эти компании маленькие или ноунеймы.
Меня больше напрягает не соответствие UI, что я привел в статье. Да, это обусловлено OEM виджетами, но результат удручает. И вместо того чтобы создавать один UI на две платформы, приходится местами писать его для каждой.
Тут функция вызывается с параметрами.
А там именно собирается функция.
По ссылке передача функции через параметры.
Я имел ввиду это:
А вот call и apply в проде использовал, но редко. Но, в качестве исключения, часто юзал такую конструкцию: