application ()
A high-level function.
Automatically starts the Compose event loop.
You define your UI (e.g., Window {}) inside the block.
The app exits automatically when all windows are closed.
Ideal for simple apps.
awaitApplication ()
A suspend function — gives more control over the app lifecycle.
You need to manually call exitApplication() to terminate the app.
Useful when you need to suspend main(), perform async setup, or manage multiple windows manually.