Build a Pomodoro Timer & Package It as a DMG — Compose Desktop | Kotlin Desktop Lesson 20
Автор: Taught by Celeste AI - AI Coding Coach
Загружено: 2026-02-25
Просмотров: 32
Описание:
Learn how to package Compose Desktop apps as native installers! We build a Pomodoro Timer with a circular Canvas progress ring, phase-specific
colors, and auto-advancing work/break cycles — then configure nativeDistributions in Gradle to produce a DMG installer with one command.
What You'll Learn:
nativeDistributions block to configure native packaging in Gradle
targetFormats for DMG (macOS), MSI (Windows), and DEB (Linux) installers
Package metadata: packageName, packageVersion, vendor, and description
Platform-specific config: macOS bundleID, Windows menuGroup, Linux debMaintainer
Running ./gradlew packageDmg to build a native macOS installer
Canvas drawArc for circular progress indicators with StrokeCap.Round
LaunchedEffect for countdown timer with auto-advance between phases
Pomodoro pattern: Work (25min) → Short Break (5min) → Long Break (15min) after 4 sessions
Session tracking dots with filled/outlined Canvas circles
Toolkit.getDefaultToolkit().beep() for phase completion alerts
Timestamps:
0:00 - Introduction
0:15 - Preview: Pomodoro Timer App
0:45 - Project Setup & Pomodoro Models
3:23 - Timer Circle with Canvas drawArc
5:30 - AppContent, Main & Compile
12:18 - Packaging with nativeDistributions
14:58 - Live Demo: Pomodoro Timer
15:53 - Recap & Key Takeaways
16:53 - Thanks for Watching
Key Takeaways:
1. nativeDistributions — Configure targetFormats to build DMG, MSI, and DEB installers from Gradle
2. Package Metadata — Set packageName, version, vendor, and description for professional distribution
3. Platform Config — macOS bundleID, Windows menuGroup, Linux debMaintainer for each target OS
4. Gradle Tasks — Run packageDmg, packageMsi, or packageDeb to build platform-specific installers
5. Canvas drawArc — Create circular progress indicators with Canvas, drawArc, and StrokeCap.Round
Source Code: https://github.com/GoCelesteAI/kotlin...
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: