Web application database: state of the art of Appizy
Appizy creates frontend web application that run into the client browser. A plugin has been developed for WordPress to store users’ input into the database.
Client-side versus server-side application
Appizy generates web app that we call Frontend or Client-Side application. This means that the code to run the application is loaded into the browser of the visitor of your website. All calculations are also performed in the web-browser, on the client side again.
Another way to work would have been to use a server (a distant computer) to compute all calculations. Then the web-application on the client side would have been just used to collect the data, send them to the server and display the result. This adds some technical challenges like security and server deployment. Thus we opted for the first solution for Appizy user.
Client side advantages and limitations
Let’s now have a look at some key principle of the client-side applications and how it impacts the end-user experience.
One instance per user
As explained earlier, each user or client in a web-application downloads the code of the application and runs the calculations locally. Therefore, all user inputs are staying inside the client’s browser. Every client gets a fresh new instance of the application. A user will thus not have access to data of other clients, and with that everything is kept private.
This is different from a cloud based collaborative spreadsheet like Google Spreadsheet. Here one data set is shared between all the user, accessing the same spreadsheet.
Another consequence of the client-side application this that data are transient. In other words, once closed or reloaded the application starts with a pristine state.
WordPress plugin to embed and save data
Some web-application might require to save data for later use. This could be the case of a loan comparison calculator. The user wants to enter a set of data and come back a week or two later and update a couple of parameters without to start all over again.
For WordPress site owner we developed a plugin. It allows you to easily manage and embed the web-application created from an Excel file into WordPress. The plugin also has an option to add a “Save” action button. If enabled it will allow each logged WordPress user on your site to save the current state of the calculator.
On the technical side, the plugin make use the internal API provided by WordPress and stores the data into the post meta data. API calls are secured and data is segregated per user-id to avoid data leaks between users.
Note that you need a PRO or PLUS licence to have an application compatible with the data saving button.
Other ways to save data
Not everyone is using WordPress. We have several plans for 2020 to automate the scenario described below. Nevertheless, if you have some web development experience, we would be happy to already share some of the recipes to create what is described below.
A simple and efficient way is to use the LocalStorage of the client browser to store the state of the application. This is super lightweight for the site owner (you) because it works again only on the client browser.
One major limitation is that when the end-user changes browser, device or uses private session browsing all data are not there.
A more versatile extension of the previous idea is to give the user the ability to save and download its data. This would be in a transportable format like CSV or JSON. In this case the application would also be able to read and reload the data from the user. Backend applications with multiple database schema We finally plan to generate application with backend calculation using NodeJs and the Express framework. This would allow developers to catch those data on the server side and store it in the database schema of their choice (SQL, or NoSQL) for later reuse.
Appizy generates Client-side web applications. They are easy to manage for the site owner, but have limitations when it comes to save and reuse the end-user data.
There are many possibilities to save data starting from the Appizy web-application, where one is actually automated: the WordPress plugin. All others have an “incoming” status in our feature backlog. Let us know per email which one you would like to see first. If you are interested, you are more than welcome to sponsor and accelerate the development.