👋 Здравствуйте, Хочу поделиться процессом создания шаблона погодного приложения на .NET MAUI с архитектурой MVVM
💡 Идея проекта
В качестве идеи было создать не простое приложение, а симпатичный и нестандартный шаблон, который можно легко адаптировать под реальные задачи. Изначально проект начинался на .NET 9, но позже был переведён на .NET 8 из-за несовместимости некоторых библиотек.
🧩 Интерфейс что было заложено
в интерфейс приложения вошло :
- Главная страница
- Календарь
- Заметки
Плюс реализована поддержка светлой/тёмной темы и stub геолокации.
🚧 А как же push уведомления ?
Push уведомления были в планах, но из-за ограничений и нестабильности поддержки на MAUI + изменившихся политик Firebase — реализация была удалена.
В будущем можно легко подключить локальные уведомления (и оставить реализацию push как опциональную часть).
🌤️ Процесс разработки
Для начала была создана главная страница, на которой отображалась погода того города которого введёт пользователь. Погода получается по средствам api openweathermap. Первая реализация отображала погоду на один день, в дальнейшем было реализовано отображение погоды на 5 дней. Используется архитектура MVVM, внедрение зависимостей через DI:
builder.Services.AddSingleton<IWeatherService, WeatherServiceStub>();
builder.Services.AddSingleton<ILocationService, LocationServiceStub>();
📁 Структура проекта
Pogodnik/
├── Views/
├── ViewModels/
├── Models/
├── Services/
├── Resources/
├── Platforms/
├── App.xaml / MauiProgram.cs
Доработка интерфейса приложения
После реализации интерфейса главной страницы и написания функциональной части, реализовались дополнительные страницы это календарь и страница заметок, идея была в том, что пользователь может на необходимую ему дату и город создать заметку, а потом при необходимости посмотреть все заметки которые у него есть или по конкретному городу. В планах было реализовать дополнительно напоминание, но это не вошло в шаблон.
🧠 Небольшое пояснение
Фича с заметками и календарём пришла в процессе — оказалось удобно сохранять события по определённой дате и городу. Пользователь может просматривать и фильтровать свои заметки, связанные с погодными условиями.
📦 Шаблон доступен
Я оформил проект как шаблон — с полной реализацией, чистой архитектурой и готовым UI.
dotnet
maui
mobile ui
app template
c#
Mikrobus
☕ Если хотите поддержать автора — буду рад любой сумме!
Aug 06 06:31
Creator has disabled comments for this post.