Hola, Amigos!
Выпустили подробный гайд с полезными материалами по изучениею Flutter и Dart. В нем собрали обучающие YouTube-каналы, телеграм-каналы, книги и еще парочку полезных ссылок.
Читайте, делитесь с друзьями, пишите в комментариях, что еще можно добавить в гайд.
Выпустили подробный гайд с полезными материалами по изучениею Flutter и Dart. В нем собрали обучающие YouTube-каналы, телеграм-каналы, книги и еще парочку полезных ссылок.
Читайте, делитесь с друзьями, пишите в комментариях, что еще можно добавить в гайд.
Tproger
15 каналов в Telegram и YouTube про разработку во Flutter
Собрали все самые полезные каналы в Telegram и Youtube про разработку во Flutter и Dart, а также книги, уроки и документацию.
🔥19👍2👏2
Работа с сокетами Dart
Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev Amiga. Сегодня расскажу о том, что такое сокеты, как работать с ними в Dart и дам полезные материалы для изучения сокетов.
Сокеты — это средство двусторонней связи по сети. Это похоже на HTTP-связь, но вместо того, чтобы сделать один запрос и получить один ответ, вы оставляете канал открытым для дальнейшего общения. У этого есть применение в приложениях с чатом внутри, или внешней базой данных и других приложениях для обмена сообщениями в реальном времени.
Сокеты используют для двух вещей: для передачи данных по сети или для связи между приложениями. Сокет-сервер может прослушивать и получать сообщения от нескольких клиентов. Затем сервер может транслировать сообщения всем подключенным клиентам или принимать сообщение от одного клиента и переслать его другому.
В Dart вы создаете сокет-клиент, используя Socket класс, и сокет-сервер, используя SocketServer класс.
Еще примечания
1. Сокет — это просто поток. Если вы хотите отправлять байты, а не строковые данные, вы можете вызвать socket.add вместо socket.write.
2. Future.delayed было сделано для того, чтобы содержимое отображалось в удобочитаемом виде. Одновременная отправка большого количества сообщений на сервер также, по-видимому, помещает их все в один и тот же фрагмент данных в потоке.
Полезные ссылки
1. Для написания этого поста я опирался на эту статью, внутри подобрый туториал, как сделать сокет-сервер и сокет-клиент.
2. Документация сокет-класс.
3. Статья о том, как поддерживать открытое соединение между клиентом и сервером для реализации приложения реального времени с помощью Dart-сокетов.
Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev Amiga. Сегодня расскажу о том, что такое сокеты, как работать с ними в Dart и дам полезные материалы для изучения сокетов.
Сокеты — это средство двусторонней связи по сети. Это похоже на HTTP-связь, но вместо того, чтобы сделать один запрос и получить один ответ, вы оставляете канал открытым для дальнейшего общения. У этого есть применение в приложениях с чатом внутри, или внешней базой данных и других приложениях для обмена сообщениями в реальном времени.
Сокеты используют для двух вещей: для передачи данных по сети или для связи между приложениями. Сокет-сервер может прослушивать и получать сообщения от нескольких клиентов. Затем сервер может транслировать сообщения всем подключенным клиентам или принимать сообщение от одного клиента и переслать его другому.
В Dart вы создаете сокет-клиент, используя Socket класс, и сокет-сервер, используя SocketServer класс.
Еще примечания
1. Сокет — это просто поток. Если вы хотите отправлять байты, а не строковые данные, вы можете вызвать socket.add вместо socket.write.
2. Future.delayed было сделано для того, чтобы содержимое отображалось в удобочитаемом виде. Одновременная отправка большого количества сообщений на сервер также, по-видимому, помещает их все в один и тот же фрагмент данных в потоке.
Полезные ссылки
1. Для написания этого поста я опирался на эту статью, внутри подобрый туториал, как сделать сокет-сервер и сокет-клиент.
2. Документация сокет-класс.
3. Статья о том, как поддерживать открытое соединение между клиентом и сервером для реализации приложения реального времени с помощью Dart-сокетов.
Medium
Working with Sockets in Dart
Sockets are a means of two-way communication over a network. This is similar to HTTP communication, but instead of making a single request…
🔥14👍4👌2🤯1🌭1
Flutter fix или быстрые исправления, часть 1.
Hola, Amigos! С вами Антон Мартышков, Flutter-dev Amiga. Рассказываю о том, что такое flutter fix и как решать самые распространенные проблемы Flutter.
Flutter fix — это решение или обходной путь для решения проблемы, с которой вы можете столкнуться при использовании Flutter. Flutter — мощный инструмент, но, как и любое программное обеспечение, он не лишен ошибок и других проблем.
Какие проблемы бывают?
1. Проблема «белого экрана» — приложение зависает на белом экране при запуске. Это может быть вызвано множеством проблем, включая проблемы с самой инфраструктурой Flutter или проблемы с кодом приложения.
Как решить проблему:
— запустить приложение в режиме «отладки» с помощью команды «flutter run» с флагом «--debug». Это предоставит более подробную информацию о любых ошибках, которые могут возникнуть, и поможет определить причину проблемы.
— очистить кеш приложения командой «flutter clean». Это удалит все временные файлы или данные кэша, которые могут вызывать проблемы с приложением.
2. Dependency issues — это проблемы с зависимостями или библиотеками. Такая проблема может всплыть, если библиотека или зависимость несовместимы с используемой версией Flutter или когда существует конфликт между различными зависимостями.
Как решить проблему:
— запустить команду «flutter pub upgrade --major-versions». Если версии конфликтуют, будет показано: какие библиотеки можно обновить; варианты, при которых версии не будут конфликтовать, но и будут обновлены.
— обновить или изменить используемую версию Flutter.
— попробовать изменить зависимости в файле pubspec.yaml.
— запустить команду «flutter clean» , чтобы удалить все временные файлы или данные кэша, которые могут вызывать проблемы с приложением.
Если эти решения не работают, вам может потребоваться рассмотреть возможность использования в проекте других зависимостей или библиотек.
В следующем посте расскажу о еще 3 часто встречающихся проблемах во Flutter и о том, как их решить.
Hola, Amigos! С вами Антон Мартышков, Flutter-dev Amiga. Рассказываю о том, что такое flutter fix и как решать самые распространенные проблемы Flutter.
Flutter fix — это решение или обходной путь для решения проблемы, с которой вы можете столкнуться при использовании Flutter. Flutter — мощный инструмент, но, как и любое программное обеспечение, он не лишен ошибок и других проблем.
Какие проблемы бывают?
1. Проблема «белого экрана» — приложение зависает на белом экране при запуске. Это может быть вызвано множеством проблем, включая проблемы с самой инфраструктурой Flutter или проблемы с кодом приложения.
Как решить проблему:
— запустить приложение в режиме «отладки» с помощью команды «flutter run» с флагом «--debug». Это предоставит более подробную информацию о любых ошибках, которые могут возникнуть, и поможет определить причину проблемы.
— очистить кеш приложения командой «flutter clean». Это удалит все временные файлы или данные кэша, которые могут вызывать проблемы с приложением.
2. Dependency issues — это проблемы с зависимостями или библиотеками. Такая проблема может всплыть, если библиотека или зависимость несовместимы с используемой версией Flutter или когда существует конфликт между различными зависимостями.
Как решить проблему:
— запустить команду «flutter pub upgrade --major-versions». Если версии конфликтуют, будет показано: какие библиотеки можно обновить; варианты, при которых версии не будут конфликтовать, но и будут обновлены.
— обновить или изменить используемую версию Flutter.
— попробовать изменить зависимости в файле pubspec.yaml.
— запустить команду «flutter clean» , чтобы удалить все временные файлы или данные кэша, которые могут вызывать проблемы с приложением.
Если эти решения не работают, вам может потребоваться рассмотреть возможность использования в проекте других зависимостей или библиотек.
В следующем посте расскажу о еще 3 часто встречающихся проблемах во Flutter и о том, как их решить.
🔥16👍7❤2⚡1
Flutter fix или быстрые исправления, часть 2.
Hola, Amigos! С вами Антон Мартышков, Flutter-dev Amiga. В этом посте я продолжу рассказывать о Flutter fix и освещу еще 3 решения, которые могут оказаться полезными в работе с фреймворком Flutter.
1. Не работает hot reload.
Эта функция позволяет вносить изменения в код приложения и мгновенно видеть результаты в эмуляторе или на физическом устройстве, загружает изменения кода в виртуальную машину и перестраивает дерево виджетов, сохраняя состояние приложения. Однако иногда hot reload может не работать.
Почему это происходит?
— Hot reload может прерваться, когда приложение убито. Например, если приложение слишком долго находилось в фоновом режиме.
— Когда изменение кода приводит к ошибке компиляции, hot reload генерирует сообщение об ошибке.
— Hot reload не работает, когда перечисляемые типы заменяются на обычные классы или обычные классы заменяются на перечисляемые типы.
— Hot reload не будет работать при изменении объявлений универсального типа.
Как решить проблему?
Если все вышеперечисленное не относится к вашей проблеме, попробуйте сделать это:
— Убедитесь, что у вас установлена последняя версия Flutter и расширение Flutter для вашего редактора кода.
— Закройте и снова откройте эмулятор или физическое устройство, чтобы сбросить состояние приложения.
— Если вы используете сторонние зависимости, убедитесь, что они совместимы с используемой вами версией Flutter.
— Убедитесь, что вы запускаете приложение в режиме «отладки».
Я описал основные проблемы и их решения, здесь можно подробнее почитать о hot reload.
2. Ошибка Flutter: не удалось определить зависимости задачи ':app:compileDebugJavaWithJavac'.
Иногда Flutter не может определить зависимости задачи при попытке собрать или запустить приложение. Скорее всего, это вызвано проблемами с конфигурацией сборки вашего приложения или с зависимостями, которые вы используете.
Как решить проблему?
— Запустите команду «flutter clean», чтобы удалить все временные файлы или данные кеша, которые могут вызывать проблемы.
— Проверьте файл build.gradle вашего приложения на наличие проблем или ошибок.
— Если вы используете сторонние зависимости, убедитесь, что они совместимы с используемой вами версией Flutter.
3. Ошибка Flutter: NoSuchMethodError.
Эта ошибка может возникнуть, когда вызываешь «length» на объекте null в коде вашего приложения.
Как решить проблему?
— убедитесь, что вы проверяете нулевые значения прежде попыток получить доступ к свойствам или методам объекта. Используйте «if» или «??» для проверки нулевых значений и предоставления значения по умолчанию, если объект имеет значение null.
В целом, устранение проблем с Flutter требует тщательного внимания и опыта. Выполнив шаги, описанные выше, вы сможете решить большинство проблем и обеспечить бесперебойную работу приложения Flutter.
Hola, Amigos! С вами Антон Мартышков, Flutter-dev Amiga. В этом посте я продолжу рассказывать о Flutter fix и освещу еще 3 решения, которые могут оказаться полезными в работе с фреймворком Flutter.
1. Не работает hot reload.
Эта функция позволяет вносить изменения в код приложения и мгновенно видеть результаты в эмуляторе или на физическом устройстве, загружает изменения кода в виртуальную машину и перестраивает дерево виджетов, сохраняя состояние приложения. Однако иногда hot reload может не работать.
Почему это происходит?
— Hot reload может прерваться, когда приложение убито. Например, если приложение слишком долго находилось в фоновом режиме.
— Когда изменение кода приводит к ошибке компиляции, hot reload генерирует сообщение об ошибке.
— Hot reload не работает, когда перечисляемые типы заменяются на обычные классы или обычные классы заменяются на перечисляемые типы.
— Hot reload не будет работать при изменении объявлений универсального типа.
Как решить проблему?
Если все вышеперечисленное не относится к вашей проблеме, попробуйте сделать это:
— Убедитесь, что у вас установлена последняя версия Flutter и расширение Flutter для вашего редактора кода.
— Закройте и снова откройте эмулятор или физическое устройство, чтобы сбросить состояние приложения.
— Если вы используете сторонние зависимости, убедитесь, что они совместимы с используемой вами версией Flutter.
— Убедитесь, что вы запускаете приложение в режиме «отладки».
Я описал основные проблемы и их решения, здесь можно подробнее почитать о hot reload.
2. Ошибка Flutter: не удалось определить зависимости задачи ':app:compileDebugJavaWithJavac'.
Иногда Flutter не может определить зависимости задачи при попытке собрать или запустить приложение. Скорее всего, это вызвано проблемами с конфигурацией сборки вашего приложения или с зависимостями, которые вы используете.
Как решить проблему?
— Запустите команду «flutter clean», чтобы удалить все временные файлы или данные кеша, которые могут вызывать проблемы.
— Проверьте файл build.gradle вашего приложения на наличие проблем или ошибок.
— Если вы используете сторонние зависимости, убедитесь, что они совместимы с используемой вами версией Flutter.
3. Ошибка Flutter: NoSuchMethodError.
Эта ошибка может возникнуть, когда вызываешь «length» на объекте null в коде вашего приложения.
Как решить проблему?
— убедитесь, что вы проверяете нулевые значения прежде попыток получить доступ к свойствам или методам объекта. Используйте «if» или «??» для проверки нулевых значений и предоставления значения по умолчанию, если объект имеет значение null.
В целом, устранение проблем с Flutter требует тщательного внимания и опыта. Выполнив шаги, описанные выше, вы сможете решить большинство проблем и обеспечить бесперебойную работу приложения Flutter.
👍11🔥2❤1🤔1
Hola, Amigos!
Всей командой компании Amiga мы поздравляем вас с наступающим Новым Годом🎊
Мы надеемся, что новый год принесет вам множество возможностей расти и как личности, и как разработчику. Неважно, джун вы или сеньер, всегда есть что-то новое, что можно изучить, внедрить и улучшить.
Нас ждет классный год, полный новых вызовов и достижений! Желаем вам интересных проектов, нетривиальных задач, меньше багов в коде и крутую команду, которая всегда подскажет и поможет!
Счастья, здоровья и удачи в Новом 2023 году🎄
Всей командой компании Amiga мы поздравляем вас с наступающим Новым Годом🎊
Мы надеемся, что новый год принесет вам множество возможностей расти и как личности, и как разработчику. Неважно, джун вы или сеньер, всегда есть что-то новое, что можно изучить, внедрить и улучшить.
Нас ждет классный год, полный новых вызовов и достижений! Желаем вам интересных проектов, нетривиальных задач, меньше багов в коде и крутую команду, которая всегда подскажет и поможет!
Счастья, здоровья и удачи в Новом 2023 году🎄
🔥15❤3🎉3🎄3☃2👍1🎅1
Flutter и каналы общения с нативом
Hola, Amigos, и с первым рабочим! На связи Антон Мартышков, Flutter-dev Amiga. Сегодня расскажу о 3 механизмах для связи между вашим кодом Dart и кодом платформы.
Бывает, что при создании приложения нужного плагина нет. Например, если это что-то специфичное, типа КриптоПро. И в таком случае выход будет один — реализовывать решение нативно и пробрасывать вызовы с Flutter в натив и обратно. Кроме известного MethodChannel еще существуют MessageChannel и EventChannel, и сегодня мы вкратце рассмотрим их.
MethodChannel — его знают все, кто хоть раз пытался настроить общение с нативом. Позволяет вызвать метод в нативной части и/или Dart, так же можно передавать параметры для метода и вернуть результат, если требуется.
EventChannel — поток событий из нативной части, на который можно подписаться, обратного варианта для получения потока в нативной части пока что нет.
MessageChannel — двустороняя связь Dart с нативом, настраивается под конкретный, примитивный тип данных, которым и будет вестись «общение», делается это установлением кодека для MassageChannel.
Варианты кодеков:
- StringCodec — кодирует строки с помощью utf-8.
- BinaryCodec — общение байтами, удобно, когда не нужно кодирование/декодирование данных.
- JSONMessageCodec — во время кодирования значения преобразуются в строки json, а затем в байты с использованием utf-8.
- StandardMessageCodec — стандартный кодек для канала связи во Flutter. По значениям расширяет JSONMessageCodec, добавляя возможность передавать uint8list и подобные, а так же map с не строковыми ключами. Возврат ответа обязательно.
Еще подробнее про каналы общения между платформами можно почитать здесь.
Hola, Amigos, и с первым рабочим! На связи Антон Мартышков, Flutter-dev Amiga. Сегодня расскажу о 3 механизмах для связи между вашим кодом Dart и кодом платформы.
Бывает, что при создании приложения нужного плагина нет. Например, если это что-то специфичное, типа КриптоПро. И в таком случае выход будет один — реализовывать решение нативно и пробрасывать вызовы с Flutter в натив и обратно. Кроме известного MethodChannel еще существуют MessageChannel и EventChannel, и сегодня мы вкратце рассмотрим их.
MethodChannel — его знают все, кто хоть раз пытался настроить общение с нативом. Позволяет вызвать метод в нативной части и/или Dart, так же можно передавать параметры для метода и вернуть результат, если требуется.
EventChannel — поток событий из нативной части, на который можно подписаться, обратного варианта для получения потока в нативной части пока что нет.
MessageChannel — двустороняя связь Dart с нативом, настраивается под конкретный, примитивный тип данных, которым и будет вестись «общение», делается это установлением кодека для MassageChannel.
Варианты кодеков:
- StringCodec — кодирует строки с помощью utf-8.
- BinaryCodec — общение байтами, удобно, когда не нужно кодирование/декодирование данных.
- JSONMessageCodec — во время кодирования значения преобразуются в строки json, а затем в байты с использованием utf-8.
- StandardMessageCodec — стандартный кодек для канала связи во Flutter. По значениям расширяет JSONMessageCodec, добавляя возможность передавать uint8list и подобные, а так же map с не строковыми ключами. Возврат ответа обязательно.
Еще подробнее про каналы общения между платформами можно почитать здесь.
docs.flutter.dev
Writing custom platform-specific code
Learn how to write custom platform-specific code in your app.
👍9🔥7
Hola, Amigos!
Сегодня пишем не о Flutter, а помогаем отделу Back-end Amiga. У нас расширяется Laravel-команда, поэтому ищем Teamlead и Middle-разработчика. Важны опыт на предыдущих проектах, знание PHP и Laravel и желание развиваться.
Работать можно удаленно или гибридно с посещением офиса в центре Москвы, оформление полностью белое, интересные проекты гарантированы.
Узнать больше и оставить отклик на Teamlead тут, а на Middle тут.
Сегодня пишем не о Flutter, а помогаем отделу Back-end Amiga. У нас расширяется Laravel-команда, поэтому ищем Teamlead и Middle-разработчика. Важны опыт на предыдущих проектах, знание PHP и Laravel и желание развиваться.
Работать можно удаленно или гибридно с посещением офиса в центре Москвы, оформление полностью белое, интересные проекты гарантированы.
Узнать больше и оставить отклик на Teamlead тут, а на Middle тут.
hh.ru
Вакансия PHP TeamLead (Laravel) в Москве, работа в компании Амига (вакансия в архиве c 26 апреля 2023)
Зарплата: не указана. Москва. Требуемый опыт: 3–6 лет. Полная занятость. Дата публикации: 27.03.2023.
🔥3
Flutter Forward
Hola, Amigos!
25 января c 17:30 пройдет онлайн-ивент Flutter Forward от разработчиков фреймворка Flutter. Рекомендуем зарегистрироваться и посмотреть прямую трансляцию из Найроби, Кения (это бесплатно).
Что будет на ивенте?
1. Основной доклад
Разработчики покажут, над чем работали в 2022 году, и расскажут, как ускорить разработку пользовательского интерфейса.
2. #AskFlutter в прямом эфире
На сессии вопросов-ответов можно задавать свои вопросы.
3. Технические доклады
Организаторы обещают позвать крутых спецов, чтобы на конкретных примерах рассказать о том, что может Flutter.
На сайте мероприятия есть интересный интерактив 17 days of flutter, марафон контента о Flutter с любопытными статьями, видеоуроками и заданиями.
Hola, Amigos!
25 января c 17:30 пройдет онлайн-ивент Flutter Forward от разработчиков фреймворка Flutter. Рекомендуем зарегистрироваться и посмотреть прямую трансляцию из Найроби, Кения (это бесплатно).
Что будет на ивенте?
1. Основной доклад
Разработчики покажут, над чем работали в 2022 году, и расскажут, как ускорить разработку пользовательского интерфейса.
2. #AskFlutter в прямом эфире
На сессии вопросов-ответов можно задавать свои вопросы.
3. Технические доклады
Организаторы обещают позвать крутых спецов, чтобы на конкретных примерах рассказать о том, что может Flutter.
На сайте мероприятия есть интересный интерактив 17 days of flutter, марафон контента о Flutter с любопытными статьями, видеоуроками и заданиями.
flutter.dev
Flutter Forward
Preview some of our investments in the technologies of the future at Flutter Forward, streaming live from Nairobi, Kenya on January 25, 2023! The event will feature a keynote, tech talks, and live Q&A session that show how Flutter is pushing UI development…
👍6❤3🔥1🐳1
Полезные мысли из книги Роберта Мартина «Идеальный программист»
Hola, Amigos! На связи Антон Мартышков, Flutter-dev Amiga. Для меня важной составляющей профессии является самообучение, нужно постоянно расти и отрабатывать полученную теорию на практике, развиваться не только технически, но и софтово. Программирование — это марафон, где нужно регулярно развиваться, что бы не сойти с дистанции.
Уже несколько раз мы рекомендовали к прочтению книгу Роберта Мартина Идеальный программист. Она не техническая, но о нашей работе. Недавно я ее перечитал и собрал несколько отзывающихся мне тезисов:
⁃ Каждая написанная вами строка кода должна быть протестирована. Точка.
⁃ Преданность делу и профессионализм проявляются в дисциплине, а не в продолжительности работы.
⁃ Каждый раз при работе с модулем следует понемногу совершенствовать его структуру. Каждое чтение кода должно приводить к доработке структуры. Эта идеология иногда называется безжалостным рефакторингом. Я называю этот принцип «правилом бойскаута»: всегда оставляйте модуль чище, чем до вашего прихода.
⁃ Запланируйте 60 рабочих часов в неделю. Первые 40 вы работаете на своего работодателя, а остальные 20 на себя. В эти 20 часов вы читаете книги, практикуетесь, учитесь и иным образом развиваете свою карьеру.
⁃ Настоящий профессионал знает, что добавление функциональности в ущерб структуре – последнее дело. Структура кода обеспечивает его гибкость. Нарушая структуру, вы разрушаете будущее кода.
⁃ Если вы хорошо знаете, что сделать страницу к завтрашнему дню невозможно, то отвечая: «Хорошо, я попытаюсь», вы не выполняете свою работу. Выполнить ее в этот момент можно только одним способом: сказать: «Нет, это невозможно».
⁃ Самый лучший способ чему-то научиться – учить других. Факты запоминаются быстрее всего тогда, когда вы должны их сообщить другим людям, за которых вы отвечаете.
Больше интересных мыслей можно найти в самой книге. Следуя принципам из нее, получится стать надежным и полезным участником команды, а ваши продукты станут успешнее.
Hola, Amigos! На связи Антон Мартышков, Flutter-dev Amiga. Для меня важной составляющей профессии является самообучение, нужно постоянно расти и отрабатывать полученную теорию на практике, развиваться не только технически, но и софтово. Программирование — это марафон, где нужно регулярно развиваться, что бы не сойти с дистанции.
Уже несколько раз мы рекомендовали к прочтению книгу Роберта Мартина Идеальный программист. Она не техническая, но о нашей работе. Недавно я ее перечитал и собрал несколько отзывающихся мне тезисов:
⁃ Каждая написанная вами строка кода должна быть протестирована. Точка.
⁃ Преданность делу и профессионализм проявляются в дисциплине, а не в продолжительности работы.
⁃ Каждый раз при работе с модулем следует понемногу совершенствовать его структуру. Каждое чтение кода должно приводить к доработке структуры. Эта идеология иногда называется безжалостным рефакторингом. Я называю этот принцип «правилом бойскаута»: всегда оставляйте модуль чище, чем до вашего прихода.
⁃ Запланируйте 60 рабочих часов в неделю. Первые 40 вы работаете на своего работодателя, а остальные 20 на себя. В эти 20 часов вы читаете книги, практикуетесь, учитесь и иным образом развиваете свою карьеру.
⁃ Настоящий профессионал знает, что добавление функциональности в ущерб структуре – последнее дело. Структура кода обеспечивает его гибкость. Нарушая структуру, вы разрушаете будущее кода.
⁃ Если вы хорошо знаете, что сделать страницу к завтрашнему дню невозможно, то отвечая: «Хорошо, я попытаюсь», вы не выполняете свою работу. Выполнить ее в этот момент можно только одним способом: сказать: «Нет, это невозможно».
⁃ Самый лучший способ чему-то научиться – учить других. Факты запоминаются быстрее всего тогда, когда вы должны их сообщить другим людям, за которых вы отвечаете.
Больше интересных мыслей можно найти в самой книге. Следуя принципам из нее, получится стать надежным и полезным участником команды, а ваши продукты станут успешнее.
👍25🔥4🤔2🤩2
Hola, Amigos!
Коллеги из AGIMA написали об обновлениях Flutter 3.7.0. В посте много ссылок для собственного изучения, все как мы любим.
Коллеги из AGIMA написали об обновлениях Flutter 3.7.0. В посте много ссылок для собственного изучения, все как мы любим.
👍6🔥3
Forwarded from Заметки тимлида
Всем привет! Я Саша Ворожищев, Flutter Teamlead в AGIMA. Поэтому не могу пропустить эту новость: вышел Flutter 3.7.0. Постараюсь коротко рассказать, что в нем нового.
1. Поддержка Material 3.
Потыкать можно тут: https://flutter-experimental-m3-demo.web.app/#/.
2. Поддержка верхнего и каскадного меню для десктопных версий приложения.
https://api.flutter.dev/flutter/widgets/PlatformMenuBar-class.html.
3. Кастомизированное контекстное меню.
https://master-api.flutter.dev/flutter/cupertino/CupertinoTextField/contextMenuBuilder.html.
4. Новые виджеты CupertinoListSection и CupertinoListTile: отображения списка виджетов в стиле iOS.
https://api.flutter.dev/flutter/cupertino/CupertinoListSection-class.html
https://api.flutter.dev/flutter/cupertino/CupertinoListTile-class.html
5. Улучшение физики прокрутки и работы со списками. Также добавили новые виджеты: Scrollbars, DraggableScrollableSheet, AnimatedGrid и SliverAnimatedGrid.
https://api.flutter.dev/flutter/material/Scrollbar-class.html
https://api.flutter.dev/flutter/widgets/DraggableScrollableSheet-class.html
https://api.flutter.dev/flutter/widgets/AnimatedGrid-class.html
https://api.flutter.dev/flutter/widgets/SliverAnimatedGrid-class.html
6. Улучшение инструментов локализации. Был полностью переписан gen-l10n. Добавили работу с формами множественного числа.
https://docs.flutter.dev/development/accessibility-and-localization/internationalization
7. Замена движка Skia на Impeller. Почти. Новый движок обещает быть более быстрым и производительным при компиляции под iOS. Почему «почти»? Доступен он пока только на ветке Stage.
Подробнее:
https://github.com/flutter/flutter/wiki/Impeller
8. Проверка выпуска iOS. При выпуске приложения под iOS, при выполнении команды flutter build ipa будет проверка контрольного списка параметров. Это гарантирует, что приложение готово к отправке в AppStore.
9. Обновления инструментов разработчика. Новые функции включают в себя возможность анализировать текущую выделенную память для приложения с разбиением по классам и частям кода во время выполнения.
Обновленные инструменты позволяют сравнивать снапшоты. Это нужно, чтобы сравнивать, насколько активно используется память в двух разных моментах времени. Также появилась возможность анализа фреймов и их влияния на производительность.
Подробнее:
https://docs.flutter.dev/development/tools/devtools/memory
10. Работа с изолятами. Теперь Platform Channels можно вызывать из любого изолята. Ранее это можно было сделать только из основного потока.
11. Отключена поддержка Bitcode в iOS.
На самом деле изменений достаточно много, ознакомиться со всеми можно по ссылке ниже:
https://docs.flutter.dev/development/tools/sdk/release-notes/release-notes-3.7.0
1. Поддержка Material 3.
Потыкать можно тут: https://flutter-experimental-m3-demo.web.app/#/.
2. Поддержка верхнего и каскадного меню для десктопных версий приложения.
https://api.flutter.dev/flutter/widgets/PlatformMenuBar-class.html.
3. Кастомизированное контекстное меню.
https://master-api.flutter.dev/flutter/cupertino/CupertinoTextField/contextMenuBuilder.html.
4. Новые виджеты CupertinoListSection и CupertinoListTile: отображения списка виджетов в стиле iOS.
https://api.flutter.dev/flutter/cupertino/CupertinoListSection-class.html
https://api.flutter.dev/flutter/cupertino/CupertinoListTile-class.html
5. Улучшение физики прокрутки и работы со списками. Также добавили новые виджеты: Scrollbars, DraggableScrollableSheet, AnimatedGrid и SliverAnimatedGrid.
https://api.flutter.dev/flutter/material/Scrollbar-class.html
https://api.flutter.dev/flutter/widgets/DraggableScrollableSheet-class.html
https://api.flutter.dev/flutter/widgets/AnimatedGrid-class.html
https://api.flutter.dev/flutter/widgets/SliverAnimatedGrid-class.html
6. Улучшение инструментов локализации. Был полностью переписан gen-l10n. Добавили работу с формами множественного числа.
https://docs.flutter.dev/development/accessibility-and-localization/internationalization
7. Замена движка Skia на Impeller. Почти. Новый движок обещает быть более быстрым и производительным при компиляции под iOS. Почему «почти»? Доступен он пока только на ветке Stage.
Подробнее:
https://github.com/flutter/flutter/wiki/Impeller
8. Проверка выпуска iOS. При выпуске приложения под iOS, при выполнении команды flutter build ipa будет проверка контрольного списка параметров. Это гарантирует, что приложение готово к отправке в AppStore.
9. Обновления инструментов разработчика. Новые функции включают в себя возможность анализировать текущую выделенную память для приложения с разбиением по классам и частям кода во время выполнения.
Обновленные инструменты позволяют сравнивать снапшоты. Это нужно, чтобы сравнивать, насколько активно используется память в двух разных моментах времени. Также появилась возможность анализа фреймов и их влияния на производительность.
Подробнее:
https://docs.flutter.dev/development/tools/devtools/memory
10. Работа с изолятами. Теперь Platform Channels можно вызывать из любого изолята. Ранее это можно было сделать только из основного потока.
11. Отключена поддержка Bitcode в iOS.
На самом деле изменений достаточно много, ознакомиться со всеми можно по ссылке ниже:
https://docs.flutter.dev/development/tools/sdk/release-notes/release-notes-3.7.0
👍16🔥6
Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev Amiga.
Перевели и опубликовали новый материал на Habr — 12 методик, которые помогут создавать приложения на Flutter легко и просто. Я сам теперь применяю советы из нее в разработке. Будет полезно почитать разработчикам всех мастей, эта информация будет полезной для решения повседневных рабочих задач.
Перевели и опубликовали новый материал на Habr — 12 методик, которые помогут создавать приложения на Flutter легко и просто. Я сам теперь применяю советы из нее в разработке. Будет полезно почитать разработчикам всех мастей, эта информация будет полезной для решения повседневных рабочих задач.
Хабр
12 методик, которые помогут создавать приложения на Flutter легко и просто
Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev. Нашел интересную статью от автора Deep Bhavsar , которая помогла мне детальнее разобраться с Flutter 3, а еще я сам теперь применяю советы из нее в...
👍14🔥5👌3
Hola, Amigos!
По недавно вышедшей статье 12 методик, которые помогут создавать приложения на Flutter легко и просто сделали карточки, в которых раскрыли несколько методик. Остальное узнаете в самой статье, прочитать можно по ссылке.
По недавно вышедшей статье 12 методик, которые помогут создавать приложения на Flutter легко и просто сделали карточки, в которых раскрыли несколько методик. Остальное узнаете в самой статье, прочитать можно по ссылке.
👍11🔥4❤2👎1