Flutter. Много
2.93K subscribers
462 photos
24 videos
285 links
Заказать мобильную разработку: https://amiga.ru//?utm_source=tg
Заказать рекламу в канале @amiga_agency_bot

Новости Flutter-разработки, дайджесты мероприятий, личный опыт.
Download Telegram
Hola, Amigos! Сегодня вышли Flutter 3.47 и Dart 3.13. Давайте вместе разберемся, что в них нового.

Самое главное и важное изменение - библиотеки Material и Cupertino стали отдельными и доступны на pub.dev как material_ui и cupertino_ui.

Кроме этого, есть важные новости по операционным системам от Apple:
• Повышены минимальные версии до iOS 15 и macOS 12;
• Переход на UIScene становится обязательным, так как Xcode 27 перестанет собирать приложения без него;
• Появилась возможность отключения сборки под macOS на процессорах Intel;
• Разработчики Flutter сообщают, что 92 из 100 пакетов из топа pub.dev перехали на Swift Package Manager.
Если вы еще не совершили миграции на UIScene и SPM, то сейчас самое время.

Касаемо других платформ:
• Теперь можно собирать релизный Flutter Web на WASM при помощи команды flutter build web --release --wasm;
• Impeller теперь используется по умолчанию на десктопе;
• Добавили flavor’ы для Windows и Linux.

Обновления Dart принесло нам новые конструкторы и новый способ объявления классов.

А также Flutter 3.47 и Dart 3.13 получили много исправлений.

Делитесь в комментариях, мигрировали ли вы свои приложения на UIScene и SPM?
❤3🔥3👍1
Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead в Amiga. Сегодня посмотрим на чек-лист того, что мы проверяем перед публикацией приложений.

Во-первых, завершаем тестирование - в приложении не должно остаться критических багов. Причем, мы сразу проверяем и Android, и iOS, что позволяет иметь хорошее качество.

Во-вторых, подготавливаем все данные для публикации:
• Иконка в коде приложения, названия пакетов;
• Ключ для сборки Android - для первой публикации приложения готовим новый. Для уже опубликованных приложений с их заменой - если ключа нет, то готовим новый и меняем в Google Play и других сторах;
• Материалы для магазинов приложений - скриншоты, описания, ключевые слова, данные для модерации и т. д.
• Меняем URL бэкенда, если это не было сделано ранее.

В-третьих, проверяемся по требованиям от Google Play и App Store. Если приложение подходит под них, то оно пройдет и в другие магазины приложений.

После этого проверяются внутренние фичи, которые мы обычно закладываем на будущее:
• Различные Feature Toggles для закрытия какого-либо функционала от пользователей
• Система уведомлений об обновлении приложения

Перед сборкой мы проверяем дополнительные системы:
• Аналитика. Что все события расставлены, работают и ключи заменены на релизные, если это требуется.
• Сбор ошибок и вылетов. Тоже проверяем, что подключено и как следует работает.
• Пуши. Как минимум отправляем на одно устройство каждой ОС и проверяем, что пуш отобразился

А далее наступает уже сам момент публикации. Именно этот чеклист позволяет нам всегда проходить в сторы практически без отказов.

Делитесь в комментариях, с какими сложностями вы чаще всего встречаетесь при публикации приложений?
❤8🔥6👍3🥰1💯1
This media is not supported in your browser
VIEW IN TELEGRAM
AI BOOST’26: выручка падает — что делают крупные digital-агентства и при чем здесь AI

22–23 октября в Москве пройдет AI BOOST’26 — конференция для владельцев, руководителей и команд digital- и IT-агентств о трансформации бизнеса в эпоху кризиса и AI.

В центре внимания — конкретные изменения, которые происходят уже сейчас: как оптимизировать расходы, увеличить продажи, ускорить производство, повысить качество и встроить AI в процессы всей компании.

Отдельный сегмент уже не спасает: сжимается сама модель, основанная на продаже времени команды.

Главный вопрос года: какую стратегию выбрать, когда старая перестала обеспечивать рост — AI-интеграцию, собственный продукт или новую нишу?

Среди 100 спикеров:
🔴Александр Богданов, AGIMA
🔴Максим Малышев, NOTAMEDIA
🔴Денис Ломов, Red Collar
🔴Антон Черноталов, E-promo
🔴Александр Щербина, ITECH
🔴Александр Хачиян, AWG и Skillstaff
🔴Никита Прохоров, Sidorin Lab
🔴Владислав Шевченко, red_mad_robot
🔴Иван Поддубный, ВебПрактик
🔴Михаил Крикало, ex-Andersen
🔴Олег Бунин, Highload

В программе — практические вопросы:
— как продолжить расти при падающем аутстаффе?
— как мигрировать из сервисной компании в продуктовую?
— как будет устроен маркетинг ближайших лет?
— как в новых реалиях находить клиентов?
— как AI изменил процесс работы над дизайном?
— как при помощи AI поставлять больше фич той же командой?

Вас ждет три потока:
— управление бизнесом;
— продажи и маркетинг;
— управление разработкой и проектами.

Для команд от 3 человек действуют индивидуальные условия и скидки.

Команда Amiga тоже будет на конференции — приходите знакомиться, обмениваться опытом и обсуждать, куда движется рынок. Увидимся на AI BOOST’26!

22–23 октября, Москва
Регистрация: boostconf.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👌3
Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead в Amiga.

Иногда QA-специалистам требуется что-то большее, чем просто пройтись по приложению, в таком случае они используют снифферы для просмотра трафика и изменения ответов на запросы. Но с Flutter есть загвоздка - он требует дополнительной настройки.

Об этом мы максимально подробно рассказали в нашей новой статье и поделились собственным опытом реализации подключения к Charles Proxy.

🔗 Ссылка на статью

Делитесь в комментариях, приходилось ли вам делать такие настройки?
🔥7❤5
Hola, Amigos! Когда нужно проверить отступы и выравнивание элементов, удобно наложить на интерфейс сетку.

Во Flutter для этого есть встроенный виджет GridPaper: он рисует линии поверх своего child, начиная от левого верхнего угла.

Допустим, мы хотим проверить расположение элементов относительно сетки с шагом 8 логических пикселей:


GridPaper(
color: const Color(0x400000FF),
interval: 80,
divisions: 10,
subdivisions: 1,
child: Padding(
padding: const EdgeInsets.all(16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
const Text('Настройки профиля'),
const SizedBox(height: 24),
ElevatedButton(
onPressed: () {},
child: const Text('Сохранить'),
),
],
),
),
);


Плотность сетки задают три параметра:
• interval — расстояние между основными линиями;
• divisions — количество делений внутри основной ячейки;
• subdivisions — дополнительные деления внутри каждого такого участка.

Сетка помогает визуально заметить смещения, но сама не выравнивает элементы и не меняет отступы. Это ориентир: увидели расхождение, проверили размеры и ограничения нужного виджета. Для такого примера достаточно обернуть нужный участок экрана в GridPaper. Только не забудьте убрать его после проверки 🙂

Делитесь в комментариях, используете сетку при проверке верстки или сверяете отдельные размеры через Flutter Inspector?
❤4👍3🔥2