Flutter. Много
2.77K subscribers
333 photos
23 videos
258 links
Заказать мобильную разработку: https://amiga.agency/?utm_source=tg
Заказать рекламу в канале @amiga_agency_bot

Новости Flutter-разработки, дайджесты мероприятий, личный опыт.
Download Telegram
Школа, школа, я скучаю

Тоже поёте целый день осенние ХИТы: «я календарь переверну», «осень, осень», «вот и лето прошло»?😂

Hola, Amigos! В день знаний — 1 сентября хотим вам напомнить, что учиться новому можно и нужно в любом возрасте. Берите пример с нашей команды.

2 сентября мы идем на IT-пикник, чтобы послушать классных спикеров из Тинькофф, Яндекс и Neogenda, а также поучаствовать в нашем любимом формате — воркшопах и познакомиться с интересными ребятами из IT. Ищите нас в футболках Amiga!

15-16 сентября наш руководитель мобильной разработки Тимур Моисеев летит в Ульяновск на международную конференцию «Стачка». Тимур выступит с докладом «ML и Flutter» и расскажет, как мы первые в России подружили эти 2 сущности.

30 сентября наш СЕО Дмитрий Тарасов рванёт в Ижевск на ту самую умную вечеринку «UIC DEV 2023». Дима готовит выступление на тему «Почему Flutter самое лучшее предложение для бизнеса», будет много кейсов и крутых историй из практики.

А пока ловите наши атмосферные карточки с APW’23 и регистрируйтесь на предстоящие конференции! Будем рады познакомиться с вами вживую.
🔥103👎1
Где учиться Flutter?

Hola, Amigos! Вы часто нам задаете этот вопрос, и сегодня мы хотим вам рассказать о бесплатном хендбуке по Flutter от Академии Яндекса. В этом онлайн-учебнике эксперты компании собрали теорию и кейсы из практики — всё, что поможет вам изучить Flutter с разных сторон и эффективно применять новые знания в рабочих задачах.

Чтобы начать заниматься, достаточно знать любой С-подобный язык или владеть Dart на уровне написания базовых алгоритмов. Пока что на сайте доступна только первая глава учебника, но Академия Яндекса обещает совсем скоро опубликовать и другие части.

«Авторы книги действительно вложили много усилий в создание структурированной информации. Они кратко описали ключевые концепции и функции Flutter, предоставив читателю основы для начала работы. Можно отметить, насколько хорошо книга сбалансирована для разных уровней опыта. Даже если вы новичок, объяснения просты и понятны, приводятся примеры, а для более опытных разработчиков есть практические советы, благодаря которым можно усилить свою экспертизу. Ждем открытие следующих глав», — вот что говорит наш Flutter-разработчик, Данила Попов.

Ловите хендбук по ссылке! Надеемся, что вам будет полезно. Не забывайте подписаться на новости, чтобы не пропустить выход новых материалов.
🔥215💯2👍1
Нововведения фреймворка Flutter 3.13. Часть 1

Hola, Amigos! На связи Тимур Моисеев, руководитель мобильной разработки Amiga. Подготовили для вас большой перевод статьи об изменениях во фреймворке Flutter 3.13: двумерный скроллинг, более быстрая графика, обновленный модуль Material 3 и многое другое.

Делюсь с вами переводом первой части, в которой будет идти речь про:

– Улучшения в графическом движке рендеринга Impeller.
– Новый API для улучшения поддержки складных устройств.
– Фреймворк Material.

Переходите по ссылке, оставляйте комментарии и ставьте лайки, если было полезно! Через пару дней выложу вторую часть, to be continued😉
🔥21👍5🥰31
Нововведения фреймворка Flutter 3.13. Часть 2

Hola, Amigos! На связи Тимур Моисеев, руководитель мобильной разработки Amiga. Как и обещал, делюсь второй частью перевода статьи про обновления во Flutter 3.13, в котором:

– изменения в жизненном цикле приложения;
– скроллинг;
– новые сливеры;
– доступность;
– платформы;
– обновления игр;
– новые функции DevTools.

Ссылка здесь, приятного чтения! Пишите в комментариях, чего ждали больше всего?
👍12🔥8🤔2
Подборка других важных новостей

Hola, Amigos! Обычно здесь мы пишем только про Flutter, и это навело нас на мысль, что некоторые из вас могут даже и не догадываться, что Amiga — это агентство web и mobile разработки полного цикла. Кроме большой Flutter-команды у нас есть аналитики, дизайнеры, web-разработчики, тестировщики и другие ребята, которые чаще всего за кулисами, но имеют огромное значение для всей компании.

Amiga появилась в 2021 году, мы стартовали с 3 человек, сейчас нас 70. За 2 года существования компания завоевала топовые награды за проекты и верхние позиции рейтинга digital-подрядчиков Москвы по версии Рейтинга Рунета.

Новости не про Flutter, но это не делает их скучными:

1. Статья от frontend разработчика Amiga — Игоря Мельникова «5 новинок CSS в адаптивной верстке».

2. Кейс «Шахтинская плитка». Рассказываем, зачем бизнесу имиджевый сайт.

3. Статья от руководителя проектного офиса Amiga — Маши Воробьевой «Управление отношениями с клиентом».

4. Кейс Easy «Как мы сэкономили клиенту 2🍋 и разработали приложение VK».

5. Статья PHP-разработчика Amiga — Жени Шмулевского «Организация кода в Laravel. Личный опыт».

Если было интересно, жмите реакцию и пишите в комментариях, что хотели бы узнать о нас?
🔥11💩5👍3🤩2👎1
Hola, Amigos! Сегодня мы всей командой празднуем День программиста и поздравляем всех магов кода🎉 Вы воплощаете идеи в реальность и создаете потрясающие проекты!

Благодаря сайтам и мобильным приложениям, жизнь миллионов людей становится проще, а множество рутинных процессов автоматизируются. Спасибо вам за это! Ваши знания и навыки лежат в основе всего современного мира, без них не обойтись ни одной области деятельности.

Желаем вам больше интересных, творческих и успешных проектов. Меньше багов и работы с чужим кодом. Мы восхищаемся вашими способностями находить нестандартные решения и творить чудеса💫

С праздником, любимые программисты!
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉185🔥4
Возможности и ограничения FlutterFlow

Hola, Amigos! Рассказываем, как упростить процесс создания мобильных приложений на Flutter с помощью платформы FlutterFlow.

В чем особенность FlutterFlow?

FlutterFlow — это инструмент, который позволяет создавать мобильные приложения на базе фреймворка Flutter без необходимости писать много кода. Он предоставляет визуальный интерфейс для создания макетов, добавления функциональности и интеграции сторонних сервисов.

Плюсы FlutterFlow:

📲 Интуитивно понятный редактор для создания пользовательского интерфейса. Вы можете перетаскивать и настраивать элементы, что делает процесс проектирования приложения быстрым и простым.

📲 Легкая интеграция сторонних сервисов (Firebase, Stripe, и др.) без необходимости писать сложный код.

📲 Генерация кода на основе дизайна и конфигурации, что значительно ускоряет процесс разработки.

Ограничения FlutterFlow:

– Некоторые сложные пользовательские интерфейсы могут потребовать ручной доработки.

– За расширенные функции придется платить.

FlutterFlow отлично подходит для MVP проектов с ограниченным бюджетом.

Делитесь в комментариях своим опытом использования FlutterFlow📬
🔥9👍71
Камера во Flutter

Hola, Amigos! С вами Саша Чаплыгин, Flutter-dev Amiga. Работаю над улучшением NDA-проекта — приложение, в котором используется камера для сканирования определенных элементов на товаре. Делюсь с вами обзором, как начать использовать камеру в приложении Flutter.

Нам понадобится пакет camera. Добавьте его в файл pubspec.yaml вашего проекта:

yaml
dependencies:
camera: ^0.9.4+5


После этого запустите flutter pub get для установки зависимостей.

Создадим свою собственную страницу.
Используем виджет CameraPreview для отображения камеры на экране. Для этого в initState инициализируем наш CameraController c использованием CameraDescription (полученным из availableCameras).

*код нашего виджета*
late CameraController _controller;

@override
void initState() {
super.initState();
_controller = CameraController(
widget.camera, // CameraDescription
ResolutionPreset.high,
);

_controller.initialize().then((_) {
if (!mounted) {
return;
}
setState(() {});
});
}

@override
void dispose() {
_controller.dispose();
super.dispose();
}

@override
Widget build(BuildContext context) {
if (!_controller.value.isInitialized) {
return Container();
}
return AspectRatio(
aspectRatio: _controller.value.aspectRatio,
child: CameraPreview(_controller), // кастомизируем тут
);
}
}


Теперь у нас есть экран камеры, добавим функционал для запуска и остановки камеры. Например, вы можете добавить кнопку «Сделать фото» и кнопку «Записать видео», добавив их в ваш кастомный виджет с экраном камеры.

FloatingActionButton(
onPressed: () async {
try {
if (!_controller.value.isInitialized) {
return;
}
final image = await _controller.takePicture();
// Обработка сохраненной фотографии
} catch (e) {
// Обработка ошибок
}
},
child: Icon(Icons.camera),
),
FloatingActionButton(
onPressed: () async {
try {
if (!_controller.value.isInitialized) {
return;
}
if (!_controller.value.isRecordingVideo) {
await _controller.startVideoRecording();
} else {
final video = await _controller.stopVideoRecording();
// Обработка сохраненного видео
}
} catch (e) {
// Обработка ошибок
}
},
child: Icon(
_controller.value.isRecordingVideo
? Icons.stop
: Icons.videocam,
),
),


Не забудьте добавить разрешение на доступ к камере в файлах Info.plist на iOS и в AndroidManifest.xml на Android. И обрабатывайте исключения, дабы не попасть впросак🙂 Удачи!

Пишите в комментариях было ли полезно и рассказывайте о своих проектах Flutter с камерой!
👍19🔥111
Hola, Amigos! В этом году мы участвуем в конкурсе «Рейтинга Рунета» с 3-мя крутейшими проектами. Мы врываемся в него впервые, поэтому можете представить, насколько для нас это важно💜

В ежегодном всероссийском конкурсе участвуют 3 наших сайта:

Gigoo. Маркетплейс, который помогает руководителям бизнесов получить быстрый доступ к качественной экспертизе.

Шахтинская плитка. Сайт-каталог, который поддерживает имидж ведущего отечественного производителя на рынке.

Академия Талантов. Государственный образовательный портал, который хранит в себе всю информацию об образовательных программах и является оператором взаимодействия студентов и преподавателей.

До 20 сентября идет народное голосование, 22 сентября к оценке работ приступит экспертная комиссия и члены жюри — ведущие профессионалы веб- и мобильной разработки, а также представители бизнеса.

Сейчас самое время поставить «отлично» нашим проектам! Регистрация не требуется, поэтому понадобится всего 3 минуты на доброе дело. Вам не сложно, нам приятно🥰

Всем посылаем лучики благодарности!
🔥12💩3👍21
Hola, Amigos! Делимся Flutter-пакетами, которые улучшат ваши приложения:

📌carousel_slider: Если вам нужно добавить красивый карусельный слайдер с изображениями или контентом, этот пакет для вас. Он предоставляет легкий и гибкий способ создания интерактивных каруселей.

📌flutter_slidable: Перетаскиваемое меню — это то, что делает ваше приложение удобным для пользователей. Этот пакет поможет вам легко добавить скользящие действия к элементам списка, таким как удаление, архивирование и многое другое.

📌auto_size_text: Управление текстовым контентом может быть сложной задачей, особенно когда вы не знаете, сколько места он займет. Этот пакет автоматически подстраивает размер текста под доступное пространство, облегчая вам жизнь при работе с разнообразными макетами.

Надеемся, эти пакеты сделают вашу разработку более продуктивной!

Делитесь популярными пакетами в комментариях или пишите, про какой нам рассказать подробнее?
🔥272👍1
Основы CI/CD

Hola, Amigos! Рассказываем про важный инструмент в создании приложений, который позволяет улучшить процесс разработки, ускорить доставку обновлений и снизить риски — непрерывная интеграция (CI) и доставка (CD).

Что это такое?

Непрерывная интеграция (CI) — это практика, при которой код разработчиков регулярно (обычно несколько раз в день) интегрируется в общую ветвь. Каждый раз, когда новый код добавляется, автоматически запускаются тесты, чтобы убедиться, что новый код не сломал существующую функциональность.

Непрерывная доставка (CD) — это практика, при которой каждое успешное завершение цикла CI автоматически запускает процесс доставки приложения в целевую среду (например, на сервере или в магазинах приложений).

Основные преимущества CI/CD:

💫 Автоматизация: CI/CD интегрирует автоматическую сборку, тестирование и развертывание, что позволяет разработчикам концентрироваться на коде, а не на рутинных операциях.

💫 Улучшенное качество: Регулярная интеграция и тестирование помогают выявлять и устранять ошибки на ранних этапах разработки.

💫 Ускорение доставки: Благодаря непрерывной поставке, новые функции и исправления могут достигать конечных пользователей намного быстрее.

💫 Надежность: CI/CD позволяет уделять больше внимания контролю качества и безопасности кода.

💫 Улучшенная совместная работа: Разработчики могут легко сотрудничать, так как изменения в коде интегрируются и тестируются непрерывно.

С основами разобрались! Оставьте реакцию под постом, если эта методология вам уже была знакома👍🏻

В следующих постах поговорим о этапах, инструментах и конфигурации CI/CD для мобильных приложений.
👍26🔥94
Этапы CI/CD

Hola, Amigos! Продолжаем глубже погружаться в мир CI/CD. Понимание этапов CI/CD
поможет вам настроить эффективный процесс автоматизации разработки и доставки вашего мобильного приложения.

1️⃣ Интеграция (Integration)

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

2️⃣ Сборка (Build)

Это процесс компиляции и создания исполняемых файлов вашего приложения из исходного кода. В CI/CD среде сборка автоматизирована, что обеспечивает консистентность и надежность сборки на всех этапах разработки.

3️⃣ Тестирование (Testing)

Происходят все виды тестирования: юнит-тестирование, интеграционное тестирование, функциональное тестирование и другие. Тесты должны автоматически запускаться после каждой сборки для выявления возможных проблем.

4️⃣ Доставка (Delivery)

После успешной сборки и тестирования приложение готово к доставке. На этом этапе оно может быть автоматически упаковано и развернуто на тестовых или боевых серверах. Доставка включает в себя также автоматическое создание документации и уведомлений.

5️⃣ Развертывание (Deployment)

Этап развертывания заключается в доставке приложения пользователям. Он может быть автоматизирован с использованием инструментов, таких как CI/CD пайплайны или контейнеризация. Это гарантирует, что ваше приложение всегда обновлено и доступно пользователям.

6️⃣ Мониторинг (Monitoring)

После развертывания важно отслеживать работу приложения. Мониторинг включает в себя сбор метрик, регистрацию ошибок и мониторинг производительности. Эти данные помогают оперативно реагировать на проблемы и улучшать качество приложения.

Настройка автоматического выполнения каждого этапа с учетом вашей инфраструктуры и требований приложения поможет вам ускорить и улучшить процесс разработки. Ставьте реакцию, если было полезно!
👍15🔥41
Встречаемся на UIC DEV 2023

Hola, Amigos! Мы участвуем в технологической конференции UIC DEV в Ижевске. Это та самая умная вечеринка про IT и для IT, на которой одновременно стартуют 12 тематических потоков: бэкенд, фронтенд, мобильная разработка, тестирование, дизайн, менеджмент и другие🪩

UIC — семейство старейших IT-мероприятий Удмуртии. 1000+ участников из 10+ регионов Поволжья и Урала. 70+ спикеров из ведущих компаний РФ и не только.

От Amiga выступит наш СЕО Дмитрий Тарасов с докладом «Почему Flutter лучшее предложение для бизнеса». Покажем мнооого наших кейсов и расскажем, почему так горячо любим Flutter. Сравним его с нативом и ответим на все ваши вопросы, развеем сомнения на счет кроссплатформенности.

UIC DEV пройдет уже 30 сентября, поэтому скорее покупайте билет по ссылке. По промокоду TARASOV дарим скидку 20% на билет🎟

До встречи в Ижевске!
13👏4👍3
Инструменты и конфигурации CI/CD

Hola, Amigos! Сегодня поговорим о важных инструментах и конфигурации CI/CD для мобильных приложений. Правильный выбор инструментов и их настройка могут существенно упростить вашу работу и улучшить процесс разработки.

Инструменты для CI/CD:

Jenkins: популярный open-source сервер автоматизации поддерживает множество плагинов, что делает его гибким инструментом для настройки CI/CD пайплайнов.

Travis CI: облачный сервис, который предоставляет простое управление пайплайнами CI/CD для проектов на GitHub и других платформах.

CircleCI: еще один облачный сервис, который предлагает масштабируемые и настраиваемые CI/CD пайплайны.

GitLab CI/CD: если ваш проект хранится на GitLab, вы можете использовать встроенные инструменты для настройки CI/CD.

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

Конфигурация CI/CD:

Выбор Целевых Сред (Environments): Определите, где будете разворачивать приложение: тестовые среды, стейджинг, боевая среда и т.д.

Сборка и Тестирование: Настройте скрипты сборки и автоматические тесты. Удостоверьтесь, что тесты покрывают все аспекты вашего приложения.

Доставка: Определите, как вы будете доставлять приложение в целевые среды.

Развертывание: Настройте автоматическое развертывание на выбранные среды. Используйте контейнеризацию, если это уместно.

Мониторинг и Оповещения: Не забудьте настроить мониторинг производительности и оповещения для своих CI/CD пайплайнов, чтобы оперативно реагировать на проблемы.

Хранение Конфигурации: Лучше всего хранить конфигурацию CI/CD в коде (например, .gitlab-ci.yml или .travis.yml), чтобы она была частью вашего репозитория и отслеживалась вместе с кодом.

Выбор инструментов и правильная конфигурация CI/CD играют важную роль в ускорении разработки и обеспечении надежности ваших мобильных приложений. Не стесняйтесь экспериментировать и настраивать пайплайны под свои нужды.

Если у вас есть вопросы или хотите узнать больше о каком-либо конкретном инструменте, дайте знать в комментариях!
🔥11👍52
Наша Flutter команда на DevFest🤪

Hola, Amigos! 6-8 октября в Омске пройдет конференция DevFest для программистов, дизайнеров и тестировщиков. В этом году будет бурное обсуждение сразу 10 треков: iOS, Android, Аврора, Automation, Flutter, .NET, Python, UX/UI, Golang, Web. Среди спикеров: VK, Литрес, Тинькофф, Самолет, Яндекс и другие.

Amiga будут представлять:
1. Тимур Моисеев, руководитель мобильной разработки с докладом «Flutter и ML».
2. Саша Чаплыгин, Flutter-разработчик с докладом «Flutter и камера».

Выступаем 6 октября в 12 и в 15 часов. Приходите! Будет только практическая информация для коллег по цеху, разложим всё по полочкам на примере кейсов. И с удовольствием ответим на ваши вопросы про кроссплатформенность💜

Место встречи: ОмГТУ, пр. Мира 11а, 6 корпус. Увидимся!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍51
Модификаторы классов для сопровождающих API

Hola Amigos! На связи Тимур Моисеев, руководитель мобильной разработки Amiga. Сегодня делюсь с вами переводом статьи, из которой вы узнаете, как использовать новые модификаторы и как они влияют на пользователей ваших библиотек.

Содержание:
– Модификатор mixin классов
– Другие модификаторы согласия
– Модификатор interface_
– Модификатор base_
– Модификатор final_
– Модификатор sealed_

Переходите по ссылке, чтобы прочитать статью. И ставьте реакцию💜на пост, если было полезно!
🔥116👍3
Keys во Flutter

Hola Amigos! На связи Тимур Моисеев, руководитель мобильной разработки Amiga. Еще раз решил кратко пройтись по теме ключей у виджетов. Хочется осветить пару моментов, которые будут полезны как начинающим разработчикам, так и тем, кто уже немного погрузился во Flutter.

В статье рассказал, для чего нужен ключ виджета и чем отличаются локальные ключи от глобальных.

Переходите читать на Habr! И накидайте реакций под постом, если формат коротких заметок — 👍
🔥17👍92
This media is not supported in your browser
VIEW IN TELEGRAM
Обзор пакета flutter_slidable

Hola, Amigos! Мы решили вернуть рубрику #пп — полезный пакет. Будем рассказывать про пакеты во Flutter, которые помогут вам разрабатывать удобные и классные приложения. Все подобные посты будем собирать под хэштегом #пп, чтобы в случае чего, вы смогли быстро найти нужный.

Сегодня про flutter_slidable. Этот пакет позволяет создавать скользящие списки с направленными действиями скольжения, которые можно отклонить в процессе выполнения.

Flutter Slidable добавляет два новых виджета:

1. HorizontalSlidableButton — для горизонтальных скользящих действий.
2. VerticalSlidableButton — для вертикальных скользящих действий.

Пакет обладает широким функционалом, включая:

📱Взаимодействие с анимацией через AnimationController.
📱isRestart — после взаимодействия можно вернуть виджет в исходное состояние.
📱completeSlideAt — позволяет задавать прогресс прокрутки, после которого остальной процесс будет доведен до начала или конца (при включенном autoSlide=true).
📱autoSlide — включить или выключить автоскролл, при котором после завершения прокрутки, прогресс автоматически доводится либо до начала, либо до конца.

Такой функционал делает flutter_slidable мощным инструментом для создания интерактивных и удобных списков в ваших мобильных приложениях. Он пригодится, если вы хотите добавить жесты, позволяющие выполнять действия на элементах списка, например, удаление, архивирование и др.

Примеры использования можно изучить в официальном репозитории на GitHub.

Желаем вам удачи в разработке! И ставьте реакции на пост, если рады возвращению рубрики🎉
🔥23👍6💯6🏆32