Flutter Pulse
517 subscribers
331 photos
722 links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Определение платформы, на которой запущено приложение

Flutter потрясающий... работает на Android, iOS, Web, Windows, Linux, macOS.

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

Пример кода:



import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

class PlatformUtils {
static bool get isDesktop => defaultTargetPlatform == TargetPlatform.windows ||
defaultTargetPlatform == TargetPlatform.linux ||
defaultTargetPlatform == TargetPlatform.macOS;

static bool get isMobile => defaultTargetPlatform == TargetPlatform.android ||
defaultTargetPlatform == TargetPlatform.iOS;

static bool get isWeb => kIsWeb;
}




Важно: Не импортируйте dart:io, если планируете использовать приложение на web, так как dart:io недоступен на web. Вместо этого используйте flutter/foundation.

Оцените новую рубрику по Flutter советам 🤔💡! Ваши отзывы помогут нам сделать контент еще лучше 👍. Все подобные новости можно найти по хэштегу #FlutterPulseTips.

#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #CrossPlatform #CodingTips #DevTips
👍3👌2🔥1
Запускайте тесты с несколькими вариантами

Привет, Flutter-разработчики! 👋 Сегодня мы поделимся с вами полезным советом о том, как запускать тесты с несколькими вариантами без необходимости писать отдельный тест для каждого значения. 📈

Вы когда-нибудь сталкивались с ситуацией, когда нужно протестировать один и тот же сценарий с разными входными данными? Вместо того, чтобы писать множество повторяющихся тестов, вы можете использовать возможности ValueVariant из Flutter! 🔥



final timesVariant = ValueVariant<double>({1, 10, 100, 1000}); // Создаём вариант со списком значений

testWidgets('push counter N times', (
WidgetTester tester,
) async {
await tester.pumpWidget(const myApp()); // Инициализируем виджет
for (int i = 0; i < timesVariant.currentValue!; i++) { // Получаем текущее значение варианта
await tester.tap(find.byType(OutlinedButton).first); // Симулируем нажатие кнопки
}
expect(find.text("pushed ${timesVariant.currentValue!} times"), findsOneWidget); // Проверяем текст
}, variant: timesVariant); // Устанавливаем вариант для теста




В этом примере мы:
1. Создаём ValueVariant с нужными нам значениями.
2. Используем timesVariant.currentValue внутри теста, чтобы получить текущее значение.
3. Указываем variant: timesVariant, чтобы тест выполнился для каждого значения.

Таким образом, вы экономите время и пишете более чистый код! 💪

Оцените новую рубрику и напишите в комментариях, насколько она вам полезна! 🤔

Все подобные новости можно найти по хэштегу #FlutterPulseTips

#flutter #dart #flutterpulse #FlutterPulseTips #FlutterTips #MobileDevelopment #Testing #ValueVariant #FlutterTesting #CodingTips
👍1
Форматирование JSON с помощью Dart

Привет, разработчики! 👋 Сегодня мы рассмотрим полезный совет по работе с JSON в Dart. Вы узнаете, как красиво напечатать JSON-строку, сделав её более читаемой и удобной для отладки 🛠️

Проблема: JSON-данные часто приходят в компактном, неформатированном виде, что затрудняет их чтение и анализ.

Решение: Используйте класс JsonEncoder из пакета dart:convert для форматирования JSON.


import 'dart:convert';

// Создаём кодировщик с отступами для форматирования
var encoder = const JsonEncoder.withIndent(' ');
// Преобразуем данные в красиво отформатированную строку
String prettyprint = encoder.convert(data);


Этот простой код позволяет превратить нечитаемую JSON-строку в структурированный и понятный формат с отступами 🌟

Оцените эту рубрику и напишите в комментариях, какие темы вам было бы интересно разобрать в следующих выпусках! 💬

Все подобные новости вы можете найти по хэштегу #FlutterPulseTips

#flutter #dart #flutterpulse #FlutterPulseTips #JSON #DartTips #FlutterTips #CodingTips #AppDevelopment #MobileDevelopment
👍31