Apps is a module that can be looked at as a subsequent step in the evolution of features. It appears friendlier and more acceptable as a tool you can use for adding new capacities to the site. One can fulfill such additions without any damage to usability and, as it is, Apps module as an everyday tool is bound to be intelligible both for a power Drupal developer and a standard user. It's definitely easy and fun: with use of this module (Install app) your clients will from now on, be able to ship the new functional just with one klick.
Apps is likely to remind a standard user of chrome web store whereof one can select the required CommerceBox-related "add-on" (its standard version). Note that apps is made up of two parts - the server side and the client side. The client side displays the list of all applications that can be installed and additionally informs a user of the newest updates. The server side is provided by the appServer module. It is into getting the json object that contains data on every app (names, ratings, versions etc.) of the client side. Let us investigate the above in detail.
Server Side Set Up
As discussed, appServer module is in charge of the server side and with it you can get the apps adjusted via UI. It also creates a Server Type taxonomy dictionary as well as two content types, App Release and App. Below, we are going to give you an idea of what they are for.
The server in the Server Type dictionary of taxonomy having been installed there can be created a term which will be accepted for a kind of a server to be indicated on the client side.
The app proper is formed with use of the App Release like node, and it is set up through filling in the fields, such like Name (required), Changelog, Logo, Screenshot, Manifest, Server type. While the fields Name (required), Changelog, Logo, Screenshot are quite explicit and save explanations, the most important events happen in Manifest. To have it compiled we suggest you may look through the OAS (Open App Standarts).
To be going on with we have to penetrate into the mechanics of apps creation: besides the modules to be downloaded and installed (known as Dependencies in the manifest), we have to also indicate the custom module (known as downloadable and machine_name in the manifest), which will enlist all Dependencies designated in the manifest. In fact, this is the only one module to become activated and when installing the app on the client site, yet inasmuch as it contains dependencies on other modules, the rest of the modules will get activated automatically.