TGViewer
Channel Public Channel
Flutter. Много

Flutter. Много

@flutter_amiga

Заказать мобильную разработку: https://amiga.ru//?utm_source=tg
Заказать рекламу в канале @amiga_agency_bot

Новости Flutter-разработки, дайджесты мероприятий, личный опыт.
Subscribers
2.96K
Photos
460
Videos
24
Links
284

Showing posts older than #136 · Back to latest

Older Posts 20 shown
Post #135 1.74K
Вложенная навигация во Flutter

Hola, Amigos! Сегодня вышла новая статья на Habr нашего руководителя мобильной разработки Тимура Моисеева. Материал посвящен вложенной навигации на основе пакета go_router.

Читайте, ставьте «+» и оставляйте комментарии здесь. Дайте знать, если было полезно!
  • 🔥 19
  • 👍 6
  • ❤ 2
Post #134 1.63K
Hola, Amigos!

Второй год мы являемся спонсорами AGIMA Partners' Weekend. Каждый раз радуемся, что так много людей жаждут новых знаний и знакомств!

В этом году наш СЕО Дмитрий Тарасов выступал на круглом столе, посвященному теме «Отожмут ли мобильные продакшны рынок web-разработки». 2 часа мы вместе с лучшими компаниями по заказной разработке в РФ обсуждали текущую ситуацию на рынке и размышляли о том, что нас ждет в будущем.

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

Расскажите, какие вы ждёте мероприятия в этом году?
  • ❤ 9
  • 👍 5
  • 🔥 2
Post #132 1.98K
При получении результата от канала платформы происходил жёстко заданный переход к потоку платформы. Для функционирования фоновых каналов изолята необходимо сохранять изолят, отправляющий сообщение, чтобы движок мог организовать получение результата в цикле событий данного изолята. Этот шаг был выполнен с использованием портов Dart. Порты Dart сохраняют изолят, которому они принадлежат, будучи единственным способом управления этими изолятами через Core API.

Другим аспектом, который нужно было реализовать, был способ связи фоновых изолятов с их основным изолятом. Удивительно, но чтобы отключить каналы платформы при уничтожении движка Flutter, нужно знать, какие фоновые изоляты связаны с этим движком. Иначе фоновый изолят может попытаться связаться с движком Flutter, который в данный момент уничтожается. Последствия этого можно увидеть в окончательном API, где для инициализации BackgroundIsolateBinaryMessenger нужно использовать RootIsolateToken.

Ставьте реакцию под постом, чтобы мы знали, что вам это было полезно!
  • 👍 19
  • 🔥 9
  • 👏 2
Post #131 1.51K
Пример фонового изолята

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
Post #128 1.53K
Внедрение фоновых каналов изолятов

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 из фонового изолята. А пока делитесь в комментариях, как часто вы пользуетесь фоновыми изолятами?
  • 👍 22
  • 🔥 2
Post #127 1.72K
Что вам интересно?

Hola, Amigos! За это лето к нам присоединилось более 400 новых подписчиков🥰 Здесь мы пишем полезные посты о Flutter-разработке, переводим статьи иностранных СМИ, анонсируем мероприятия и вакансии, а также собираем любопытные подборки.

Поделитесь, пожалуйста, в комментариях, чего вам не хватает на нашем канале? О чем хотелось бы читать чаще? Мы открыты любым вашим предложениям и пожеланиям.
  • 🔥 16
  • 👍 2
Post #126 1.79K
Hola, Amigos!

24-25 августа в Москве на территории Красного Октября пройдёт одно из самых крутых мероприятий этого лета — AGIMA Partner's Weekend😎

От ведущих лидеров в разработке вы узнаете, как управлять dev-командой, какую инфраструктуру надо сформировать для эффективного управления, как без потерь провести команду через все этапы её формирования.

Главная тема конференции — диверсификация (все занимаются всем). Если разработка вам неактуальна, на конференции будут еще 2 направления: для руководителей веб-студий и PR-специалистов. А про грандиозные планы на afterparty вообще молчим🥳

Мы партнеры конференции, и если хотите познакомиться с нами лично — приходите в конце августа на AGIMA Partner's Weekend.

По промокоду AMIGA вы получите скидку в 15% на покупку билетов. Будем вас ждать!
  • 💩 4
  • 👍 3
  • 🤡 1
Post #125 1.98K
Мы на международной IT-конференции Стачка 2023

Hola, Amigos! 15-16 сентября в Ульяновске пройдет крупная ежегодная IT-конференция Стачка 2023. В этом году на ней выступит наш TeamLead Flutter Тимур Моисеев с докладом на тему «Как объединить Flutter и технологии машинного обучения».

Фан-факт о Тимуре: он кандидат технических наук с опытом +20 лет в разработке, поэтому доклад будет полезным и практичным.

Тимур расскажет:
- способы интеграции Flutter и ML;
- особенности настройки на Android и iOS (компиляция для metal на iOS);
- изоляты и подготовка моделей.

Выступление запланировано на вечер 15 сентября в зале 5 в УлГПУ. Приходите, будем вас ждать!
  • 🔥 20
  • 👍 2
Post #124 1.71K
Вакансии в Amiga😍

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

1. Middle Project менеджер — тебе предстоит вести клиентов компании, развивать проекты, управлять командой разработчиков, бюджетом и календарным планом, много общаться и быть на одной волне с клиентом и командой.

2. Middle QA — мы ожидаем, что ты понимаешь устройство и принципы работы веб-приложений, имеешь опыт кроссбраузерного тестирования и тестирования вёрстки, умеешь писать тестовую документацию.

3. QA Team Lead — тебе нужно анализировать текущее состояние QA в проектах и улучшать процессы, участвовать в тестировании новых фич, обучать других, развивать направление в масштабе компании.

4. Middle PHP разработчик (Битрикс) — ты будешь участвовать в разработке крупных высоконагруженных проектов, оценивать и решать задачи, влиять на продукт и контролировать качество.

Ждем ваши резюме на почту hr@amiga.agency. Делитесь нашими вакансиями с друзьями, мы верим в чудо шести рукопожатий!
  • 🔥 4
  • ❤ 3
  • 👍 2
Post #123 1.68K
Новая статья-перевод о будущем iOS-разработки на Flutter

Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev Amiga. Мы с командой выпустили новую статью на Habr о том, что ждет iOS-разработку на Flutter. Агрессивно рекомендую прочитать разработчикам и всем тем, кто хочет оставаться в свете последних событий🤩

Из статьи вы узнаете:
- какие мировые бренды уже используют Flutter в iOS-разработке;
- как улучшился и обновился фреймворк для работы с iOS;
- что ждет iOS-разработку на Flutter в будущем.

Прочитать материал можно здесь. Оставляйте комментарии тут или на Habr, делитесь своим мнением.
Хабр Будущее iOS-разработки на Flutter Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev компании Amiga. О Flutter в русскоязычных источниках найти ценную информацию не так просто, а оставаться в курсе всех событий важно для разработчиков....
  • 👍 13
  • 🔥 5
  • 👏 3
Post #122 1.7K
  • 👍 2
Post #120 1.76K
Нас почти полсотни!

Hola, Amigos!

На этих выходных к нам пришло осознание, что у тг-канала Flutter.Много дэрэшка, а наша команда за два года выросла в 8 раз. Мы реализовали 70 проектов, в том числе для X5 Retail Group, Mercedes-Benz, Сбербанк, SOKOLOV, Честный знак. Но это далеко не все, чем мы гордимся!

Совсем скоро мы планируем запустить новый сайт. Там будут кейсы, команда, блог и всё, что полагается крутой IT-компании в 21 веке. И мы надеемся, что вы оцените наши труды по достоинству.

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

Вот такая она — Амиговская жизнь.
  • 🎉 22
  • 🔥 8
  • 🤩 1
Post #119 1.78K
Hola, Amigos!

24-25 августа в Москве на территории Красного Октября пройдёт одно из самых крутых мероприятий этого лета — AGIMA Partner's Weekend😎

От ведущих лидеров в разработке вы узнаете, как управлять dev-командой, какую инфраструктуру надо сформировать для эффективного управления, как без потерь провести команду через все этапы её формирования.

Главная тема конференции — диверсификация (все занимаются всем). Если разработка вам неактуальна, на конференции будут еще 2 направления: для руководителей веб-студий и PR-специалистов. А про грандиозные планы на afterparty вообще молчим🥳

Мы партнеры конференции, и если хотите познакомиться с нами лично — приходите в конце августа на AGIMA Partner's Weekend.

По промокоду AMIGA вы получите скидку в 15% на покупку билетов. Будем вас ждать!
  • 👍 6
  • 🔥 5
  • 👏 3
Post #118 1.58K
Hola, Amigos!

Сейчас мы в команду ищем middle Fllutter-разработчика, и наш IT-рекрутер Лиза готова принимать ваши резюме или рекомендации в личные сообщения.

Тг Лизы: @ivanova_elizav

Откликайтесь или отправляйте нашу вакансию друзьям!😎
  • 👍 6
  • 🔥 3
Post #117 1.49K

This post (sticker, poll or similar) has no web preview. Open in Telegram

  • ❤ 8
  • 🥰 5
Post #116 1.66K
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, а еще получите полезные материалы для изучения сокетов.
Telegram Flutter. Много Кейс: что делать с большим APK-файлом?⚙️ Hola, Amigos! На связи Антон Мартышков, Flutter-разработчик Amiga. Сегодня на реальном примере проекта расскажу, как сократить вес APK-файла за 10 минут работы. Одна из важных метрик Android-приложения наряду со…
  • 🔥 6
  • 👍 4
  • ❤ 3
  • 💅 1
Post #115 1.39K
Hola, Amigos!

Отличная новость: нашей команде нужен новый герой! Мы ищем middle Flutter-разработчика, который обладает сильными техническими скилами. Мы растем в геометрической прогрессии, поэтому ждем драйвового спеца на новые мощные проекты как можно скорее!

Все подробности по ссылке. Пишите нашему рекрутеру Лизе по всем вопросам и для отклика на вакансию.
hh.ru Вакансия Flutter разработчик (middle) в Москве, работа в компании Амига (вакансия в архиве c 25 августа 2023) Зарплата: не указана. Москва. Требуемый опыт: 3–6 лет. Занятость: полная. Дата публикации: 22.08.2023.
  • 🔥 6
  • 👍 1
Post #114 1.75K
Интеграция 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 можно применять различные инструменты для аутентификации пользователей, хранения файлов (например, изображений), отправки уведомлений и других функций, которые могут быть полезны при разработке приложения чата.
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
Post #113 1.86K
Интеграция 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. Можно ориентироваться на определенные устройства, сегменты пользователей или запускать уведомления на основе определенных событий.
  • 🔥 13
  • 👍 7
  • 👌 3
  • 💩 1
Post #112 1.62K
Интеграция API во Flutter

Hola, Amigos!

Сегодня мы поговорим об интеграции API во Flutter. Давайте рассмотрим различные методы, которые позволяют обрабатывать сетевые запросы и ответы, обновлять пользовательский интерфейс.

1. Пакет HTTP
Наиболее распространенный подход к извлечению данных из API — использование пакета http, который предлагает простой и гибкий API для выполнения HTTP-запросов. Для начала вам нужно добавить пакет в файл pubspec.yaml:

dependencies:
http: ^0.13.4

После импорта пакета в свой проект можно использовать его для выполнения различных типов запросов: GET, POST, PUT и DELETE. Вот пример простого GET-запроса:

import 'package:http/http.dart' as http;

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}');
}
}

В этом примере определяется конечная точка API с помощью функции Uri.parse() и делается запрос GET с помощью http.get(). Затем ответ проверяется на наличие кода состояния.

2. JSON.

Чтобы использовать данные из API, обычно используют JSON. Flutter предоставляет библиотеки синтаксического анализа JSON, например, dart:convert, которые позволяют преобразовывать строки JSON в объекты Dart и наоборот. Вот пример разбора данных JSON:

import 'dart:convert';

void processData(String jsonString) {
var jsonResponse = json.decode(jsonString);
var title = jsonResponse['title'];
var description = jsonResponse['description'];
// Update the UI with the parsed data
}

В этом фрагменте применяется json.decode() для преобразования строки JSON в карту пар ключ-значение.

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
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →