Forwarded from CreativePeople
Никогда такого не было и вот опять — креативные люди что-то придумали 🤘
Нам 20 лет — и в честь этого большого события проводим специальный стрим с основателями агентства. Расскажем про развитие одного из крутейших диджитал-агентств, как мы научились адаптироваться под любые условия и делать круто вообще всегда 🔥
Когда: 13 апреля в 17:00
Где: канал «Одной ногой в диджитал».
Кто будет: креативный директор Сергей Калюжный, дизайн-директор Александр Ковальский и директор по развитию Сергей Прокофьев.
Ведущий: Валерий Пеньков.
А чтобы не забыть о дне Х, сделали для вас события, которые можно добавить в свой календарь:
Google-календарь
Яндекс.Календарь
Нам 20 лет — и в честь этого большого события проводим специальный стрим с основателями агентства. Расскажем про развитие одного из крутейших диджитал-агентств, как мы научились адаптироваться под любые условия и делать круто вообще всегда 🔥
Когда: 13 апреля в 17:00
Где: канал «Одной ногой в диджитал».
Кто будет: креативный директор Сергей Калюжный, дизайн-директор Александр Ковальский и директор по развитию Сергей Прокофьев.
Ведущий: Валерий Пеньков.
А чтобы не забыть о дне Х, сделали для вас события, которые можно добавить в свой календарь:
Google-календарь
Яндекс.Календарь
🔥5
Hola, Amigos!
Выпустили новый кейс о том, как разработали мобильном приложении на Flutter с нуля за 3 месяца для компании праздничных товаров и воздушных шаров Brav-o.
О чем вы узнаете из кейса:
- почему мы снова выбрали Flutter;
- подробности о каждом этапе разработки;
- почему выбрали тестирование методом черного ящика.
Будем рады вашим лайкам и комментариям! Если есть вопросы, пишите, на все ответим.
Выпустили новый кейс о том, как разработали мобильном приложении на Flutter с нуля за 3 месяца для компании праздничных товаров и воздушных шаров Brav-o.
О чем вы узнаете из кейса:
- почему мы снова выбрали Flutter;
- подробности о каждом этапе разработки;
- почему выбрали тестирование методом черного ящика.
Будем рады вашим лайкам и комментариям! Если есть вопросы, пишите, на все ответим.
🔥13👏4👍2❤1🤮1
Подборка статей о мобильной разработке на Flutter
Hola, Amigos! Наш тимлид Flutter-направления Тимур Моисеев собрал дайджест статей, которые стоит почитать (а еще полезный бонус).
Перспективы развития Flutter
Это статья-перевод от нашего Flutter-разработчика Саши Чаплыгина. После мероприятия Flutter Forward команда Flutter написала краткую выжимку о планах развития Flutter в 2023 году. В этой статье вы узнаете о том, над чем уже сейчас работает команда Flutter и какие 4 направления приоритетны в этом году.
In App Update - The Flutter Way
Когда вы выпускаете новую версию своего приложения, вы хотите, чтобы пользователи знали об этом. Это англоязычная обзорная статья, в которой описаны два варианта решения данного вопроса.
Dragging, zooming and placing object on indoor map with Flutter
Нестандартная задача, но не менее интересная. Если нужно масштабировать и двигать картинку, на которую нужно наложить объекты, чтобы было все связанно и красиво. В статье вы узнаете, как это реализовать на практике.
Бонусом добавил пакет для текстовой маски.
Hola, Amigos! Наш тимлид Flutter-направления Тимур Моисеев собрал дайджест статей, которые стоит почитать (а еще полезный бонус).
Перспективы развития Flutter
Это статья-перевод от нашего Flutter-разработчика Саши Чаплыгина. После мероприятия Flutter Forward команда Flutter написала краткую выжимку о планах развития Flutter в 2023 году. В этой статье вы узнаете о том, над чем уже сейчас работает команда Flutter и какие 4 направления приоритетны в этом году.
In App Update - The Flutter Way
Когда вы выпускаете новую версию своего приложения, вы хотите, чтобы пользователи знали об этом. Это англоязычная обзорная статья, в которой описаны два варианта решения данного вопроса.
Dragging, zooming and placing object on indoor map with Flutter
Нестандартная задача, но не менее интересная. Если нужно масштабировать и двигать картинку, на которую нужно наложить объекты, чтобы было все связанно и красиво. В статье вы узнаете, как это реализовать на практике.
Бонусом добавил пакет для текстовой маски.
🔥9👍4❤1
Middle Flutter-dev в Amiga
Hola, Amigos!
Amiga растет, поэтому сейчас мы расширяем штат и находимся в поисках middle Flutter-разработчика для создания больших и мощных проектов.
Тебя ждут работа над большими и сложными задачами и крупные кейсы😏
Нам важен твой опыт в коммерческой разработке на Flutter и в нативе, поэтому без выпущенных приложений в портфолио не обойтись. Общие знания программирования тоже нужны, а у идеального кандидата вообще есть сильное владение и понимание архитектурных паттернов BLoC/ Cubit / Provider.
Мы аккредитованная IT-компания, работаем строго в белую, с нами можно работать из любой точки мира. Узнать про другие плюсы и подробнее ознакомиться с вакансией можно здесь. Присылайте резюме, сопроводительные письма и примеры опубликованных приложений нашему Group Lead HR Кате.
Hola, Amigos!
Amiga растет, поэтому сейчас мы расширяем штат и находимся в поисках middle Flutter-разработчика для создания больших и мощных проектов.
Тебя ждут работа над большими и сложными задачами и крупные кейсы
Нам важен твой опыт в коммерческой разработке на Flutter и в нативе, поэтому без выпущенных приложений в портфолио не обойтись. Общие знания программирования тоже нужны, а у идеального кандидата вообще есть сильное владение и понимание архитектурных паттернов BLoC/ Cubit / Provider.
Мы аккредитованная IT-компания, работаем строго в белую, с нами можно работать из любой точки мира. Узнать про другие плюсы и подробнее ознакомиться с вакансией можно здесь. Присылайте резюме, сопроводительные письма и примеры опубликованных приложений нашему Group Lead HR Кате.
Please open Telegram to view this post
VIEW IN TELEGRAM
hh.ru
Вакансия Flutter разработчик (middle) в Москве, работа в компании Амига (вакансия в архиве c 17 мая 2023)
Зарплата: не указана. Москва. Требуемый опыт: 3–6 лет. Полная занятость. Дата публикации: 26.04.2023.
🔥5❤2👍2
Hola, Amigos!
Поздравляем всех с прошедшими праздниками и возвращаемся из затишья по случаю отпуска нашего редактора😀 В мае хочется сделать упор на 1-2 темы. Проголосуйте, пожалуйста, что интереснее? Или предлагайте свои идеи в комментариях.
Поздравляем всех с прошедшими праздниками и возвращаемся из затишья по случаю отпуска нашего редактора😀 В мае хочется сделать упор на 1-2 темы. Проголосуйте, пожалуйста, что интереснее? Или предлагайте свои идеи в комментариях.
Final Results
37%
Как пройти собеседование на Flutter-разработчика?
38%
Советы для новичков: где и что изучать, дайджесты статей и т.д.
39%
Личный опыт: с какими трудностями сталкиваемся на проектах и как решаем?
19%
Прямой эфир с нашими разработчиками раз в неделю, где они ответят на ваши вопросы.
43%
Интересные библиотеки и плагины для разработки на Flutter.
35%
Интеграция Flutter-приложений с различными API и сервисами.
Hola, Amigos!
Ну что, темы на май очевидны, мы остановимся на 2:
1. Интересные библиотеки и плагины для разработки на Flutter.
2. Личный опыт: с какими трудностями сталкиваемся и как решаем?
А в июне расскажем обо всем остальном, что было в опросе. Разрыв совсем небольшой, понятно, что все темы интересны. А чтобы оставаться на связи и пообщаться на тему Flutter-разработки — вступайте в чат канала.
Ну что, темы на май очевидны, мы остановимся на 2:
1. Интересные библиотеки и плагины для разработки на Flutter.
2. Личный опыт: с какими трудностями сталкиваемся и как решаем?
А в июне расскажем обо всем остальном, что было в опросе. Разрыв совсем небольшой, понятно, что все темы интересны. А чтобы оставаться на связи и пообщаться на тему Flutter-разработки — вступайте в чат канала.
🔥8
Hola, Amigos!
Пока разработчики пишут посты, хотим поделиться с вами классной новостью.
Мы 19 по Москве и 35 по России среди лучших веб-студий по разработки мобильных приложений в Рейтинге Рунета 2023! Кроме того, мы вошли в топ-100 комплексных digital-агентств и заняли 75 место. А еще нас признали одним из лучших digital-подрядчиков по Москве и России.
Это наш первый рейтинг, и уже такие успехи. Всего 2 года на рынке, и уже в топах одного из лучших рейтингов для веб-студий.
Спасибо большое команде, которая делает невозможное реальным, спасибо клиентам, которые доверяют нам свои мечты и идеи. Дальше больше!
Пока разработчики пишут посты, хотим поделиться с вами классной новостью.
Мы 19 по Москве и 35 по России среди лучших веб-студий по разработки мобильных приложений в Рейтинге Рунета 2023! Кроме того, мы вошли в топ-100 комплексных digital-агентств и заняли 75 место. А еще нас признали одним из лучших digital-подрядчиков по Москве и России.
Это наш первый рейтинг, и уже такие успехи. Всего 2 года на рынке, и уже в топах одного из лучших рейтингов для веб-студий.
Спасибо большое команде, которая делает невозможное реальным, спасибо клиентам, которые доверяют нам свои мечты и идеи. Дальше больше!
🔥19👍7❤6👏3🎉3🏆3
Личный опыт: проверка на новую версию
Hola, Amigos! На связи Тимур Моисеев, TeamLead Flutter.
Недавно столкнулись с ситуацией, где у пользователей перестала работать проверка новой версии в магазине. Для проверки использовали пакет upgrader.
В результате выяснилось, что некоторые операторы связи блокируют доступ к адресу https://play.google.com, без подключенного VPN на телефоне запрос не проходит.
Решения
Вариант 1:
Пакет upgrader позволяет получить информацию о версии приложения не из магазине, а со стороннего адреса, который вы укажете в настройках (см. картинка 1.)
По указанному адресу нужно положить файл формата xml:
Мы пошли вторым путем и отказались от использования зависимости — upgrader.
В качестве файла с данными по версиям стали использовать json вместо xml. Кто-то спросит, почему не использовать запрос к серверу для получения актуальной версии приложения. Все просто — экономия времени backend-разработчика.
Суть осталась прежней:
1. Делаем запрос по адресу для получения нашего файла с версиями (см. картинку 2).
2. С помощью пакета package_info_plus получаем версию приложения.
3. Сравниваем версии.
Если вышла новая версия, тогда для каждой платформы отправляем пользователя обновить приложение.
Адреса для обновления: Android, IOS.
Hola, Amigos! На связи Тимур Моисеев, TeamLead Flutter.
Недавно столкнулись с ситуацией, где у пользователей перестала работать проверка новой версии в магазине. Для проверки использовали пакет upgrader.
В результате выяснилось, что некоторые операторы связи блокируют доступ к адресу https://play.google.com, без подключенного VPN на телефоне запрос не проходит.
Решения
Вариант 1:
Пакет upgrader позволяет получить информацию о версии приложения не из магазине, а со стороннего адреса, который вы укажете в настройках (см. картинка 1.)
По указанному адресу нужно положить файл формата xml:
<?xml version="1.0" encoding="utf-8"?>Вариант 2:
<rss version="2.0" xmlns:sparkle="https://www.andymatuschak.org/xml-namespaces/sparkle">
<channel>
<title>Debt Now App - Appcast</title>
<item>
<title>Version 1.15.0</title>
<description>Minor updates and improvements.</description>
<pubDate>Sun, 30 Dec 2018 12:00:00 +0000</pubDate>
<enclosure url="https://play.google.com/store/apps/details?id=com.moonwink.treasury" sparkle:version="1.15.0" sparkle:os="android" />
</item>
</channel>
</rss>
Мы пошли вторым путем и отказались от использования зависимости — upgrader.
В качестве файла с данными по версиям стали использовать json вместо xml. Кто-то спросит, почему не использовать запрос к серверу для получения актуальной версии приложения. Все просто — экономия времени backend-разработчика.
Суть осталась прежней:
1. Делаем запрос по адресу для получения нашего файла с версиями (см. картинку 2).
2. С помощью пакета package_info_plus получаем версию приложения.
3. Сравниваем версии.
Если вышла новая версия, тогда для каждой платформы отправляем пользователя обновить приложение.
Адреса для обновления: Android, IOS.
👍10🔥3👌2
Фестиваль спорта и технологий для ИТ-специалистов
Hola, Amigos!
18 июня в Измайловском парке AGIMA проведет спортивный фестиваль для IT-специалистов RUNIT.
В этом году RUNIT пройдет в 4 раз. 3 тысячи специалистов соберутся в одном месте в одно время. Будут и те, кто придет поболеть за друзей и коллег. И мы хотим, чтобы нас было еще больше!
Центральное событие RUNIT — масштабный забег. Участвовать в нем можно индивидуально, а можно со своей командой посоревноваться в эстафете.
Участников ждет не только забег, но и различные активности. Например, можно встретиться с нами и попрыгать на скакалках на время за крутые призы от Amiga. А еще будет полевая кухня и анлимитед бар с безалкогольными напитками.
Регистрация тут. До встречи на забеге 18 июня в Измайловском парке!
Hola, Amigos!
18 июня в Измайловском парке AGIMA проведет спортивный фестиваль для IT-специалистов RUNIT.
В этом году RUNIT пройдет в 4 раз. 3 тысячи специалистов соберутся в одном месте в одно время. Будут и те, кто придет поболеть за друзей и коллег. И мы хотим, чтобы нас было еще больше!
Центральное событие RUNIT — масштабный забег. Участвовать в нем можно индивидуально, а можно со своей командой посоревноваться в эстафете.
Участников ждет не только забег, но и различные активности. Например, можно встретиться с нами и попрыгать на скакалках на время за крутые призы от Amiga. А еще будет полевая кухня и анлимитед бар с безалкогольными напитками.
Регистрация тут. До встречи на забеге 18 июня в Измайловском парке!
🔥8👍1🤯1
Talker и Collection
Hola, Amigos! На связи Сергей Климович, Flutter-dev Amiga и Тимур Моисеев, TeamLead Flutter. Сегодня поговорит о двух пакетах: Talker и Collection.
Talker
Talker — это пакет логгирования для Flutter, который предназначен для упрощения записи, отслеживания различных событий и сообщений во время разработки приложений. Конечно, один из популярных пакетов логгирования для Flutter — это logger, но сегодня не о нем.
Какие есть преимущества у пакета Talker:
1. Работает с различными State managements. Для Bloc есть отличное «расширение» — talker_bloc_logger.
2. Работает с инструментами отчетности о сбоях (Firebase Crashlytics, Sentry и д.р.).
3. Выводит журналы без отдельной реализации пользовательского интерфейс.
4. Дает возможность делиться журналами и отчетами о сбоях из коробки.
5. Есть расширение для Dio.
6. Можно расширять Talker для своих задач.
Демо на тест тут.
Collection (см. картинку)
Данная либа дополняет работу со списками и упрощает их использование. Пакет дает возможность указать равенство элементов и коллекций. Коллекции в Dart не имеют неотъемлемого равенства. Два набора не равны, даже если они содержат точно такие же объекты, как элементы.
А также есть много дополнительных методов упрощающих работу со списками.
Hola, Amigos! На связи Сергей Климович, Flutter-dev Amiga и Тимур Моисеев, TeamLead Flutter. Сегодня поговорит о двух пакетах: Talker и Collection.
Talker
Talker — это пакет логгирования для Flutter, который предназначен для упрощения записи, отслеживания различных событий и сообщений во время разработки приложений. Конечно, один из популярных пакетов логгирования для Flutter — это logger, но сегодня не о нем.
Какие есть преимущества у пакета Talker:
1. Работает с различными State managements. Для Bloc есть отличное «расширение» — talker_bloc_logger.
2. Работает с инструментами отчетности о сбоях (Firebase Crashlytics, Sentry и д.р.).
3. Выводит журналы без отдельной реализации пользовательского интерфейс.
4. Дает возможность делиться журналами и отчетами о сбоях из коробки.
5. Есть расширение для Dio.
6. Можно расширять Talker для своих задач.
Демо на тест тут.
Collection (см. картинку)
Данная либа дополняет работу со списками и упрощает их использование. Пакет дает возможность указать равенство элементов и коллекций. Коллекции в Dart не имеют неотъемлемого равенства. Два набора не равны, даже если они содержат точно такие же объекты, как элементы.
А также есть много дополнительных методов упрощающих работу со списками.
🔥12👍6❤3👎1
Hola, Amigos!
А мы к вам с новой вакансией. В команду Amiga ищем рекрутера с опытом в IT от полугода. Самое важное — драйв и огонёк в глазах, который разжигается до кострища от новых задач🔥
Подробности по ссылке.
Все, кому откликается — пишите Кате @ekaterina_spesivykh.
А мы к вам с новой вакансией. В команду Amiga ищем рекрутера с опытом в IT от полугода. Самое важное — драйв и огонёк в глазах, который разжигается до кострища от новых задач
Подробности по ссылке.
Все, кому откликается — пишите Кате @ekaterina_spesivykh.
Please open Telegram to view this post
VIEW IN TELEGRAM
hh.ru
Вакансия IT рекрутер (IT Recruiter) в Москве, работа в компании Амига (вакансия в архиве c 1 июня 2023)
Зарплата: до 70000 ₽ за месяц. Москва. Требуемый опыт: 1–3 года. Полная занятость. Дата публикации: 17.05.2023.
👍5
Hola, Amigos!
Мы заняли 63 место в рейтинге лучших мобильных разработчиков России по версии Tagline 2023🏆
Это еще одна важная для нас победа. За 2 года на рынке мы попали в 2 самых главных рейтинга России по мобильной разработке. Без нашей крутой команды ничего бы не вышло, спасибо вам большое! А еще спасибо заказчикам за доверие. Такие достижения мотивируют расти и не останавливаться, значит, мы на верном пути.
Мы заняли 63 место в рейтинге лучших мобильных разработчиков России по версии Tagline 2023🏆
Это еще одна важная для нас победа. За 2 года на рынке мы попали в 2 самых главных рейтинга России по мобильной разработке. Без нашей крутой команды ничего бы не вышло, спасибо вам большое! А еще спасибо заказчикам за доверие. Такие достижения мотивируют расти и не останавливаться, значит, мы на верном пути.
🔥17🎉5🏆3👍1
Hola, Amigos!
Недавно вышла новая версия Flutter 3.10. Мы перевели статью одного из разработчиков Flutter и поделились ею на Habr. Почитать 1 часть можно тут. В ней мы рассказываем о новых и обновленных компонентах фреймворка. На следующей неделе выпустим вторую часть про изменения в веб-разработке на Flutter.
Недавно вышла новая версия Flutter 3.10. Мы перевели статью одного из разработчиков Flutter и поделились ею на Habr. Почитать 1 часть можно тут. В ней мы рассказываем о новых и обновленных компонентах фреймворка. На следующей неделе выпустим вторую часть про изменения в веб-разработке на Flutter.
👍12🔥6
Пакеты, которыми мы часто пользуемся ч.1
Hola, Amigos! На связи вся команда Flutter в Amiga. Собрали список из must-have пакетов на Flutter, которые используем сами.
1. Пакет mask_text_input_formatter
Пакет mask_text_input_formatter используется для форматирования и проверки ввода текстовых полей на основе предопределенного шаблона маски. Он дает возможность принудительного применения определенного формата для пользовательского ввода, например номеров телефонов, номеров кредитных карт, дат и т. д.
Когда пользователь введет что-то в поле ввода, значение скорректируется автоматически: добавятся знаки препинания и тире, удалятся ненужные символы, обрежутся пробелы и изменится регистра слов.
Параметр "inputFormatter" в TextFormField или TextField позволяет разработчикам передавать список классов типа TextInputFormatter для определения поведения поля. TextInputFormatter преобразует значение поля в текст, а текст — в значение поля.
2. Пакет yandex_mapkit
Этот пакет используют для интеграции Яндекс-карт.
Ключевой плюс — большой спектр настроек карты, что позволяет сделать карту именно такой, какой вы хотите её видеть.
У yandex_mapkit есть список примеров в репозитории GitHub (ссылка на странице пакета), которые дают быстро освоить возможности пакета.
Также весомым плюсом является оптимизация пакета, карта будет хорошо работать даже при наличии нескольких сотен объектов карты (MapObject).
3. Пакет camera 0.10.5+2
В наше время сложно найти мобильное приложение, которое не взаимодействует с камерой устройства.
Вот единственный и незаменимый пакет по работе с камерой. Аналогов, покрывающих весь функционал пакета, действительно нет (мы искали).
Он пригодится, чтобы:
- получить live-stream c камеры;
- сделать запись видео;
- получить изображение с камеры;
- работать с выбранной камерой из доступных на устройстве.
Во второй части расскажем еще несколько незаменимых пакетов для нас.
Hola, Amigos! На связи вся команда Flutter в Amiga. Собрали список из must-have пакетов на Flutter, которые используем сами.
1. Пакет mask_text_input_formatter
Пакет mask_text_input_formatter используется для форматирования и проверки ввода текстовых полей на основе предопределенного шаблона маски. Он дает возможность принудительного применения определенного формата для пользовательского ввода, например номеров телефонов, номеров кредитных карт, дат и т. д.
Когда пользователь введет что-то в поле ввода, значение скорректируется автоматически: добавятся знаки препинания и тире, удалятся ненужные символы, обрежутся пробелы и изменится регистра слов.
Параметр "inputFormatter" в TextFormField или TextField позволяет разработчикам передавать список классов типа TextInputFormatter для определения поведения поля. TextInputFormatter преобразует значение поля в текст, а текст — в значение поля.
2. Пакет yandex_mapkit
Этот пакет используют для интеграции Яндекс-карт.
Ключевой плюс — большой спектр настроек карты, что позволяет сделать карту именно такой, какой вы хотите её видеть.
У yandex_mapkit есть список примеров в репозитории GitHub (ссылка на странице пакета), которые дают быстро освоить возможности пакета.
Также весомым плюсом является оптимизация пакета, карта будет хорошо работать даже при наличии нескольких сотен объектов карты (MapObject).
3. Пакет camera 0.10.5+2
В наше время сложно найти мобильное приложение, которое не взаимодействует с камерой устройства.
Вот единственный и незаменимый пакет по работе с камерой. Аналогов, покрывающих весь функционал пакета, действительно нет (мы искали).
Он пригодится, чтобы:
- получить live-stream c камеры;
- сделать запись видео;
- получить изображение с камеры;
- работать с выбранной камерой из доступных на устройстве.
Во второй части расскажем еще несколько незаменимых пакетов для нас.
Dart packages
mask_text_input_formatter | Flutter package
The package provides TextInputFormatter for TextField and TextFormField which format the input by a given mask.
🔥14👍5💩1
Hola, Amigos!
Выпустили вторую часть статьи о новой версии Flitter 3.10. В ней вы узнаете:
- об обновлениях в разработке веб и мобильных приложений;
- изменениях в движке Impeller;
- об улучшениях в API;
- за счет чего повысить производительность приложений на Flutter;
- об изменениях в устаревших функциях.
Читайте статью на Habr по этой ссылке. Если есть вопросы, задавайте их тут или в самой статье.
Выпустили вторую часть статьи о новой версии Flitter 3.10. В ней вы узнаете:
- об обновлениях в разработке веб и мобильных приложений;
- изменениях в движке Impeller;
- об улучшениях в API;
- за счет чего повысить производительность приложений на Flutter;
- об изменениях в устаревших функциях.
Читайте статью на Habr по этой ссылке. Если есть вопросы, задавайте их тут или в самой статье.
Хабр
Что нового во Flutter 3.10, ч.2
Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev Amiga и Тимур Моисеев, Teamlead Flutter Amiga. Мы продолжаем рассказывать об обновленной версии Flutter 3.10, и в этой части затронем разработку...
🔥13👍6❤4
Пакеты, которыми мы часто пользуемся ч.2
Hola, Amigos! На связи вся команда Flutter в Amiga. Дополним наш список из must-have пакетов и виджетов на Flutter, которые используем сами.
1. Пакет cached_network_image
Если вы еще не используете cached_network_image в своих проекта, то пора начать это делать. Особенно, если у вас список с картинками.
Есть пара существенных плюсов для использования этого пакета:
- изображения сохраняются в файлы на устройстве;
- увеличивается скорость отображения изображений при повторном обращении.
2. Adaptive Scaffold
Adaptive Scaffold — это пакет от команды Flutter, который облегчает создание адаптивных макетов в приложениях. Он предоставляет набор виджетов и инструментов для создания макетов, которые могут адаптироваться к разным размерам экрана и ориентациям устройств.
Основная цель пакета Flutter Adaptive Scaffold — упростить разработку макетов, которые нужно адаптировать под разные платформы и устройства с неодинаковыми размерами экрана.
AdaptiveScaffold внутренне построен на AdaptiveLayout, но абстрагируется от некоторых сложностей с помощью пресетов, основанных на спецификации Material 3 Design.
3. Библиотека grouped_list
Данная библиотека — удобные инструменты для группировки и отображения данных в списке. Она помогает справиться с типичной задачей объединения элементов списка по заданному критерию и отображения группированных данных.
Вот пример использования библиотеки для группировки списка контактов по первой букве их имен:
Это лишь пример использования "grouped_list" в Flutter, и библиотека предлагает и другие возможности для настройки и работы с группированными списками.
Hola, Amigos! На связи вся команда Flutter в Amiga. Дополним наш список из must-have пакетов и виджетов на Flutter, которые используем сами.
1. Пакет cached_network_image
Если вы еще не используете cached_network_image в своих проекта, то пора начать это делать. Особенно, если у вас список с картинками.
Есть пара существенных плюсов для использования этого пакета:
- изображения сохраняются в файлы на устройстве;
- увеличивается скорость отображения изображений при повторном обращении.
2. Adaptive Scaffold
Adaptive Scaffold — это пакет от команды Flutter, который облегчает создание адаптивных макетов в приложениях. Он предоставляет набор виджетов и инструментов для создания макетов, которые могут адаптироваться к разным размерам экрана и ориентациям устройств.
Основная цель пакета Flutter Adaptive Scaffold — упростить разработку макетов, которые нужно адаптировать под разные платформы и устройства с неодинаковыми размерами экрана.
AdaptiveScaffold внутренне построен на AdaptiveLayout, но абстрагируется от некоторых сложностей с помощью пресетов, основанных на спецификации Material 3 Design.
3. Библиотека grouped_list
Данная библиотека — удобные инструменты для группировки и отображения данных в списке. Она помогает справиться с типичной задачей объединения элементов списка по заданному критерию и отображения группированных данных.
Вот пример использования библиотеки для группировки списка контактов по первой букве их имен:
import 'package:flutter/material.dart';В этом примере мы определяем список контактов и используем
import 'package:grouped_list/grouped_list.dart';
class Contact {
final String name;
final String phoneNumber;
Contact({required this.name, required this.phoneNumber});
}
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
final List<Contact> contacts = [
Contact(name: 'Alice', phoneNumber: '1234567890'),
Contact(name: 'Bob', phoneNumber: '9876543210'),
Contact(name: 'Charlie', phoneNumber: '5555555555'),
// Дополнительные контакты...
];
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Grouped List',
home: Scaffold(
appBar: AppBar(
title: Text('Grouped List'),
),
body: GroupedListView<Contact, String>(
elements: contacts,
groupBy: (contact) => contact.name.substring(0, 1),
groupSeparatorBuilder: (String value) => Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
value,
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
),
),
itemBuilder: (context, contact) => ListTile(
title: Text(contact.name),
subtitle: Text(contact.phoneNumber),
),
),
),
);
}
}
GroupedListView
для создания списка, где контакты будут сгруппированы по первой букве их имен. groupBy
принимает функцию, которая возвращает ключ группы для каждого элемента, и groupSeparatorBuilder
используется для создания виджета, разделяющего каждую группу. itemBuilder
определяет, как будет отображаться каждый элемент списка.Это лишь пример использования "grouped_list" в Flutter, и библиотека предлагает и другие возможности для настройки и работы с группированными списками.
Dart packages
cached_network_image | Flutter package
Flutter library to load and cache network images. Can also be used with placeholder and error widgets.
👍24🔥11❤3
Hola, Amigos!
18 июня в Измайловском парке прошел самый крупный фестиваль спорта и ИТ RUNIT 2023. В этом году мы стали партнерами мероприятия и проводили свою спорт-активность — соревнования по прыжкам на скакалках. Каждому победителю вручали фирменный рюкзак с лого.
О том, как это было, листайте в фотоотчете🏅
18 июня в Измайловском парке прошел самый крупный фестиваль спорта и ИТ RUNIT 2023. В этом году мы стали партнерами мероприятия и проводили свою спорт-активность — соревнования по прыжкам на скакалках. Каждому победителю вручали фирменный рюкзак с лого.
О том, как это было, листайте в фотоотчете🏅
🔥11👏5❤4