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