Интеграция API во Flutter
Hola, Amigos!
Сегодня мы поговорим об интеграции API во Flutter. Давайте рассмотрим различные методы, которые позволяют обрабатывать сетевые запросы и ответы, обновлять пользовательский интерфейс.
1. Пакет HTTP
Наиболее распространенный подход к извлечению данных из API — использование пакета http, который предлагает простой и гибкий API для выполнения HTTP-запросов. Для начала вам нужно добавить пакет в файл pubspec.yaml:
2. JSON.
Чтобы использовать данные из API, обычно используют JSON. Flutter предоставляет библиотеки синтаксического анализа JSON, например, dart:convert, которые позволяют преобразовывать строки JSON в объекты Dart и наоборот. Вот пример разбора данных JSON:
3. Ошибки с API.
В случаях, когда вызовы API завершаются сбоем или возникают исключения, понадобится способ работы над ошибками и отображения обратной связи пользователей. Flutter предоставляет широкий спектр компонентов пользовательского интерфейса, таких как Snackbars или Dialogs, для уведомления пользователей об ошибках и предоставления полезной информации.
Помните, что интеграция API во Flutter выходит за рамки простого поиска данных. Вы также можете отправлять данные в API, обрабатывать аутентификацию и авторизацию и взаимодействовать со службами RESTful, используя различные методы, заголовки и параметры запроса. Обязательно изучите документацию API, с которыми вы работаете, чтобы понять их конкретные требования и возможности.
Hola, Amigos!
Сегодня мы поговорим об интеграции API во Flutter. Давайте рассмотрим различные методы, которые позволяют обрабатывать сетевые запросы и ответы, обновлять пользовательский интерфейс.
1. Пакет HTTP
Наиболее распространенный подход к извлечению данных из API — использование пакета http, который предлагает простой и гибкий API для выполнения HTTP-запросов. Для начала вам нужно добавить пакет в файл pubspec.yaml:
dependencies:После импорта пакета в свой проект можно использовать его для выполнения различных типов запросов: GET, POST, PUT и DELETE. Вот пример простого GET-запроса:
http: ^0.13.4
import 'package:http/http.dart' as http;В этом примере определяется конечная точка API с помощью функции Uri.parse() и делается запрос GET с помощью http.get(). Затем ответ проверяется на наличие кода состояния.
void fetchData() async {
var url = Uri.parse('https://api.example.com/data');
var response = await http.get(url);
if (response.statusCode == 200) {
// Successful response
var data = response.body;
// Process the data and update the UI
} else {
// Error handling
print('Request failed with status: ${response.statusCode}');
}
}
2. JSON.
Чтобы использовать данные из API, обычно используют JSON. Flutter предоставляет библиотеки синтаксического анализа JSON, например, dart:convert, которые позволяют преобразовывать строки JSON в объекты Dart и наоборот. Вот пример разбора данных JSON:
import 'dart:convert';В этом фрагменте применяется json.decode() для преобразования строки JSON в карту пар ключ-значение.
void processData(String jsonString) {
var jsonResponse = json.decode(jsonString);
var title = jsonResponse['title'];
var description = jsonResponse['description'];
// Update the UI with the parsed data
}
3. Ошибки с API.
В случаях, когда вызовы API завершаются сбоем или возникают исключения, понадобится способ работы над ошибками и отображения обратной связи пользователей. Flutter предоставляет широкий спектр компонентов пользовательского интерфейса, таких как Snackbars или Dialogs, для уведомления пользователей об ошибках и предоставления полезной информации.
Помните, что интеграция API во Flutter выходит за рамки простого поиска данных. Вы также можете отправлять данные в API, обрабатывать аутентификацию и авторизацию и взаимодействовать со службами RESTful, используя различные методы, заголовки и параметры запроса. Обязательно изучите документацию API, с которыми вы работаете, чтобы понять их конкретные требования и возможности.
Dart packages
http | Dart package
A composable, multi-platform, Future-based API for HTTP requests.
🔥15👍6
Интеграция Firebase с Flutter, ч.1
Hola, Amigos!
В сегодняшнем посте мы поговорим о Firebase — что это такое и как может помочь в разработке приложений.
Firebase — это комплексная платформа от Google, в которой есть современные функции для разработки, перекомпоновки и улучшения приложений. Это набор инструментов, которые разработчики могут использовать при создании приложений в зависимости от своей потребности.
Цель Firebase заключается в решении трех основных проблем:
1. Быстро создать приложение.
2. Выпустить и обеспечить надежный мониторинг работоспособности.
3. Вовлечь пользователей.
Некоторые из популярных функций платформы Google Firebase включают в себя базы данных, аутентификацию, push-уведомления, аналитику, хранение файлов и многое другое.
Аутентификация Firebase
Аутентификация является важным аспектом многих приложений, и Firebase упрощает реализацию аутентификации пользователей. С помощью Firebase Authentication можно включать такие методы входа, как электронная почта/пароль, Google, Twitter и другие аккаунты. Firebase также дает возможности управления пользователями — сброс пароля и проверка электронной почты.
База данных Firebase в реальном времени
С помощью Firebase Real-time Database можно создавать приложения в режиме совместной работы в реальном времени. База данных NoSQL хранит и синхронизирует данные на нескольких устройствах, дает возможность просматривать изменения в данных и соответствующим образом обновлять пользовательский интерфейс. Благодаря усиленным правилам безопасности Firebase только авторизованные пользователи могут читать или писать в вашу базу данных.
Облачные сообщения Firebase
С помощью Firebase Cloud Messaging (FCM) можно взаимодействовать с пользователями. FCM позволяет отправлять push-уведомления в приложениях Flutter на устройствах iOS и Android. Можно ориентироваться на определенные устройства, сегменты пользователей или запускать уведомления на основе определенных событий.
Hola, Amigos!
В сегодняшнем посте мы поговорим о Firebase — что это такое и как может помочь в разработке приложений.
Firebase — это комплексная платформа от Google, в которой есть современные функции для разработки, перекомпоновки и улучшения приложений. Это набор инструментов, которые разработчики могут использовать при создании приложений в зависимости от своей потребности.
Цель Firebase заключается в решении трех основных проблем:
1. Быстро создать приложение.
2. Выпустить и обеспечить надежный мониторинг работоспособности.
3. Вовлечь пользователей.
Некоторые из популярных функций платформы Google Firebase включают в себя базы данных, аутентификацию, push-уведомления, аналитику, хранение файлов и многое другое.
Аутентификация Firebase
Аутентификация является важным аспектом многих приложений, и Firebase упрощает реализацию аутентификации пользователей. С помощью Firebase Authentication можно включать такие методы входа, как электронная почта/пароль, Google, Twitter и другие аккаунты. Firebase также дает возможности управления пользователями — сброс пароля и проверка электронной почты.
База данных Firebase в реальном времени
С помощью Firebase Real-time Database можно создавать приложения в режиме совместной работы в реальном времени. База данных NoSQL хранит и синхронизирует данные на нескольких устройствах, дает возможность просматривать изменения в данных и соответствующим образом обновлять пользовательский интерфейс. Благодаря усиленным правилам безопасности Firebase только авторизованные пользователи могут читать или писать в вашу базу данных.
Облачные сообщения Firebase
С помощью Firebase Cloud Messaging (FCM) можно взаимодействовать с пользователями. FCM позволяет отправлять push-уведомления в приложениях Flutter на устройствах iOS и Android. Можно ориентироваться на определенные устройства, сегменты пользователей или запускать уведомления на основе определенных событий.
🔥13👍7👌3💩1
Интеграция Firebase с Flutter, ч.2
Hola, Amigos! Продолжаем говорить о Firebase. Сегодня затронем облачное хранилище, а еще реализацию real-time чатов внутри приложения.
Облачное хранилище Firebase
Firebase Cloud Firestore — это гибкая и масштабируемая база данных документов NoSQL, которая дополняет возможности реального времени Firebase Real-time Database. Он предлагает структурированный подход к хранению данных. Cloud Firestore также предоставляет возможности запросов и автономную поддержку, что упрощает создание сложных приложений.
Внедрение чатов Firebase в реальном времени
Для реализации real-time чата можно использовать Firebase Realtime Database или Firebase Cloud Firestore.
С помощью Firebase Realtime Database или Firebase Cloud Firestore получится разработать структуру данных для хранения сообщений чата. Firebase автоматически оповещает подключенных клиентов, что позволяет мгновенно отображать новые сообщения в интерфейсе чата.
С помощью Firebase можно применять различные инструменты для аутентификации пользователей, хранения файлов (например, изображений), отправки уведомлений и других функций, которые могут быть полезны при разработке приложения чата.
Hola, Amigos! Продолжаем говорить о Firebase. Сегодня затронем облачное хранилище, а еще реализацию real-time чатов внутри приложения.
Облачное хранилище Firebase
Firebase Cloud Firestore — это гибкая и масштабируемая база данных документов NoSQL, которая дополняет возможности реального времени Firebase Real-time Database. Он предлагает структурированный подход к хранению данных. Cloud Firestore также предоставляет возможности запросов и автономную поддержку, что упрощает создание сложных приложений.
Внедрение чатов Firebase в реальном времени
Для реализации real-time чата можно использовать Firebase Realtime Database или Firebase Cloud Firestore.
С помощью Firebase Realtime Database или Firebase Cloud Firestore получится разработать структуру данных для хранения сообщений чата. Firebase автоматически оповещает подключенных клиентов, что позволяет мгновенно отображать новые сообщения в интерфейсе чата.
С помощью Firebase можно применять различные инструменты для аутентификации пользователей, хранения файлов (например, изображений), отправки уведомлений и других функций, которые могут быть полезны при разработке приложения чата.
Dart packages
cloud_firestore | Flutter package
Flutter plugin for Cloud Firestore, a cloud-hosted, noSQL database with live synchronization and offline support on Android and iOS.
🔥8👍7❤3👌1
Hola, Amigos!
Отличная новость: нашей команде нужен новый герой! Мы ищем middle Flutter-разработчика, который обладает сильными техническими скилами. Мы растем в геометрической прогрессии, поэтому ждем драйвового спеца на новые мощные проекты как можно скорее!
Все подробности по ссылке. Пишите нашему рекрутеру Лизе по всем вопросам и для отклика на вакансию.
Отличная новость: нашей команде нужен новый герой! Мы ищем middle Flutter-разработчика, который обладает сильными техническими скилами. Мы растем в геометрической прогрессии, поэтому ждем драйвового спеца на новые мощные проекты как можно скорее!
Все подробности по ссылке. Пишите нашему рекрутеру Лизе по всем вопросам и для отклика на вакансию.
hh.ru
Вакансия Flutter разработчик (middle) в Москве, работа в компании Амига (вакансия в архиве c 25 августа 2023)
Зарплата: не указана. Москва. Требуемый опыт: 3–6 лет. Полная занятость. Дата публикации: 22.08.2023.
🔥6👍1
Hola, Amigos!
Для тех, кто c нами не так давно, сделали подборку полезных постов, которые вы точно не видели, а посмотреть стоит:
🦾 Кейс: что делать с большим APK-файлом?
Наш Flutter-dev Антон делится на примере из практики, как сократить вес APK-файла за 10 минут работы. Будет актуально тем, что часто работает с АРК-файлами.
🦾 Советы Junior-разработчикам
В посте вы прочитаете 9 классных советов для начинающих Flutter-разработчиков, которые помогут избежать типичных ошибок, подкачать скиллы и узнать что-то новое для себя. Must-read для джуниоров!
🦾 FlutterFlow.io
В посте Flutter-dev Саша рассказал о no-code конструкторе на базе Flutter, который поможет ускорить разработку кроссплатформенных приложений на iOS и Android.
🦾 Обзор используемых библиотек
Сделали обзор на 3 самыми используемыми в Amiga библиотеками для компиляции проекта: Dio, Flutter_bloс и Flutter_svg.
🦾 Работа с сокетами Dart
От Flutter-dev Саши вы узнаете, что такое сокеты и как работать с ними в Dart, а еще получите полезные материалы для изучения сокетов.
Для тех, кто c нами не так давно, сделали подборку полезных постов, которые вы точно не видели, а посмотреть стоит:
Наш Flutter-dev Антон делится на примере из практики, как сократить вес APK-файла за 10 минут работы. Будет актуально тем, что часто работает с АРК-файлами.
В посте вы прочитаете 9 классных советов для начинающих Flutter-разработчиков, которые помогут избежать типичных ошибок, подкачать скиллы и узнать что-то новое для себя. Must-read для джуниоров!
В посте Flutter-dev Саша рассказал о no-code конструкторе на базе Flutter, который поможет ускорить разработку кроссплатформенных приложений на iOS и Android.
Сделали обзор на 3 самыми используемыми в Amiga библиотеками для компиляции проекта: Dio, Flutter_bloс и Flutter_svg.
От Flutter-dev Саши вы узнаете, что такое сокеты и как работать с ними в Dart, а еще получите полезные материалы для изучения сокетов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Flutter. Много
Кейс: что делать с большим APK-файлом?⚙️
Hola, Amigos! На связи Антон Мартышков, Flutter-разработчик Amiga. Сегодня на реальном примере проекта расскажу, как сократить вес APK-файла за 10 минут работы.
Одна из важных метрик Android-приложения наряду со…
Hola, Amigos! На связи Антон Мартышков, Flutter-разработчик Amiga. Сегодня на реальном примере проекта расскажу, как сократить вес APK-файла за 10 минут работы.
Одна из важных метрик Android-приложения наряду со…
🔥6👍4❤3💅1
Hola, Amigos!
Сейчас мы в команду ищем middle Fllutter-разработчика, и наш IT-рекрутер Лиза готова принимать ваши резюме или рекомендации в личные сообщения.
Тг Лизы: @ivanova_elizav
Откликайтесь или отправляйте нашу вакансию друзьям!😎
Сейчас мы в команду ищем middle Fllutter-разработчика, и наш IT-рекрутер Лиза готова принимать ваши резюме или рекомендации в личные сообщения.
Тг Лизы: @ivanova_elizav
Откликайтесь или отправляйте нашу вакансию друзьям!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
Hola, Amigos!
24-25 августа в Москве на территории Красного Октября пройдёт одно из самых крутых мероприятий этого лета — AGIMA Partner's Weekend😎
От ведущих лидеров в разработке вы узнаете, как управлять dev-командой, какую инфраструктуру надо сформировать для эффективного управления, как без потерь провести команду через все этапы её формирования.
Главная тема конференции — диверсификация (все занимаются всем). Если разработка вам неактуальна, на конференции будут еще 2 направления: для руководителей веб-студий и PR-специалистов. А про грандиозные планы на afterparty вообще молчим🥳
Мы партнеры конференции, и если хотите познакомиться с нами лично — приходите в конце августа на AGIMA Partner's Weekend.
По промокоду AMIGA вы получите скидку в 15% на покупку билетов. Будем вас ждать!
24-25 августа в Москве на территории Красного Октября пройдёт одно из самых крутых мероприятий этого лета — AGIMA Partner's Weekend
От ведущих лидеров в разработке вы узнаете, как управлять dev-командой, какую инфраструктуру надо сформировать для эффективного управления, как без потерь провести команду через все этапы её формирования.
Главная тема конференции — диверсификация (все занимаются всем). Если разработка вам неактуальна, на конференции будут еще 2 направления: для руководителей веб-студий и PR-специалистов. А про грандиозные планы на afterparty вообще молчим
Мы партнеры конференции, и если хотите познакомиться с нами лично — приходите в конце августа на AGIMA Partner's Weekend.
По промокоду AMIGA вы получите скидку в 15% на покупку билетов. Будем вас ждать!
Please open Telegram to view this post
VIEW IN TELEGRAM
partnersclub.digital
AGIMA Partners' Weekend
Два незабываемых дня с AGIMA и лучшими представителями отрасли: выступления, обмен опытом, награждения, вечеринка.
👍6🔥5👏3
This media is not supported in your browser
VIEW IN TELEGRAM
Нас почти полсотни!
Hola, Amigos!
На этих выходных к нам пришло осознание, что у тг-канала Flutter.Много дэрэшка, а наша команда за два года выросла в 8 раз. Мы реализовали 70 проектов, в том числе для X5 Retail Group, Mercedes-Benz, Сбербанк, SOKOLOV, Честный знак. Но это далеко не все, чем мы гордимся!
Совсем скоро мы планируем запустить новый сайт. Там будут кейсы, команда, блог и всё, что полагается крутой IT-компании в 21 веке. И мы надеемся, что вы оцените наши труды по достоинству.
На этих выходных ездили отмечать все эти классные события на природу, проводить весело время вместе, пока лето радует погодой.
Вот такая она — Амиговская жизнь.
Hola, Amigos!
На этих выходных к нам пришло осознание, что у тг-канала Flutter.Много дэрэшка, а наша команда за два года выросла в 8 раз. Мы реализовали 70 проектов, в том числе для X5 Retail Group, Mercedes-Benz, Сбербанк, SOKOLOV, Честный знак. Но это далеко не все, чем мы гордимся!
Совсем скоро мы планируем запустить новый сайт. Там будут кейсы, команда, блог и всё, что полагается крутой IT-компании в 21 веке. И мы надеемся, что вы оцените наши труды по достоинству.
На этих выходных ездили отмечать все эти классные события на природу, проводить весело время вместе, пока лето радует погодой.
Вот такая она — Амиговская жизнь.
🎉22🔥8🤩1
Hola, Amigos! Познакомимся?
Мы хотим создавать для вас максимально интересный и полезный контент. Пожалуйста, кликните, в каком деле вы спец. А если не нашли себя в списке, то обязательно пишите в комментариях, чем занимаетесь!
Мы хотим создавать для вас максимально интересный и полезный контент. Пожалуйста, кликните, в каком деле вы спец. А если не нашли себя в списке, то обязательно пишите в комментариях, чем занимаетесь!
Anonymous Poll
87%
Разработчик
5%
Project-менеджер
2%
Дизайнер
1%
CEO
1%
Маркетолог/PR
4%
Меня тут нет, напишу в комментах
👍2
Новая статья-перевод о будущем iOS-разработки на Flutter
Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev Amiga. Мы с командой выпустили новую статью на Habr о том, что ждет iOS-разработку на Flutter. Агрессивно рекомендую прочитать разработчикам и всем тем, кто хочет оставаться в свете последних событий🤩
Из статьи вы узнаете:
- какие мировые бренды уже используют Flutter в iOS-разработке;
- как улучшился и обновился фреймворк для работы с iOS;
- что ждет iOS-разработку на Flutter в будущем.
Прочитать материал можно здесь. Оставляйте комментарии тут или на Habr, делитесь своим мнением.
Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev Amiga. Мы с командой выпустили новую статью на Habr о том, что ждет iOS-разработку на Flutter. Агрессивно рекомендую прочитать разработчикам и всем тем, кто хочет оставаться в свете последних событий
Из статьи вы узнаете:
- какие мировые бренды уже используют Flutter в iOS-разработке;
- как улучшился и обновился фреймворк для работы с iOS;
- что ждет iOS-разработку на Flutter в будущем.
Прочитать материал можно здесь. Оставляйте комментарии тут или на Habr, делитесь своим мнением.
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Будущее iOS-разработки на Flutter
Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev компании Amiga. О Flutter в русскоязычных источниках найти ценную информацию не так просто, а оставаться в курсе всех событий важно для разработчиков....
👍13🔥5👏3
Вакансии в Amiga😍
Hola, Amigos! Мы активно растем и ищем классных и талантливых ребят в команду. Если ты влюблен в разработку, хочешь работать с интересными проектами, развиваться в поддерживающей атмосфере, то скорее откликайся тут.
1. Middle Project менеджер — тебе предстоит вести клиентов компании, развивать проекты, управлять командой разработчиков, бюджетом и календарным планом, много общаться и быть на одной волне с клиентом и командой.
2. Middle QA — мы ожидаем, что ты понимаешь устройство и принципы работы веб-приложений, имеешь опыт кроссбраузерного тестирования и тестирования вёрстки, умеешь писать тестовую документацию.
3. QA Team Lead — тебе нужно анализировать текущее состояние QA в проектах и улучшать процессы, участвовать в тестировании новых фич, обучать других, развивать направление в масштабе компании.
4. Middle PHP разработчик (Битрикс) — ты будешь участвовать в разработке крупных высоконагруженных проектов, оценивать и решать задачи, влиять на продукт и контролировать качество.
Ждем ваши резюме на почту [email protected]. Делитесь нашими вакансиями с друзьями, мы верим в чудо шести рукопожатий!
Hola, Amigos! Мы активно растем и ищем классных и талантливых ребят в команду. Если ты влюблен в разработку, хочешь работать с интересными проектами, развиваться в поддерживающей атмосфере, то скорее откликайся тут.
1. Middle Project менеджер — тебе предстоит вести клиентов компании, развивать проекты, управлять командой разработчиков, бюджетом и календарным планом, много общаться и быть на одной волне с клиентом и командой.
2. Middle QA — мы ожидаем, что ты понимаешь устройство и принципы работы веб-приложений, имеешь опыт кроссбраузерного тестирования и тестирования вёрстки, умеешь писать тестовую документацию.
3. QA Team Lead — тебе нужно анализировать текущее состояние QA в проектах и улучшать процессы, участвовать в тестировании новых фич, обучать других, развивать направление в масштабе компании.
4. Middle PHP разработчик (Битрикс) — ты будешь участвовать в разработке крупных высоконагруженных проектов, оценивать и решать задачи, влиять на продукт и контролировать качество.
Ждем ваши резюме на почту [email protected]. Делитесь нашими вакансиями с друзьями, мы верим в чудо шести рукопожатий!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤3👍2
Мы на международной IT-конференции Стачка 2023
Hola, Amigos! 15-16 сентября в Ульяновске пройдет крупная ежегодная IT-конференция Стачка 2023. В этом году на ней выступит наш TeamLead Flutter Тимур Моисеев с докладом на тему «Как объединить Flutter и технологии машинного обучения».
Фан-факт о Тимуре:он кандидат технических наук с опытом +20 лет в разработке, поэтому доклад будет полезным и практичным.
Тимур расскажет:
- способы интеграции Flutter и ML;
- особенности настройки на Android и iOS (компиляция для metal на iOS);
- изоляты и подготовка моделей.
Выступление запланировано на вечер 15 сентября в зале 5 в УлГПУ. Приходите, будем вас ждать!
Hola, Amigos! 15-16 сентября в Ульяновске пройдет крупная ежегодная IT-конференция Стачка 2023. В этом году на ней выступит наш TeamLead Flutter Тимур Моисеев с докладом на тему «Как объединить Flutter и технологии машинного обучения».
Фан-факт о Тимуре:
- способы интеграции Flutter и ML;
- особенности настройки на Android и iOS (компиляция для metal на iOS);
- изоляты и подготовка моделей.
Выступление запланировано на вечер 15 сентября в зале 5 в УлГПУ. Приходите, будем вас ждать!
🔥20👍2
Hola, Amigos!
24-25 августа в Москве на территории Красного Октября пройдёт одно из самых крутых мероприятий этого лета — AGIMA Partner's Weekend😎
От ведущих лидеров в разработке вы узнаете, как управлять dev-командой, какую инфраструктуру надо сформировать для эффективного управления, как без потерь провести команду через все этапы её формирования.
Главная тема конференции — диверсификация (все занимаются всем). Если разработка вам неактуальна, на конференции будут еще 2 направления: для руководителей веб-студий и PR-специалистов. А про грандиозные планы на afterparty вообще молчим🥳
Мы партнеры конференции, и если хотите познакомиться с нами лично — приходите в конце августа на AGIMA Partner's Weekend.
По промокоду AMIGA вы получите скидку в 15% на покупку билетов. Будем вас ждать!
24-25 августа в Москве на территории Красного Октября пройдёт одно из самых крутых мероприятий этого лета — AGIMA Partner's Weekend
От ведущих лидеров в разработке вы узнаете, как управлять dev-командой, какую инфраструктуру надо сформировать для эффективного управления, как без потерь провести команду через все этапы её формирования.
Главная тема конференции — диверсификация (все занимаются всем). Если разработка вам неактуальна, на конференции будут еще 2 направления: для руководителей веб-студий и PR-специалистов. А про грандиозные планы на afterparty вообще молчим
Мы партнеры конференции, и если хотите познакомиться с нами лично — приходите в конце августа на AGIMA Partner's Weekend.
По промокоду AMIGA вы получите скидку в 15% на покупку билетов. Будем вас ждать!
Please open Telegram to view this post
VIEW IN TELEGRAM
partnersclub.digital
AGIMA Partners' Weekend
Два незабываемых дня с AGIMA и лучшими представителями отрасли: выступления, обмен опытом, награждения, вечеринка.
💩4👍3🤡1
Что вам интересно?
Hola, Amigos! За это лето к нам присоединилось более 400 новых подписчиков🥰 Здесь мы пишем полезные посты о Flutter-разработке, переводим статьи иностранных СМИ, анонсируем мероприятия и вакансии, а также собираем любопытные подборки.
Поделитесь, пожалуйста, в комментариях, чего вам не хватает на нашем канале? О чем хотелось бы читать чаще? Мы открыты любым вашим предложениям и пожеланиям.
Hola, Amigos! За это лето к нам присоединилось более 400 новых подписчиков
Поделитесь, пожалуйста, в комментариях, чего вам не хватает на нашем канале? О чем хотелось бы читать чаще? Мы открыты любым вашим предложениям и пожеланиям.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍2
Внедрение фоновых каналов изолятов
Hola, Amigos! Хорошие новости: начиная с Flutter 3.7, разработчики могут вызывать плагины и каналы платформы из любого изолята, а не из основного изолята Flutter.
Зачем это нужно?
Ответ прост — иногда нет другого выбора. Например, библиотека может запускать обратные вызовы на фоновом изоляте, как это делает android_alarm_manager_plus. Также приложение может проводить значительные вычислительные операции, а разработчик не хотел бы, чтобы они влияли на пользовательский интерфейс.
Пример использования Background Isolate Channels
Представьте приложение для создания изображений высокого разрешения на основе текстовых подсказок для ИИ. Прошлые проекты пользователя сохраняются в облачном хранилище Firebase, а также есть функция для экспорта и обмена этими проектами с мобильного телефона пользователя.
Приложение Flutter запускает фоновый изолят, который загружает изображение в разрешении 8k из Firebase Cloud Store, уменьшает его до желаемого размера экспорта, сохраняет изображение в галерею камеры и отправляет локальное уведомление, когда экспорт завершен.
В этом примере из фонового изолята использовалось как минимум три плагина:
– один для чтения из Firebase Cloud Store;
– один для сохранения в галерею камеры телефона;
– один для отправки локального уведомления.
Без фоновых каналов изолятов приложению пришлось бы перенести изображение в разрешении 8k из основного изолята в фоновый для уменьшения его размера. На данный момент не найден способ сделать эту операцию постоянной по времени в Dart.
В следующем постерассмотрим пример использования нового API для вызова плагина shared_preferences из фонового изолята. А пока делитесь в комментариях, как часто вы пользуетесь фоновыми изолятами?
Hola, Amigos! Хорошие новости: начиная с Flutter 3.7, разработчики могут вызывать плагины и каналы платформы из любого изолята, а не из основного изолята Flutter.
Зачем это нужно?
Ответ прост — иногда нет другого выбора. Например, библиотека может запускать обратные вызовы на фоновом изоляте, как это делает android_alarm_manager_plus. Также приложение может проводить значительные вычислительные операции, а разработчик не хотел бы, чтобы они влияли на пользовательский интерфейс.
Пример использования Background Isolate Channels
Представьте приложение для создания изображений высокого разрешения на основе текстовых подсказок для ИИ. Прошлые проекты пользователя сохраняются в облачном хранилище Firebase, а также есть функция для экспорта и обмена этими проектами с мобильного телефона пользователя.
Приложение Flutter запускает фоновый изолят, который загружает изображение в разрешении 8k из Firebase Cloud Store, уменьшает его до желаемого размера экспорта, сохраняет изображение в галерею камеры и отправляет локальное уведомление, когда экспорт завершен.
В этом примере из фонового изолята использовалось как минимум три плагина:
– один для чтения из Firebase Cloud Store;
– один для сохранения в галерею камеры телефона;
– один для отправки локального уведомления.
Без фоновых каналов изолятов приложению пришлось бы перенести изображение в разрешении 8k из основного изолята в фоновый для уменьшения его размера. На данный момент не найден способ сделать эту операцию постоянной по времени в Dart.
В следующем посте
👍22🔥2
Пример фонового изолята
Hola, Amigos! Продолжаем тему внедрения фоновых каналов изолятов во Flutter. Рассмотрим краткий пример использования нового API для вызова плагина shared_preferences из фонового изолята:
Техническая часть
Краткий обзор работы Каналов платформы:
Hola, Amigos! Продолжаем тему внедрения фоновых каналов изолятов во Flutter. Рассмотрим краткий пример использования нового API для вызова плагина shared_preferences из фонового изолята:
import ‘package:flutter/services.dart’;
import ‘package:shared_preferences/shared_preferences.dart’;
void main() {
// Identify the root isolate to pass to the background isolate.
// (API introduced in Flutter 3.7)
RootIsolateToken rootIsolateToken = RootIsolateToken.instance!;
Isolate.spawn(_isolateMain, rootIsolateToken);
}
void _isolateMain(RootIsolateToken rootIsolateToken) async {
// Register the background isolate with the root isolate.
BackgroundIsolateBinaryMessenger
.ensureInitialized(rootIsolateToken);
// You can now use the shared_preferences plugin.
SharedPreferences sharedPreferences =
await SharedPreferences.getInstance();
print(sharedPreferences.getBool(‘isDebug’));
}
Техническая часть
Краткий обзор работы Каналов платформы:
👍4
При получении результата от канала платформы происходил жёстко заданный переход к потоку платформы. Для функционирования фоновых каналов изолята необходимо сохранять изолят, отправляющий сообщение, чтобы движок мог организовать получение результата в цикле событий данного изолята. Этот шаг был выполнен с использованием портов Dart. Порты Dart сохраняют изолят, которому они принадлежат, будучи единственным способом управления этими изолятами через Core API.
Другим аспектом, который нужно было реализовать, был способ связи фоновых изолятов с их основным изолятом. Удивительно, но чтобы отключить каналы платформы при уничтожении движка Flutter, нужно знать, какие фоновые изоляты связаны с этим движком. Иначе фоновый изолят может попытаться связаться с движком Flutter, который в данный момент уничтожается. Последствия этого можно увидеть в окончательном API, где для инициализации BackgroundIsolateBinaryMessenger нужно использовать RootIsolateToken.
Ставьте реакцию под постом, чтобы мы знали, что вам это было полезно!
Другим аспектом, который нужно было реализовать, был способ связи фоновых изолятов с их основным изолятом. Удивительно, но чтобы отключить каналы платформы при уничтожении движка Flutter, нужно знать, какие фоновые изоляты связаны с этим движком. Иначе фоновый изолят может попытаться связаться с движком Flutter, который в данный момент уничтожается. Последствия этого можно увидеть в окончательном API, где для инициализации BackgroundIsolateBinaryMessenger нужно использовать RootIsolateToken.
Ставьте реакцию под постом, чтобы мы знали, что вам это было полезно!
👍19🔥9👏2
Hola, Amigos!
Второй год мы являемся спонсорами AGIMA Partners' Weekend. Каждый раз радуемся, что так много людей жаждут новых знаний и знакомств!
В этом году наш СЕО Дмитрий Тарасов выступал на круглом столе, посвященному теме «Отожмут ли мобильные продакшны рынок web-разработки». 2 часа мы вместе с лучшими компаниями по заказной разработке в РФ обсуждали текущую ситуацию на рынке и размышляли о том, что нас ждет в будущем.
По итогам голосования данный круглый стол был выбран одним из лучших выступлений! Мы обязательно поделимся видео, как только оно будет готово.
Расскажите, какие вы ждёте мероприятия в этом году?
Второй год мы являемся спонсорами AGIMA Partners' Weekend. Каждый раз радуемся, что так много людей жаждут новых знаний и знакомств!
В этом году наш СЕО Дмитрий Тарасов выступал на круглом столе, посвященному теме «Отожмут ли мобильные продакшны рынок web-разработки». 2 часа мы вместе с лучшими компаниями по заказной разработке в РФ обсуждали текущую ситуацию на рынке и размышляли о том, что нас ждет в будущем.
По итогам голосования данный круглый стол был выбран одним из лучших выступлений! Мы обязательно поделимся видео, как только оно будет готово.
Расскажите, какие вы ждёте мероприятия в этом году?
❤9👍5🔥2
Вложенная навигация во Flutter
Hola, Amigos! Сегодня вышла новая статья на Habr нашего руководителя мобильной разработки Тимура Моисеева. Материал посвященвложенной навигации на основе пакета go_router.
Читайте, ставьте «+» и оставляйте комментарии здесь. Дайте знать, если было полезно!
Hola, Amigos! Сегодня вышла новая статья на Habr нашего руководителя мобильной разработки Тимура Моисеева. Материал посвящен
Читайте, ставьте «+» и оставляйте комментарии здесь. Дайте знать, если было полезно!
Хабр
Вложенная навигация во Flutter: что такое декларативный роутер и зачем он нужен
Hola, Amigos! Меня зовут Тимур Моисеев, я — руководитель мобильной разработки в Amiga. В разработке я уже более 20 лет, а последние 4 года плотно занимаюсь мобильной разработкой на фреймворке Flutter....
🔥19👍6❤2