Null-Aware элементы
Dart 3.8 ввёл действительно практичную новую функцию языка, называемую null-aware элементами. Она позволяет уменьшить количество шаблонного кода для проверки null элементов перед их отображением.
До:
После:
Оцените новую рубрику лайком 👍, если считаете её полезной! 💡
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #DartLanguage #NullAware #CodingTips #MobileDevelopment #FlutterTips
Dart 3.8 ввёл действительно практичную новую функцию языка, называемую null-aware элементами. Она позволяет уменьшить количество шаблонного кода для проверки null элементов перед их отображением.
До:
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
if (title != null)
title
...
]
)
);
}
После:
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
?title <-----
...
]
)
);
}
Оцените новую рубрику лайком 👍, если считаете её полезной! 💡
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #DartLanguage #NullAware #CodingTips #MobileDevelopment #FlutterTips
👍11🔥1
1..2..3... Гонка Future
Представьте, что вы ждёте ответ от нескольких источников. Но вам нужен только один ответ. Ладно, такое случается не часто, но представьте...
Ждём только 1 ответ
Будьте осторожны, если первый запрос выдаёт ошибку до того, как придёт второй ответ... Future завершится с ошибкой. Значит, вам нужно игнорировать эту ошибку в вашем будущем запросе.
Что возвращает Future.any?
Он возвращает Future, который завершается с первым результатом. Вы можете передать несколько Future разных типов.
Оцените новую рубрику! 👍💡 Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #FutureAny #AsyncProgramming #FlutterTips #MobileDevelopment #ProgrammingTips
Представьте, что вы ждёте ответ от нескольких источников. Но вам нужен только один ответ. Ладно, такое случается не часто, но представьте...
Ждём только 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
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
Устали писать 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
Вы когда-нибудь сталкивались с ситуацией, когда Flutter показывает старый интерфейс или не может загрузить ресурсы, даже если вы внесли изменения и перезапустили приложение? 🤔
В этой статье вы узнаете, как настроить VS Code, чтобы он мог автоматически выполнять "свежую" установку приложения с помощью одного клика. Это позволит вам быстро переключаться между обычным запуском и "свежей" установкой, не набирая команды и не удаляя приложение вручную. 🔧
Вы научитесь создавать задачи и конфигурации запуска в VS Code, чтобы иметь два варианта запуска приложения: обычный и "свежий". Это поможет вам экономить время и избегать ошибок, связанных с кэшированием и устаревшими ресурсами. 💻
🇷🇺Читать статью на русском
🇬🇧Read the article in English
🌐Read on Medium
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, понравилась ли вам новая рубрика!
#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #vscode #productivity
👍4