Flutter Pulse
705 subscribers
438 photos
1K links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
1..2..3... Гонка Future

Представьте, что вы ждёте ответ от нескольких источников. Но вам нужен только один ответ. Ладно, такое случается не часто, но представьте...

Ждём только 1 ответ

Будьте осторожны, если первый запрос выдаёт ошибку до того, как придёт второй ответ... Future завершится с ошибкой. Значит, вам нужно игнорировать эту ошибку в вашем будущем запросе.


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

void main() async {
await Future.any([
getPost(SERVER_1), // первый сервер
getPost(SERVER_2), // второй сервер
]);
}

Future<String> getPost(String url) async {
final response = await http.get(Uri.parse('....'));
if (response.statusCode == 200) {
return response.body; // возвращаем тело ответа
} else {
throw Exception('Не удалось загрузить пост'); // выбрасываем исключение
}
}


Что возвращает Future.any?
Он возвращает Future, который завершается с первым результатом. Вы можете передать несколько Future разных типов.

Оцените новую рубрику! 👍💡 Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #FutureAny #AsyncProgramming #FlutterTips #MobileDevelopment #ProgrammingTips
👍4
Новая рубрика уже здесь! 🔥 Статьи с Medium.com, недоступного в России, теперь у вас на виду. Всё самое интересное мы переведём на русский, а также покажем в оригинале — никаких секретов!

Flutter 4.0: Будущее разработки приложений уже близко!

Flutter продолжает удивлять и радовать разработчиков своими амбициозными возможностями! Предстоящий релиз Flutter 4.0 обещает стать самым значительным скачком вперед.

В статье рассматривается, что нового ждет разработчиков в Flutter 4.0. Три ключевых направления — производительность, опыт разработчика и расширенная поддержка платформ — сделают разработку приложений еще более эффективной и приятной.
Узнайте о новом движке рендеринга Impeller, который устраняет проблемы с производительностью и обеспечивает более плавную анимацию и быструю отрисовку.
Также в статье описаны улучшения в инструментах разработчика, включая более быстрый hot reload, умные сообщения об ошибках и улучшенную диагностику.
Кроме того, Flutter 4.0 расширяет возможности кросс-платформенной разработки, поддерживая складные и двухэкранные устройства, веб и настольные приложения.

Читайте подробнее в статье:
🇷🇺Flutter 4.0: Взгляд в будущее разработки приложений
🇬🇧Flutter 4.0: A Glimpse Into The Future of App Development
🌐Оригинальная статья

Все подобные новости ищите по хэштегу #FlutterPulseMedium Оцените новую рубрику!
#flutter #dart #flutterpulse #FlutterPulseMedium #crossplatform #appdevelopment #mobiledevelopment #webdevelopment #desktopdevelopment
🔥8❤‍🔥1
Retrofit в Flutter: упрощаем работу с сетью
Устали писать boilerplate-код для работы с API в Flutter? В этой статье вы найдёте решение!

В статье рассматривается, как использовать Retrofit, Dio, JSON Serializable и Provider вместе, чтобы создать чистый, масштабируемый и поддерживаемый слой работы с сетью. Вы узнаете, как определить API с помощью аннотаций, генерировать код для работы с JSON, использовать интерцепторы для логирования и обработки ошибок, и управлять состоянием приложения с помощью Provider.

Вы пройдёте через 6 шагов:
1. Добавление зависимостей
2. Создание модели с помощью JSON Serializable
3. Определение API с помощью Retrofit
4. Настройка Dio с интерцепторами
5. Использование Provider для управления состоянием
6. Отображение данных в UI

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

Читать статью на русском
Read the article in English
Original article

Все подобные новости ищите по хэштегу #FlutterPulseMedium Оцените новую рубрику!

#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #networking #api #retrofit #dio #jsonserializable #provider
1🔥1
Flutter показывает устаревший интерфейс или отсутствуют ресурсы? Есть решение!

Вы когда-нибудь сталкивались с ситуацией, когда Flutter показывает старый интерфейс или не может загрузить ресурсы, даже если вы внесли изменения и перезапустили приложение? 🤔

В этой статье вы узнаете, как настроить VS Code, чтобы он мог автоматически выполнять "свежую" установку приложения с помощью одного клика. Это позволит вам быстро переключаться между обычным запуском и "свежей" установкой, не набирая команды и не удаляя приложение вручную. 🔧

Вы научитесь создавать задачи и конфигурации запуска в VS Code, чтобы иметь два варианта запуска приложения: обычный и "свежий". Это поможет вам экономить время и избегать ошибок, связанных с кэшированием и устаревшими ресурсами. 💻

🇷🇺Читать статью на русском
🇬🇧Read the article in English
🌐Read on Medium

Все подобные новости ищите по хэштегу #FlutterPulseMedium Напишите, понравилась ли вам новая рубрика!

#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #vscode #productivity
👍4
GraphQL в Flutter: Мощный инструмент для работы с данными
Flutter-разработчики, вы готовы улучшить производительность и эффективность ваших приложений? Тогда вам стоит познакомиться с GraphQL - мощной альтернативой REST API!

В этой статье мы рассмотрим, как использовать GraphQL в Flutter для получения данных, и какие преимущества он может принести вашему приложению. Вы узнаете, как реализовать GraphQL-запросы, кэширование ответов, бесконечную прокрутку и обработку ошибок.

🇷🇺 Читать статью на русском
🇬🇧 Read the article in English
🌐 Original article

Все подобные новости ищите по хэштегу #FlutterPulseMedium Оцените новую рубрику!

#flutter #dart #graphql #mobiledevelopment #appperformance #FlutterPulse #FlutterPulseMedium
👍1🔥1
Пакет, который убивает приложения Flutter
Вы долго разрабатывали своё приложение, и вот настал момент его выпуска. Но после обновления Flutter до последней стабильной версии сборка внезапно завершается ошибкой. Причина? Устаревший пакет, добавленный полгода назад, который больше не поддерживается.

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

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

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

🇷🇺Читать статью на русском
🇬🇧Read the article in English
🌐Original article

Все подобные новости ищите по хэштегу #FlutterPulseMedium Напишите, понравилась ли вам новая рубрика.

#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #programming #softwaredevelopment
👍1💯1
Sizer vs ScreenUtil: что лучше для адаптивных макетов в Flutter?
Вы ищете идеальный инструмент для создания адаптивных интерфейсов в Flutter? Давайте разберемся вместе! 😉
В статье рассматривается сравнение двух популярных пакетов - Sizer и ScreenUtil. Вы узнаете о преимуществах и недостатках каждого, а также о том, какой из них лучше использовать для вашего следующего проекта. 📈
В статье будут рассмотрены такие темы, как:
- Различия между Sizer и ScreenUtil
- Преимущества и недостатки каждого пакета
- Как использовать каждый пакет для создания адаптивных макетов
- Рекомендации по выбору пакета в зависимости от сложности проекта

Читайте статью и узнайте, какой пакет лучше всего подходит для вашего проекта:
🇷🇺Sizer vs ScreenUtil — Что лучше использовать для адаптивных макетов в Flutter
🇬🇧Sizer vs ScreenUtil — What You Should Prefer for Responsive Layouts in Flutter
🌐Оригинальная статья на Medium

Все подобные новости ищите по хэштегу #FlutterPulseMedium Оцените новую рубрику! 👍
#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #responsiveLayouts
Flutter: Как избавиться от Singleton в вашем приложении и почему это важно?

Вы используете Singleton в своем Flutter-приложении, но не знаете, как избавиться от него? 🤔 Singleton может показаться удобным решением, но он может принести больше проблем, чем пользы, особенно в крупных приложениях.

В этой статье мы рассмотрим проблемы, связанные с использованием Singleton, такие как скрытые зависимости, трудности с тестированием и проблемы с потоками. Мы также обсудим, как постепенно отказаться от Singleton в пользу Dependency Injection и сделать ваш код более поддерживаемым и тестируемым. 💻

Вы узнаете, как выявить классы, которые используют Singleton, и как заменить их на правильные зависимости. Мы также рассмотрим примеры, иллюстрирующие проблемы, связанные с Singleton, и как их решить.

🇷🇺Читать статью на русском языке
🇬🇧Read the article in English
🌐Original article on Stackademic

Все подобные новости ищите по хэштегу #FlutterPulseMedium Напишите, понравилась ли вам новая рубрика!

#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #softwareengineering
👍1👎1
Разбираемся в конвейере рендеринга Flutter: фаза сборки
Узнайте, как Flutter превращает декларативный код UI в пиксели на экране и оптимизирует процесс рендеринга! 🚀
В этой статье вы погрузитесь в детали фазы сборки конвейера рендеринга Flutter, узнаете о взаимодействии виджетов, элементов и RenderObject, а также о том, как Flutter добивается сублинейной сложности рендеринга. 🤔
Вы узнаете о ключевых концепциях, таких как дерево виджетов, элементы, ключи и процесс согласования дерева виджетов. Кроме того, статья расскажет о том, как использовать post-frame callbacks и как Flutter обрабатывает обновление и переиспользование элементов. 🔄
Читайте продолжение статьи по ссылкам ниже:
🇷🇺Русская версия
🇬🇧English version
🌐Оригинальная статья

Все подобные новости ищите по хэштегу #FlutterPulseMedium Оцените новую рубрику! 👍
#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #renderingpipeline #buildphase
1🔥1
Создай свой первый пакет на pub.dev: пошаговое руководство для Flutter-разработчиков!

Хотите поделиться своим кодом с сообществом и сделать его доступным для других разработчиков? Тогда вам пора узнать, как опубликовать свой пакет на pub.dev!

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

Особое внимание уделено созданию файла pubspec.yaml, написанию кода и документации, а также подготовке пакета к публикации. Вы узнаете, как использовать команду
dart pub publish --dry-run

для проверки пакета перед публикацией и как пройти аутентификацию на pub.dev.

🇷🇺Читать статью на русском
🇬🇧Read the article in English
🌐Original article

Все подобные новости ищите по хэштегу #FlutterPulseMedium Оцените новую рубрику!

#flutter #dart #flutterpulse #FlutterPulseMedium #pubdev #package #FlutterDev #mobiledevelopment #opensource