I saw your other tutorial too. You seemed to be really worried about the sun light. It actually gives a very vacation-y tropical feel to the tutorial haha :)
Hi Simon! your tutorials are simply great! thanks a lot! Please can you build a tutorial on how to create a cross platform app with ionic/angular, a online store with a nodejs server? thanks a lot
Hello Simon, I'm working on ionic offline mode app. 1. Can you please suggest me how to set and get formdata in ionic storage. 2. After capturing image through camera how should I get that image in multipart format.
The import import { IonicStorageModule } from '@ionic/storage/ngx'; is incorrect. it should be imported as: import { IonicStorageModule } from '@ionic/storage';
Whats about race conditions? For example, if you do you "push" and before it is hitting 'finalize', a new element gets added. I wonder if there is also a race condition for storage management. Reading something, altering, and then writing it async. If that happens more often than once at the time it might do something unexpected.
Hi Simon, We implemented this in an app which will be used in a warehouse without wifi for stock movements. It works great! We want to implement the offline mode in another app but this is a bit of a struggle. The use case is that the users can create projects and add hour registrations on it. Creating a project and adding hour registrations are separate API calls. The ids are auto generated by the API. Create project: POST /api/projects -> returns auto generated id Create hour registration: POST /api/projects/{projectid}/hourregistrations If we work offline the API call for creating a project is added to the offline cache, and we don't have any id to start our hour registration. Is this a problem you have encountered? What are your thoughts on this? If I find a solution, I'll reply to this post.
That's really challenging indeed..I'm actually not sure what the best solution might look like.. Somehow creating a connection between the first and second call, so the second API call is only triggered when the first is finished (and waiting for the result). But right now I don't know how the code would look like, it certainly is a challenge. Please let us know when you find a solution!
hi @Simon Grimm, Thank you for your great tutorial videos.. Can i ask a favor, Ive been trying to make an ionic project and i want to publish as desktop app for windows...Will you make some tutorial please.. I cant find any tutorial for this kind ... I greatly appreciate if you consider.. Thank You and Good Day..
The are inside the SQLite database of your app (if you added the according Cordova plugin), otherwise they will be inside the localstorage of the browser of the app.
Why not always show the local data if it exists and make an additional request to the server when you are online to update the local data? A offline first approach is faster for your app. Since network is slower then disk read. This way information is shown earlier and gets updated accordingly when need be. This would also help in cases where network speed is slow. Having a white screen while you wait with something like a spinner is bad when you can already display previous data. Displaying both a spinner and previous data would be even better. If you really want to be fancy and fast, you can poll the server api for recent changes and only fetch back the latest differences by storing for example a date of retrieval. You can use triggers in mysql databases to store a new date in your database when information in a table changes. This will make the json response smaller and would optimize bandwidth. You would simply fetch the changes between dates. Then there is the idea of shipping a local "seed" database with your app so that when a user first opens your app and is offline while doing so, would still get to see a somewhat recent representation of data. Sort of like a snapshot. Also, service workers can help do caching of requests and offline storage too. I would like to see some coverage on that somewhere, so far I haven't found much information ionic wise on how to do this with service workers. Some positive feedback from me. I love your tutorials by the way. I hope you'll consider some of my ideas.
Thanks for your input Hylke! In fact this is a decision every app/company needs to make: Display data faster, or always display the most up to date version? Sometimes the second is a business requirement. In other cases, I agree that it would be better to display the data fast. But it really depends from app to app!
@@galaxies_dev you can still display the most up to date version after displaying the local version first. The difference is that you have something to look at while fetching updates instead of a white screen. But then again you could be displaying information that has been deleted and those will then be removed when the information is updated. That's the only downside I see.
Don't go directly to some point, you need to go stepwise, it might be easier for those who have not even tried ionic before, so you need to make them a just quick aware with the process and then move to the exact codebase. Thank you
I don't know about makemytrip, what is it like? And yes I'm currently planning to do more project style videos in the near future, so any idea for an app would be great!
Hi Simon., Thank you for the wonderful video. I would like to add that for 'rxjs' version more than 5, the type should be given after "this.http.get" this.http.get(`${this.apiBaseUrl}/${url}&apiKey=${this.apiKey}`).... This is one error I personally faced and fixed.
Yeah that's indeed a problem. Best thing is to make a test HTTP call to some page like google or something on your server like a "ping" to check if you really got an internet connection!
I think this person wants to know whether sqlite supports storing data blobs. I think it might be better to do file storage on the device in this case.
Hey Adem, why? I've actually heard from many that reading on a light background is a lot easier! But of course people like it different, I also had a dark them for a long time..perhaps I'll make a poll about it x)