Question: Is it possible to have Android Kitkat version webview (chromium) on Android 9?
Problem: I have some webpages and I want to show them in webview but the webpages are developed using old technologies like appCache and application Manifest.
The webpages are hosted on a hardware based custom control system which has low specs and the server on the control system does not support https so we cannot move to technologies like service workers.
These webpages works properly on tablet having android 4.4 kitkat. So that's why I am asking about any possibility of integrating kitkat webview (chromium) in Android 9
I tried to use crosswalk webview, it worked but when compiled through old sdk version 23 but crosswalk not compiles on latest android sdk's like 29 and 30
No,it's not possible but you can do one thing that instead of serving a webpage via http or https in your app you can serve a local file to that webview.To do so :-
Method 1
create assets folder.
create your files in that folder like index.html,style.css .
set Webview url to "file:///android_asset/index.html"
It's done.
Method 2
Use Cordova to do so.
Related
I am going to develop a web app using angular and google web API. I am curious if it can be run also on iOS? Are there any thing which are different from that run on Android I need to pay attentions when develop the app?
thanks
Safari has added support for PWA from IOS 11.3. If you are using previous versions of Safari. IT won't work. From IOS 11.3, It supports these 3 features
Web App Manifest
Service Worker
Cache API
Adding to Home screen is not yet supported.
Here is the comparsion for PWA between Chrome and Safari. https://medium.com/#firt/progressive-web-apps-on-ios-are-here-d00430dee3a7
My apps will use some widgets to show web pages. But QTextBrowser just support HTML 4.1, and QtWebView just support QML, and QWebEngineView just spoport Linux/Unix/MacOSX/Windows. Why does QWebEngineView not support Android and IOS? It is the reason of Chromium donot support Android and IOS ?
Current mobie apps often use WebView to show web pages, so we can't wait for QWebEngineView. What is the official idea and plan?
It is the reason of Chromium donot support Android and IOS ?
iOS
Apple does not allow Chromium on iOS.
See rule #2.5.6 at https://developer.apple.com/app-store/review/guidelines/#software-requirements -- Apps that browse the web must use the appropriate WebKit framework and WebKit Javascript.
Android
It is technically possible to add support for Qt WebEngine on Android, but this support does not exist at the moment.
See http://lists.qt-project.org/pipermail/development/2013-September/013169.html for the reasons.
This is my interpretation:
It requires a lot of work. The Qt Company's resources are being spent in other areas.
An Android app that uses QWebEngineView will need to include the Qt WebEngine library, which is very large (~30 MB?). This is not desirable.
Since iOS 10 came out and I updated my iPhone 6 navigator.geolocation.getCurrentPosition() is not working.
Address and port: 192.168.0.16:8100
Since geolocation API is considered as unsecured origin it would work only with SSL but can I do it in a Hybrid application where I don't know what will be the address on each phone?
I've already tried what's mentioned here: Geolocation is blocked in iOS10
Editing in XCode was not helping
Editing the Info.plist in text editor was not helping
I have Cordova White List plugin istalled and I'm using this not recommended wildcard in my config.xml: <allow-navigation href="*"/> .
It works fine on android and was working fine on iPhone 6 before the iOS update.
The problem is you are using live reload, when you use live reload the app code is served from a local web server on your computer using http:// protocol.
If you don't use live reload the code will be loaded from inside your app using file:// protocol and geolocation will work.
Consider sending a bug report to ionic so they maybe can change the local server to serve the code through https
I understand that Android uses the WebView which is based on Chromium (from version 4.4), Does cordova on iOS uses Safari or something else?
Safari for iOS is using WebKit2 (starting from iOS 8).
Details about WebKit2.
This seems to answer to your question.
This plugin makes Cordova use the WKWebView component instead of the default UIWebView component, and is installable only on a system with the iOS 9.0 SDK.
UIWebView is a part of WebKit.
cordova apps use the UIWebView component to load the apps, it's based on safari (WebKit2) but it doesn't include the Nitro javascript engine (the one safari app uses), so your cordova apps will be slower than safari app executing the same code.
Once cordova 4.0 is out, it will include "plugable webviews", that means, you will be able to choose which webview to use from any of the webviews available on the SDK (right now UIWebView and WKWebView)
If you can't wait for cordova 4.0, you can use the WKWebView plugin
WKWebView is based on safari too, but it uses the Nitro javascript engine, so it's as performant as safari app
Here you can read a full article about the comparison between UIWebView and WKWebView
The main difference is, as I mentioned before, WKWebView uses the Nitro javascript engine that is faster than the one used on the UIWebView,
and WKWebview supports IndexedDB and ObjectStore ArrayBuffer.
CSS compability and rendering is the same for UIWebView, WKWebView and safari app
When developing a application for iOS that pulls in a web site, you have a very simple web app wrapper that as far as I know acts like an iframe, pulls in the web site and boom - you have an app.
My understanding is that if done this way you are using a "stripped down" Safari to view the web site in a "app" as it is a web wrapper.
When developing an app for BB OS6, is it the same concept? If I develop a wrapper that says "go fetch site x and display it in this app" is it going to use BB OS6 default browser APIs to render said site?
Also is there links to said API?
If all you want is a container to display Web content I'd highly recommend you use Webworks (or cordova for cross platform) as opposed to Java. WebWorks already creates and sets up the bf2 for you in a tested and proven way.
The equivalent of UIWebView for iOS would be the BlackBerry BrowserField.
If you want some examples of how to use it, I recommend installing the BlackBerry Eclipse plugin. That will install in Eclipse the full BlackBerry Java SDK (e.g. version 6.0, 7.0, etc.), which comes with lots of sample code. From Eclipse, you can then
Import... -> BlackBerry -> Import BlackBerry Samples -> BrowserField2Demo.
Note that you want the BrowserField2Demo, not BrowserFieldDemo!
Or, you can go directly to the github site with BlackBerry sample code.