For iOS related documentation see:
- Overview: https://developer.apple.com/documentation/uikit/app_and_environment/managing_your_app_s_life_cycle?language=objc
- UIApplicationDelegate: https://developer.apple.com/documentation/uikit/uiapplicationdelegate?language=objc
- UISceneDelegate: https://developer.apple.com/documentation/uikit/uiscenedelegate?language=objc
- Scenes: https://developer.apple.com/documentation/uikit/app_and_environment/scenes?language=objc
For Android, TODO
Types
IBaseApp = concept app ## Interface common to both mobile and desktop applications app.life is EventSource[LifeEvent]
LifeEvent = object case kind*: LifeEventKind of AppStarted, AppWillExit: nil of WindowAdded, WindowWillForeground, WindowDidForeground, WindowWillBackground, WindowClosed: windowId*: int
- Events that can happen to mobile apps
LifeEventKind = enum AppStarted, AppWillExit, WindowAdded, WindowWillForeground, ## Mobile only WindowDidForeground, ## Mobile only WindowWillBackground, ## Mobile only WindowClosed
Consts
testconcepts = false
wiish_android = false
wiish_desktop = true
- Indicates that this is a desktop app
wiish_dev = false
- Indicates that this isn't a packaged app, but rather running in dev mode
wiish_ios = false
wiish_linux = false
wiish_mac = true
wiish_mobile = false
- Indicates that this is mobile app
wiish_mobiledev = false
wiish_windows = false