Suggestion: Allow Cntrl + R to switch web storage and local

Discussion and feedback on Construct 2

Post » Sat May 23, 2015 8:24 am

Hi, Scirra recently moved from WebStorage plugin to local storage plugin. So, could you please give us the ability to use the replace functionality( Ctrl + R) to replace the same...

Thanks.

P.S. Is the new local storage compatible with "native" iOS, Android and Windows Apps
Something big is coming...
To the Windows Store, App Store, Play Store and 14 other app marketplaces near you! :)
B
15
S
2
Posts: 62
Reputation: 856

Post » Sun May 24, 2015 4:51 am

what your asking is not possible because the local storage works differently if something like that worked they would of just completely replace web with local and we would not need to change anything

From the local storage release says why is can't be done

New Local Storage plugin

The new Local Storage does mostly the same thing as WebStorage - storing data locally to a user's device - but with a number of improvements:

Asynchronous storage: WebStorage was synchronous, so a long store/load would jank the game (pause while it processes). Local Storage uses asynchronous storage where supported (IndexedDB or WebSQL) firing triggers when stores or loads are complete, allowing storage to work in parallel to the game and improving performance in storage-intensive scenarios. (Note on old browsers which don't support IndexedDB or WebSQL it falls back to using synchronous storage like WebStorage did, but all modern browsers support asynchronous storage.)
WebStorage often faced tight storage limits, commonly with just around 5mb total storage allowed. Since Local Storage uses IndexedDB or WebSQL where supported and these have higher storage quotas, on many platforms you have a much higher storage capacity (commonly around 50mb, or effectively unlimited after a permission prompt).
Local Storage preserves the types of values stored. WebStorage would return all values as strings, even if you store a number, which can cause confusing bugs. Local Storage returns a number if you store a number, avoiding issues with unexpected types.
The WebStorage API has actually been removed from Chrome Web Store apps, so WebStorage can't store anything on that platform. Since Local Storage uses IndexedDB in Chrome which is still supported, it means storage is now possible again in Chrome Web Store apps. WebStorage support may even be deprecated and removed from browsers in future, since there is a movement away from synchronous features, so moving to the new Local Storage plugin helps future-proof your apps.
'Session storage' has been removed in the new plugin, since it had no benefits over using global variables and added a lot of baggage.
It has a less confusing name (beginners frequently thought "Web" in the "WebStorage" name meant it wouldn't work offline, but it does)

These changes are too extensive to retro-fit to the old WebStorage plugin, so instead Local Storage has been introduced as a new plugin to replace WebStorage.

The downside is it's a little tricker to use. In particular since getting item values is asynchronous, there is not a simple "get item value" expression: you must use the "get item" action and then a moment later the "On item get" trigger fires with the value being available. Also note that since Local Storage uses a different storage mechanism, it will not be able to read any existing data saved with WebStorage. However the above benefits mean that it's still a good idea to transition to the new plugin if possible. Existing projects can keep using WebStorage, but it is now deprecated and cannot be used in new projects.
B
42
S
17
G
2
Posts: 850
Reputation: 6,209

Post » Sun May 24, 2015 5:15 am

Oh ok. Thanks
Something big is coming...
To the Windows Store, App Store, Play Store and 14 other app marketplaces near you! :)
B
15
S
2
Posts: 62
Reputation: 856


Return to Construct 2 General

Who is online

Users browsing this forum: Brendan2007 and 7 guests