Using specific tiles on ionic platform - ionic-framework

I want to create a mobile app in android / IOS and i am thinking to use ionic.
Does ionic has the ability to present my specific tiles on a map at offline ?
Should i use ionic 3, or previous version ?

Leaflet for example provides a plugin to do so.
TileLayer.Cordova
For use with Cordova/Phonegap, adds tile caching onto local device storage, switching between offline and online mode.
I don't see a big reason to use previous version of Ionic. You could even try Ionic 4

Related

Ionic 5 + Capacitor with Huawei HMS

I've build an app using Ionic 5 (Angular) and Capacitor. I'm using the Capacitor plugin for Push Notifications. All is working fine on both iOS and Android. However on Huawai phones (P30 and later) things don't work properly.
No device id is obtained and Push Notifications don't work, even the PushNotifications.addListener('registration', async (token: PushNotificationToken) => {}) is not triggered.
Any ideas on what I need to do so that I can maintain one codebase and make it work on both Android "worlds" (Google & Huawei) ?
Thanks in advance,
Chris
Probably the Ionic plug-ins you used are provided for GMS and Firebase so that their capabilities can be directly called in Ionic. Therefore, apps developed by Ionic must directly call HMS capabilities when Google Play services are unavailable.
You are advised to use HMS Ionic plugin to integrate HMS Push Kit in Ionic App. You can get the Push Plugin from here. Please use 5.0.0 version.
Or you can get it from npmjs here.
Update:
If you look for a way which allows you to use both push notifications in the same application by detecting the device type and acting accordingly, you can use G+H solution. Using the G+H approach, you are able to maintain one codebase and decide whether to use GMS or HMS based on the availability of either one.
From: https://stackoverflow.com/a/63337530/13329100

Ionic apps how to update automatically on playstore?

I have a app on playstore. I uploaded new version which is showing also new update on playstore. But i want to update automatically without clicking update button. Many apps like facebook etc publish update and in our mobile it will automatically update without asking. i want same like this it will update automatically on mobile.
for Android you can use the following plugin of ionic to auto update
and for iOS I think theres an option for autoupdate and it works if the phone is not on Low battery mode.
For Ionic you can use Codepush "A cloud service that enables
Cordova and React Native developers to deploy mobile app updates
directly to their users’ devices."
https://github.com/microsoft/code-push

Desktop Application with Ionic framework

is there anyone who will help me about ionic framework.
I want to know that can we develop desktop and mobile application both with single codebase in ionic framework.
I want to know that can we develop desktop and mobile application both with single codebase in ionic framework.
Yes, this is exactly the purpose of Ionic.
Check out what is Ionic.
Yes, however you will find a few Ionic components do not provide an ideal user experience on the desktop. For example, ion-datetime should probably work as a dialog on a large screen, instead uses a mobile and touch only friendly slide-up UI with selection characteristics that make number choice with a mouse quite difficult.
Give Electron a try, on youtube search with: Ionic Framework with Electron for building Desktop Application.

What rendering engine does Ionic use?

Can't seem to find which rendering engine the mobile app wrapper Ionic uses. Is it Webkit?
Ionic's Cordova is essentially opening a webview from the native app. That means the rendering engine is different on every device. For example, on the latest devices, Android uses webkit, and iOS uses WkWebView. That's where you have to be careful. Some styling like css-animation behaves differently.
To add to the other answer:
If you wish to have the same experience across the platform, you could always resolve to using the crosswalk plugin. On android, it basically installs the webkit and uses it instead of the native webview, so that it will always display the same across devices. On iOS, there is a similar version for the iOS8 and up to use the new wkWebView and not the old uiwebview. Just google cordova crosswalk and it should come up.

ionic sidemenu on mobile browser not working smoothly

I am developing mobile web app using ionic sidemenu, but it is not as smooth as it should be. When I open sidemenu using slide left/right, I am getting less than 30 FPS as shown in figure.
How can I improve the performance?
Reaching 60 FPS would be great!
AppGyver's Steroids tooling also provides you with access to Crosswalk on Android. You can run it in your Ionic project directly without modifying any files.
Also, Supersonic's sidemenu/drawer is fully native, so if you're up for migrating, it'll run way faster. :)
(Disclaimer: I'm a programmer for AppGyver.)
My advice is to use Crosswalk instead of the Cordova as the webview for the app.
While both share the same end goal, they are different:
Cordova, from the Apache Foundation, uses the regular (pre-lollipop) Android webview, which is based on Android's stock browser since its inception.
The Crosswalk Project, created on the Intel Open Source Technology Center, is different. It wraps your app with Chromium, the open-source base code that gave birth to Google Chrome, which brings numerous performance enhancements: css3 transitions, animations, 3d transformations, html5 support, remote debugging and much better javascript support and performance.
At the time of writing, the Ionic team is already working on a beta version (1.3.0-beta1) that uses Crosswalk instead of Cordova. Not really stable just yet, but a huge promise.
In any case, you can use Crosswalk today, by manually copying your Ionic project's 'www'
folder content to the project folder inside Crosswalk folder and run it. You'll need to setup some manifest files previously, so read the docs.
In any case, it's not hard at all to try, and I'll recommend it everyday for all projects pre-Lollipop. If you're targeting Lollipop/Android 5 versions, you don't need it, because the default Webview in these versions is already Chrome-based.
Hope it helps.