-
Notifications
You must be signed in to change notification settings - Fork 3.2k
docs(storage): replace outdated or sunset products with active projects #4238
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 3 commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
ddaa4e9
docs(storage): replace outdated or sunset products with active projects
2140359
WIP - change note to info, add missing 'a'
7ebf349
WIP - include changes in the v7 docs as well
cb30d7f
WIP - use the proper view FW in the proper doc, fix pluralization
bc74df6
WIP - npm run lint
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
brandyscarney marked this conversation as resolved.
Show resolved
Hide resolved
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,50 @@ | ||
--- | ||
title: Data Storage | ||
sidebar_label: Storage | ||
--- | ||
|
||
# Data Storage | ||
<head> | ||
<title>React App Data Storage Options - Ionic Documentation</title> | ||
<meta | ||
name="description" | ||
content="A variety of options are available for storing data within Ionic apps made using Angular. Choose the options that best fit your storage needs." | ||
/> | ||
</head> | ||
|
||
There are variety of options available for storing data within an Ionic app. | ||
There are a variety of options available for storing data within an Ionic application. It is best to choose options that best fit the needs of your application. A single application may have requirements that span multiple options. | ||
|
||
Here are two official Ionic options: | ||
:::info | ||
Some storage options involve third-party plugins or products. In such cases, we neither endorse nor support those plugins or products. We are mentioning them here for informational purposes only. | ||
::: | ||
|
||
## Ionic Secure Storage | ||
Here are some common use cases and solutions: | ||
|
||
For teams building mission-critical apps or requiring encryption support, [Ionic Secure Storage](https://ionic.io/docs/secure-storage) is an official premium solution from the Ionic team that provides a cross-platform data storage system that works on iOS and Android. | ||
## Local Application Settings and Data | ||
|
||
It makes it easy to build high performance, offline-ready Ionic apps across iOS, Android, and the web. | ||
Many applications need to locally store settings as well as other lightweight key/value data. The [Capacitor Preferences](https://capacitorjs.com/docs/apis/preferences) plugin is specifically designed to handle these scenarios. | ||
|
||
[Learn more](https://ionic.io/products/secure-storage) | ||
## Relational Data Storage (Mobile Only) | ||
|
||
## @ionic/storage | ||
Some applications, especially those following an offline-first methodology, may require locally storing high volumes of complex relational data. For such scenarios, a SQLite plugin may be used. The most common SQLite plugin offering are: | ||
|
||
For developers not requiring encryption nor relational data support, [@ionic/storage](https://github.com/ionic-team/ionic-storage) is an open source key/value API for building apps that work across storage engines on multiple platforms. | ||
- [Cordova SQLite Storage](https://github.com/storesafe/cordova-sqlite-storage) (a [convenience wrapper](https://danielsogl.gitbook.io/awesome-cordova-plugins/sqlite) also exists for this plugin to aid in implementation) | ||
- [Capacitor Community SQLite Plugin](https://github.com/capacitor-community/sqlite) | ||
|
||
Additionally, Ionic Secure Storage has a driver that works with the key/value API in `@ionic/storage` while providing encryption and SQLite support. | ||
## Non-Relational High Volume Data Storage (Mobile and Web) | ||
|
||
Learn more about [@ionic/storage](https://github.com/ionic-team/ionic-storage) | ||
For applications that need to store a high volume of data as well as operate on both web and mobile, a potential solution is to create a key/value pair data storage service that uses [indexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API) on the web and one of the previously mentioned SQLite plugins on mobile. | ||
|
||
Here a sample of how this can be accomplished: | ||
|
||
- [Full application](https://github.com/ionic-enterprise/tutorials-and-demos-react/tree/main/demos/sqlcipher-kv-pair) | ||
- [Mobile Service](https://github.com/ionic-enterprise/tutorials-and-demos-react/blob/main/demos/sqlcipher-kv-pair/src/utils/mobile-kv-store.ts) | ||
- [Web Service](https://github.com/ionic-enterprise/tutorials-and-demos-react/blob/main/demos/sqlcipher-kv-pair/src/utils/web-kv-store.ts) | ||
|
||
## Other Options | ||
|
||
Other storage options that provide local as well as cloud-based storage that work well within Capacitor applications also exist and may integrate well with your application. | ||
|
||
For example: | ||
|
||
- [PouchDB](https://pouchdb.com/) | ||
- [Firestore](https://firebase.google.com/docs/firestore) |
brandyscarney marked this conversation as resolved.
Show resolved
Hide resolved
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,50 @@ | ||
--- | ||
title: Data Storage | ||
sidebar_label: Storage | ||
--- | ||
|
||
# Data Storage | ||
<head> | ||
<title>React App Data Storage Options - Ionic Documentation</title> | ||
<meta | ||
name="description" | ||
content="A variety of options are available for storing data within Ionic apps made using Angular. Choose the options that best fit your storage needs." | ||
eric-horodyski marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
/> | ||
</head> | ||
|
||
There are variety of options available for storing data within an Ionic app. | ||
There are a variety of options available for storing data within an Ionic application. It is best to choose options that best fit the needs of your application. A single application may have requirements that span multiple options. | ||
|
||
Here are two official Ionic options: | ||
:::info | ||
Some storage options involve third-party plugins or products. In such cases, we neither endorse nor support those plugins or products. We are mentioning them here for informational purposes only. | ||
::: | ||
|
||
## Ionic Secure Storage | ||
Here are some common use cases and solutions: | ||
|
||
For teams building mission-critical apps or requiring encryption support, [Ionic Secure Storage](https://ionic.io/docs/secure-storage) is an official premium solution from the Ionic team that provides a cross-platform data storage system that works on iOS and Android. | ||
## Local Application Settings and Data | ||
|
||
It makes it easy to build high performance, offline-ready Ionic apps across iOS, Android, and the web. | ||
Many applications need to locally store settings as well as other lightweight key/value data. The [Capacitor Preferences](https://capacitorjs.com/docs/apis/preferences) plugin is specifically designed to handle these scenarios. | ||
|
||
[Learn more](https://ionic.io/products/secure-storage) | ||
## Relational Data Storage (Mobile Only) | ||
|
||
## @ionic/storage | ||
Some applications, especially those following an offline-first methodology, may require locally storing high volumes of complex relational data. For such scenarios, a SQLite plugin may be used. The most common SQLite plugin offering are: | ||
eric-horodyski marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
||
For developers not requiring encryption nor relational data support, [@ionic/storage](https://github.com/ionic-team/ionic-storage) is an open source key/value API for building apps that work across storage engines on multiple platforms. | ||
- [Cordova SQLite Storage](https://github.com/storesafe/cordova-sqlite-storage) (a [convenience wrapper](https://danielsogl.gitbook.io/awesome-cordova-plugins/sqlite) also exists for this plugin to aid in implementation) | ||
- [Capacitor Community SQLite Plugin](https://github.com/capacitor-community/sqlite) | ||
|
||
Additionally, Ionic Secure Storage has a driver that works with the key/value API in `@ionic/storage` while providing encryption and SQLite support. | ||
## Non-Relational High Volume Data Storage (Mobile and Web) | ||
|
||
Learn more about [@ionic/storage](https://github.com/ionic-team/ionic-storage) | ||
For applications that need to store a high volume of data as well as operate on both web and mobile, a potential solution is to create a key/value pair data storage service that uses [indexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API) on the web and one of the previously mentioned SQLite plugins on mobile. | ||
|
||
Here a sample of how this can be accomplished: | ||
|
||
- [Full application](https://github.com/ionic-enterprise/tutorials-and-demos-react/tree/main/demos/sqlcipher-kv-pair) | ||
- [Mobile Service](https://github.com/ionic-enterprise/tutorials-and-demos-react/blob/main/demos/sqlcipher-kv-pair/src/utils/mobile-kv-store.ts) | ||
- [Web Service](https://github.com/ionic-enterprise/tutorials-and-demos-react/blob/main/demos/sqlcipher-kv-pair/src/utils/web-kv-store.ts) | ||
|
||
## Other Options | ||
|
||
Other storage options that provide local as well as cloud-based storage that work well within Capacitor applications also exist and may integrate well with your application. | ||
|
||
For example: | ||
|
||
- [PouchDB](https://pouchdb.com/) | ||
- [Firestore](https://firebase.google.com/docs/firestore) |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.