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

Новости Flutter-разработки, дайджесты мероприятий, личный опыт.
Download Telegram
Hola, Amigos! Сегодня мы вводим новую рубрику - обзоры правил для статического анализатора #lintRules.

В ней мы будем рассказывать о тех правилах, которыми пользуемся сами на наших проектах.

Поэтому ловите первую подборку. А также рассказывайте в комментариях, про какие правила рассказать в следующий раз?
👍17
Hola, Amigos! Сегодня посмотрим на один пакет, который может быть полезен в разработке - paged_vertical_calendar.

Он выводит календарь непрерывным вертикальным списком вместо одного месяца переключением. Это полезно в таких случаях:
⭕️ Нужно показать сразу несколько месяцев;
⭕️ Есть выбор интервала дат, которые могут быть в разных месяцах;
⭕️ Нужен другой UX, чем стандартный.

Давайте разберем его базовое использование:


PagedVerticalCalendar(
minDate: DateTime.now().subtract(Duration(days 365)),
maxDate: DateTime.now().add(Duration(days 365)),
initialDate: DateTime.now().add(Duration(days 3)),
invisibleMonthsThreshold: 1,
startWeekWithSunday: true,
onMonthLoaded: (year, month) {
// on month widget load
},
onDayPressed: (value) {
// on day widget pressed
},
onPaginationCompleted: (direction) {
// on pagination completion
},
);


Пройдемся по его параметрам:
• minDate и maxDate помогают нам сделать календарь не бесконечным;
• initialDate - дата начального месяца, который будет показан пользователю посередине списка;
• invisibleMonthThreshold - количество месяцев, которые пользователь не видит, но они просчитываются для дальнейшего отображения;
• startWeekWithSunday - полезное свойство, если приложение работает в странах, где неделя начинается с воскресенья, а не с понедельника;
• onMonthLoaded, onPaginationCompleted - обратные вызовы, которые помогают подгружать данные, если это нужно;
• onDayPressed - обработка нажатия на какой-либо день.

Так как это все-таки список, то ему доступны еще параметры, которые есть у других похожих виджетов - controller, physics, addAutomaticKeepAlives и reverse.

Но самое интересное и важное, что такой календарь можно максимально кастомизировать под себя следующими параметрами:
• dayAspectRatio - помогает задать соотношение сторон для виджета дня;
• weekdaysToHide - скрывает дни недели, если нужно показать только определенные. Например, только рабочие дни;
• listPadding - позволяет задать отступы у списка;
• monthBuilder - позволяет кастомизировать шапку месяца под себя;
• dayBuilder - позволяет кастомизировать отображение дня на календаре.

Рассказывайте, решали ли уже подобные задачи и пользовались ли этим пакетом в своих проектах?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1🔥1
Дайджест июля

Hola, Amigos! Собрали в одну подборку все полезные посты июля, которые вы могли пропустить. Выбирайте, что интересно, и переходите по ссылкам для полезного выходного чтива:

🔴Организация импортов в проекте;
🔴Обзоры виджетов OverflowBar и SliverMainAxisGroup;
🔴Кастомизация виджета Slider - Часть 1. Часть 2. Часть 3;
🔴Правила статического анализа;
🔴Обзор пакета paged_vertical_calendar.

Всем хорошего кода!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
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