Native Apps : A software application built in a programming language, for the specific platform like iOS, Android ,Windows, macOS and Linux. The pros and cons are,
- The Best performance – no extra calculations or interpretations layers.
- No way to update UI without updating the app (only if you don’t have some built-in UI update engine)
- Your app can be used only for target platforms. You cannot start the app inside the browser without using something like Thinfinity Virtual UI.
Hybrid Apps: Hybrid apps are part native apps, part web apps. It can take advantage of some device features available. Like web apps, they rely on HTML being rendered in a browser, with the caveat that the browser is embedded within the app. The pros and cons are,
- Possibility to update the UI and logic without updating the whole app.
- Risk during submission to app stores (but your app still looks like a native app to the play store).
Hybrid apps with Delphi is that possible? Yes, using the TWebBrowser component and ScriptGate.
Why do we want to use ScriptGate?
It looks like a native application, access to platform-specific features, like get device token, working with push notifications (including background mode), access to BLE and other hardware onboard features, working with permissions, and so on. Possibility to publish the application to app stores like a native app.
What’s the challenge here?
- Get Push notifications token in the host app and transfer it to the web app.
- Initiate permission requests from web app before calling some restricted function, e.g perform calls.