Введение: Нам всем нравится приложение Counter ❤️, но, может быть, подойдет что-то более чистое?

Почетное упоминание шаблона Скелет.

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

Для разработчиков Flutter нет ничего лучше, чем запустить flutter create и приветствовать это гостеприимное приложение Counter, которое хорошо знакомо каждому разработчику Flutter. Это начало великих творческих свершений.

Тем не менее, каждый разработчик Flutter также знает, что сразу после запуска команды flutter create следующим шагом часто является удаление всех комментариев к учебнику, настройка лучшей структуры каталогов, удаление метода _incrementCounter и общая очистка приложения Counter, чтобы способ для вашего собственного кода.

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

Встречная альтернатива: минимальный шаблон флаттера

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

Возможности для роста: надежный шаблон проектирования MVC

Помимо необходимости удалить весь начальный контент из приложения Counter, прежде чем вы сможете начать сборку, другая проблема с этим стандартным шаблоном для начинающих заключается в том, что он на самом деле не использует идеальную архитектуру для более сложных приложений. Для простого приложения Flutter использование архитектуры StatefulWidget/State может работать нормально. Тем не менее, вам не нужно далеко заходить в разработке Flutter, прежде чем вы столкнетесь с одной из самых больших трудностей с фреймворком: деревья виджетов, которые становятся огромными, запутанными беспорядками спагетти-кода, которые смешивают логику приложения и пользовательский интерфейс в одном классе. Эта система превратится в запутанную и непригодную для сопровождения систему и рано или поздно станет большой головной болью.

К счастью, решение этой проблемы уже существует: используйте шаблон проектирования модель-представление-контроллер (MVC). Шаблон проектирования MVC — это способ достижения разделения задач, при котором бизнес-логика хранится в одной части приложения, а логика пользовательского интерфейса — в другой. Таким образом, если для логики, работающей в приложении, потребуются обновления, вы точно будете знать, где найти код, который необходимо изменить; если для пользовательского интерфейса необходимы обновления, эти части также будет легко найти.

Существует множество способов использования шаблона проектирования MVC во Flutter. Тот, который используется в шаблоне Barebones, известен как WidgetView и обсуждается Шоном Блейсом здесь, на Medium. В шаблоне Barebones вы найдете типовой шаблон проектирования MVC, который поможет начать разработку на прочной организационной основе.

Начало работы: использование шаблона Barebones

Хотите начать свой следующий проект Flutter с шаблоном Barebones? Вы можете найти шаблон Barebones на GitHub.

Чтобы начать новый проект с использованием шаблона Barebones, просто клонируйте репозиторий GitHub и откройте полученное приложение в выбранной вами среде IDE.

Основная часть платформы и место, где вы, скорее всего, начнете создавать собственное приложение, находится в main.dart. Здесь вы найдете схему домашней страницы приложения с использованием шаблона проектирования WidgetView MVC.

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

Спасибо за чтение и счастливого Fluttering!