-
Notifications
You must be signed in to change notification settings - Fork 716
Description
This plugin does its job reasonably well but is complex to maintain. It would be nice to break it down into smaller components that would be easier to maintain, possibly by different people in the future. In case of such a "redesign" it should be able to almost completely pass the existing test suite.
One idea could be to start with the JavaScript part from https://github.com/nolanlawson/cordova-plugin-sqlite-2 (ref: #547) and move the native parts into one or more separate projects.
Another idea would be to turn this around: start with a mostly-native sqlite3 storage part with an API similar to https://github.com/mapbox/node-sqlite3 and then move the Web SQL API part to a pure-JS shim (or just use something like https://github.com/nolanlawson/node-websql). The one drawback with this idea is that it would need https://github.com/kripken/sql.js/ to work in the browser
platform.
A major goal in case of a redesign would be to keep the native parts as blocks that could be reassembled more easily to provide special versions such as SQLCipher without the need to keep merging new fixes.