Flutter Pulse
1.01K subscribers
580 photos
1 file
1.58K links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Оптимизация генерации кода
Ускорьте генерацию кода Flutter ⚡️

Заметка: Что такое генерация кода в Flutter?
Flutter позволяет генерировать шаблонный код с помощью аннотаций над классом/методом.
Это особенно полезно для генерации JSON-объектов (пакет json_serializable) или внедрения сервисов (gate_generator).

Как запустить генерацию кода?
1. Установите пакет build_runner и пакет, генерирующий код (см. примечание выше)
2. Выполните команду:
flutter packages pub run build_runner build --delete-conflicting-outputs


1 - Создайте файл build.yaml в корне проекта, как этот:

targets:
$default:
builders:
gate_generator:gate_schema:
enabled: true
generate_for:
include:
- "lib/gate/**.dart"
- "lib/services/**/**.dart"
- "lib/data/repositories/**.dart"
- "lib/ui/**/**.dart"
exclude:
- "lib/data/entities/**.freezed.dart"
- "lib/data/entities/**.g.dart"
freezed:
enabled: true
generate_for:
exclude:
- test
include:
- lib/data/entities/**
source_gen|combining_builder:
options:
ignore_for_file:
- "type=lint"


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

Оцените новую рубрику и напишите своё мнение! 👍💬

Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #FlutterTips #CodeGeneration #OptimizeCode #FlutterDevelopment #MobileDevelopment #ProgrammingTips #DevelopmentTips
👍2🔥2
Что такое Render Objects?

Render Objects являются основой визуальной системы Flutter. Они используются для отрисовки элементов интерфейса на экране.

Flutter строит пользовательские интерфейсы в три слоя:
1. Widget: конфигурация визуального элемента
2. Element: соединяет виджеты и объекты рендеринга
3. RenderObject: рисует на вашем экране

Настройка RenderObject
Поскольку мы будем рендерить одного потомка, мы расширяем SingleChildRenderObjectWidget.

Render Objects рисуют как CustomPainter, но с гораздо большими возможностями:
- Могут иметь потомков и реагировать на ограничения макета
- Управляют как макетом, так и отрисовкой
- Обрабатывают ограничения макета
- Управляют своим собственным размером

Зачем использовать RenderObject?
Большую часть времени вам не придётся писать RenderObjects самостоятельно. Используйте виджеты!
Но пользовательские RenderObjects дают неограниченную творческую свободу для нестандартных виджетов.


class MyHomePage extends StatelessWidget {
const MyHomePage({super.key});

@override
Widget build(BuildContext context) {
return Scaffold(
body: const Center(
child: CustomStar(
size: 200,
color: Colors.amber,
),
),
);
}
}

class CustomStar extends SingleChildRenderObjectWidget {
final double size;
final Color color;

const CustomStar({
super.key,
required this.size,
required this.color,
});

@override
RenderObject createRenderObject(BuildContext context) {
return RenderCustomStar(size: size, color: color);
}

@override
void updateRenderObject(BuildContext context, RenderCustomStar renderObject) {
renderObject.starSize = size;
renderObject.color = color;
}
}

class RenderCustomStar extends RenderBox {
RenderCustomStar({
required double size,
required Color color,
}) : starSize = size,
color = color;

double starSize;
Color color;

@override
void performLayout() {
size = constraints.biggest;
}

@override
void paint(PaintingContext context, Offset offset) {
final canvas = context.canvas;
canvas.save();
canvas.translate(offset.dx, offset.dy);
// ... рисуйте то, что вам нужно здесь
}
}


Оцените новую рубрику лайком! 👍
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #mobiledev #renderobjects #flutterrenderobjects #flutterui #flutterdevelopment #codingtips
👍31
Flutter Pulse
MCP сервера: как они работают и как создать свой собственный на Dart 🚀 В этом видео Юрий Петров разберёт, что такое MCP сервера, как они работают и зачем они нужны разработчикам. Вы узнаете, как реализовать MCP сервер на Dart и подключить его к Cursor IDE.…
Улучшите свой опыт разработки Dart и Flutter с помощью сервера Dart MCP!
Представьте себе, что ваш AI-помощник может не только давать советы, но и напрямую взаимодействовать с вашим проектом Dart или Flutter, исправляя ошибки, добавляя новые функции и даже управляя зависимостями!

В этой статье мы рассмотрим, как использовать сервер Dart и Flutter MCP, чтобы вывести вашу разработку на новый уровень. Вы узнаете о полезных инструментах, предоставляемых сервером, и о том, как настроить его для использования с популярными инструментами, такими как Gemini CLI, Gemini Code Assist в VS Code, Cursor и GitHub Copilot в VS Code. Сервер Dart и Flutter MCP позволяет AI-моделям взаимодействовать с вашей средой разработки и запущенным приложением Dart или Flutter, предоставляя интеллектуальные идеи и используя инструментарий, обычно доступный только из вашей IDE или Dart и Flutter DevTools.

Сервер предоставляет растущий список инструментов, которые дают AI-помощникам глубокое понимание вашего проекта. Он может анализировать и исправлять ошибки в коде вашего проекта, интроспектировать и взаимодействовать с вашим запущенным приложением, искать на pub.dev лучший пакет для вашего случая, управлять зависимостями пакетов в вашем pubspec.yaml, запускать тесты и анализировать результаты.

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

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

FlutterPulse — канал о мире Flutter!

#flutter #dart #flutterpulse #FlutterPulseMedium #AIforDevelopers #DartMCP #FlutterDevelopment #DevTools #ProductivityBoost
Автоматизируйте свой Flutter-проект с Figma Puller!

Хотите, чтобы ваш Flutter-проект всегда соответствовал вашему дизайну в Figma? Figma Puller - это Dart-пакет, который позволяет получать design tokens и активы напрямую из Figma-файла и генерировать чистый Dart-код для использования в вашем приложении.

Figma Puller соединяет Figma API с вашим Flutter-проектом, скачивает цветовые стили, иконки и метаданные дизайна, а затем генерирует Dart-файлы и хелперы для Flutter. Это позволяет использовать design tokens в коде так же легко, как вызывать AppColors.primaryBlue или AppIconWidgets.home(). Пакет автоматически обнаруживает изменения, пропускает неизмененные файлы и организует все в логические категории.

В статье подробно описано, как Figma Puller извлекает цвета и иконки из Figma, генерирует константы и виджеты, а также как использовать пакет в вашем проекте. Вы узнаете, как настроить пакет, использовать CLI и интегрировать его в ваш CI/CD-пайплайн.

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

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

FlutterPulse — канал о мире Flutter!

#flutter #dart #figma #designtokens #flutterdev #flutterdevelopment #mobiledev #figmapuller #FlutterPulse #FlutterPulseMedium
🔥1
Автоматизируйте свои сборки Flutter: CI/CD Pipeline для Dev/Staging/Prod за 30 минут (GitHub Actions + Fastlane)
Настройте автоматизированные CI/CD-пайплайны для вашего Flutter-приложения с несколькими средами и развертывайте в TestFlight и Play Store одним коммитом!
В этой статье вы узнаете, как настроить полный CI/CD-пайплайн, который будет автоматически собирать и тестировать ваше приложение при пуше кода, разворачивать dev-сборки для внутренних тестировщиков, отправлять staging-сборки бета-тестерам и выкладывать production-сборки в app store с одобрения.

Основные возможности, которые вы получите:
🔹 Автоматическая сборка приложения при пуше кода
🔹 Запуск тестов перед сборкой
🔹 Развертывание dev-сборок для внутренних тестировщиков
🔹 Отправка staging-сборок бета-тестерам
🔹 Выкладка production-сборок в app store с одобрения

Вы научитесь настраивать GitHub Actions, Fastlane и другие инструменты для автоматизации процесса разработки и развертывания Flutter-приложений.

🇷🇺 Читать статью на русском:
Часть 1
Часть 2

🇬🇧 Read the article in English:
Part 1 → https://telegra.ph/Automate-Your-Flutter-Builds-CICD-Pipeline-for-DevStagingProd-in-30-Minutes-GitHub-Actions--Part-1-01-21
Part 2 → https://telegra.ph/Automate-Your-Flutter-Builds-CICD-Pipeline-for-DevStagingProd-in-30-Minutes-GitHub-Actions--Part-2-01-21

🌐 Читать оригинал

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

FlutterPulse — канал о мире Flutter!

#flutter #dart #flutterpulse #FlutterPulseMedium #CICD #GitHubActions #Fastlane #DevOps #FlutterDevelopment #MobileDevOps #TestFlight #PlayStore #AndroidDevelopment #iOSDevelopment #Automation #FlutterDeployment #ContinuousIntegration #ContinuousDeployment #MobileAppDevelopment #FlutterTips #AppDeployment
💩1