После недавних событий, связанных с публикацией "Flutter: Я слышал, что ты недавно говорил всем, что я распустился?", многие стали интересоваться текущими прогрессами Flutter. В данной статье будет сделана краткая сводка наиболее важных задач и дорожной карты за прошедший квартал, а также будут приведены некоторые личные мысли после прочтения комментариев и сообщений.
О новых требованиях Apple к спискам приватности, начиная с мая, возможно, вы уже знаете. Если нет, вот подробное объяснение:
С учетом последних новостей, начиная с 1 мая, новые требования будут применяться только к динамическим фреймворкам, но ожидается, что требования к статической сборке плагинов вернутся в будущем. Это снижает требования к адаптации Flutter Plugin, если они не находятся в списке требований для сторонних SDK:
В Android 14 произошли изменения, связанные с невидимостью элементов TLHC (Top-Level Home Component).Эта проблема была представлена в #146499 и исправлена. Она возникла из #139039 как специфический для Samsung вопрос, связанный с неправильным отображением PlatformView. Затем проблема была перенесена на #146499 как баг системы Android 14.Интересным моментом было то, что сторонние разработчики считали это ошибкой Samsung, которую можно было бы ожидать от производителя, хотя она уже была исправлена в Android 15. Эти заявления привели к тому, что обсуждение было заблокировано для успокоения участников.
Наконец, официально было установлено, что на платформе Android 14 действительно существует системный баг, при котором PlatformView прекращает получать информацию о рисовании от Android во время очистки памяти, что приводит к прозрачному состоянию элемента, хотя он остаётся активным для взаимодействия. Этот набор условий не является уникальным для Flutter, так как используемые API также могут вызывать проблемы для нативных приложений Android. Основной причиной текущей проблемы является недостаток памяти, поэтому она возникает в фоновом режиме. С версии Flutter 3.19 платформа больше не кэширует последнюю кадровую информацию для PlatformView и не отрисовывает её при восстановлении, что привело к данной ситуации.
В качестве временного решения PR рекомендовано добавить вызовы getPlatformViewsController().onResume()
и resetSurface()
, а также сообщено, что команда Flutter уже начала сотрудничество с командой Android для внедрения исправлений в Android 14:
Многие пользователи Flutter для ПК отказываются от использования из-за отсутствия возможности работы с несколькими окнами.
Как один из создателей Flutter, Эрик после ухода из компании продолжил работу над проектами, связанными с Flutter. Недавно он представил версию 1.0 своего проекта Shorebird, который официально поддерживает живое обновление Flutter на устройствах Android и iOS.
Эрик отметил, что Shorebird, будучи инструментом для живого обновления Flutter, работает в соответствии с политиками App Store компании Apple и Google Play, обеспечивая высокую производительность даже после применения патчей, так как он не использует горячую перезагрузку (или JIT-компилятор Dart), а реализует специальный интерпретатор Dart.> Shorebird существует как ветка Flutter, где добавлены функции отправки кода, но это не замена Flutter, а замена его движка. Хотя это выглядит хорошо, стоит отметить, что это платное решение.
О Wasm Native ранее были статьи, подробнее можно прочитать здесь:
Wasm Native скоро будет доступен. На самом деле это также умное решение для проекта Flutter Web — «уметь делать выборы и использовать ресурсы». Когда было принято решение развивать нативную реализацию Dart в Wasm, было решено продвигать передовую технологическую способность Flutter Web. Независимо от того, будет ли конечный результат таким, как ожидалось, это связано с тем, что участие в развитии WasmGC не ограничивается только потребностями Flutter Web. Поэтому ему удается привлекать внимание и ресурсы.
При этом, чтобы лучше «концентрировать» ресурсы, было вынесено предложение отказаться от
Html_Renderer
в Flutter Web, что, конечно же, вызвало множество протестов со стороны пользователей. В конце концов, реализация skwasm
пока еще имеет немало реальных проблем. Однако как решение направления, лично мне кажется это хорошим шагом для Flutter Web — преимущества Html_Renderer
действительно невелики, а необходимость адаптации к большему количеству ресурсов делает этот выбор более привлекательным. По крайней мере, с текущей точки зрения, переход Flutter Web на Wasm_Native
позволяет избежать ситуации, когда прогресс становится застрявшим, как это произошло с командой PC.
Дополнительные будущие достижения и планы можно найти здесь: Flutter 2024 план развития. Также ближайший Google I/O уже скоро, если вас интересует эта тема, следите за ним: https://io.google/2024/intl/ru/
Скажу немного отдельно, почему эти увольнения вызвали такой шум в сообществе Flutter? На самом деле, это связано с тем, что Flutter за последние годы стал объектом многочисленной критики. Интернет любит эмоциональность и суждение, а в техническом сообществе это ещё более распространено. Это нормальная ситуация, когда есть люди, которые высказывают своё мнение?
На данный момент, увольнения проектов из-за финансовых причин вполне естественны, снижение численности разработчиков, конечно, оказывает влияние, но ключевой вопрос заключается в том, остаются ли ключевые менеджеры продуктов. Почти все модули маршрута открытых проектов Google зависят от этих менеджеров, как, например, текущее положение Flutter PC является типичным примером.
Как разработчик, мой личный подход всегда был таким, что разработчики обладают способностями к разработке, а не к использованию конкретных фреймворков. Карьера разработчика представляет собой последовательность выбора различных фреймворков, а не полное доверие всей карьеры одному фреймворку.По моему мнению, это именно такая установка, которая полностью зависит от одного фреймворка, порождает различные "чувства любви и ненависти". Независимо от того, это Cordova, React Native, uni-app или Flutter, даже native и frontend, легко могут стать жертвами таких эмоций:
Прикрепляешь себе метку, ограничивая себя только этим фреймворком, чтобы выжить, и начинаешь его защищать и отвергать всё остальное.
Мне кажется, что это источник тревоги, если ты работаешь в сфере цифрового контента, достаточно просто использовать эту "точку" для создания волнений, и любой маленький шаг может вызвать общественный резонанс. За эти годы я действительно редко говорю об этом, а также редко спорю с людьми о том, что правильно, а что нет. В конце концов, я не продаю курсы и не делаю рекламу, поэтому мне не нужны фолловеры в соцсетях или сообществах. Больше всего это просто записи и регулярные публикации, а убеждать других людей не приносит никакой полезной выгоды, за исключением случая, если есть слишком много свободного времени.
К тому же, достигнув этого возраста, уже нет такого эмоционального привязывания к какому-то конкретному фреймворку. Более того, выбор фреймворка зависит от удобства его использования, подходящего для командной работы, а также от того, какой фреймворк лучше всего подходит для текущих задач.При回头看看过去这些年,从嵌入式系统、Android、Cordova、React Native、iOS、Weex、uni-app、Flutter到鸿蒙,基本上就是这么一路走来的。而这几年主要分享的内容集中在Flutter上,仅仅是因为当前业务需求更多的是使用Flutter。
对我来说,我的观点是:经过多年的工作经验后,我已不再认为自己必须“精通”或“忠诚”于某一架构,毕竟这些技术并没有很高的门槛,更重要的是开发能力、解决问题的能力以及项目管理能力。毕竟我认为,对于开发者而言,最有价值的经验并不是掌握某个框架的API数量。
总之,放过自己,或许就能看到不同的世界?
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )