Technology
When building an desktop/mobile application, this is possible:
- via the native language of the platform
- via a WebView: a special browser window that can access device-level APIs.
- via a language compiled to the native binary
Native
In Android and iOS development, a view is the basic building block of UI: a small rectangular element on the screen which can be used to display text, images, or respond to user input. Even the smallest visual elements of an app, like a line of text or a button, are kinds of views. Some kinds of views can contain other views. It’s views all the way down.
- Android: Java / Kotlin
- IOs: Xcode
Render engine
- Flutter - Flutter is much closer to a “game engine” as it draws it's components using Skia compared to transpiler such as React Native that creates platform native elements. Flutter isn't really native since it uses Skia to render native platform look-alike components.
Transpilling
- https://www.xamarin.com/ - Native Android and iOS apps with .NET and C#
WebViews - Web Wrapper
A WebView is special browser window that can access device-level APIs (generally WebKit)
- https://cordova.apache.org/ (Keycloak as an adapter) - Cordova wraps the HTML/JavaScript app into a native container which can access the device functions of several platforms. - Applications execute within wrappers targeted to each platform
Testing
- Robot: http://www.tapster.io/