Webasyst is a PHP framework (platform) for development of web apps with a backend and a frontend.
Backend is the password-protected part of the website which is used for various setup and data management. Backend can be accessed by any number of users, each having access rights only for certain tools available in the backend. The backend is operational immediately after installation of the Webasyst framework and offers several pre-installed system apps: Site, Contacts, and Installer.
- Site is an app for managing website structure, a fully fledged CMS with a design editor, user request routing (for assigning various groups of URLs to selected apps), and a WYSIWYG text editor for fast creation of website pages.
- Contacts is used for managing all contacts stored in the framework's database. A contact is a record in the database holding various information about a person or an organization such as name, address, phone number, etc.
- Installer is a tool for automated installation of apps, plugins, and design themes from the official Webasyst repository .
Frontend is a part of the website which is powered by an installed app, i.e. pages accessible to any visitor without the necessity to enter a password. Website pages powered by Webasyst framework can be powered by different apps: Site (ordinary web pages), Shop-Script 5 (storefront pages with information about products), Photos (online photo gallery), Blog (blogs & comments), etc.
An app is a set of PHP scripts with common operational logic which are executed within one common range of URLs. For example, user requests sent to a URL of the form
http://yourdomain.com/webasyst/shop/ are processed only by Shop-Script 5 app. Unlike one static backend URL range shown above for backend requests, frontend requests to each app can be grouped in various URL ranges by means of arbitrarily configurable routing rules (masks). For example, online storefrton powered by Shop-Script 5 app can be available at several base URLs:
http://yourdomain.com/facebook/, etc. Each of these multiple storefronts can have its own appearance depending on the design theme selected for that specific URL range (so-called “settlement”).
When a new Webasyst app is being developed it can be made plugin-enabled. Plugins allow extending an app's functionality without the need to modify its source code. Plugins are installed and connected to the framework as easily as apps: with one mouse click in the Installer. Plugins which can be used by multiple apps are called system plugins; e.g., modules for integration of payment system or SMS gateways (for sending SMS by means of the apps utilizing such plugins).
The important advantage of the Webasyst framework among many other similar platforms is that it offers a wide range of ready-to-use entities which are often used in the development of business-oriented software; e.g., contact, user, file, authorization, currency, event, workflow, etc. Their availability significantly saves time for a developer and makes it convenient to smoothly connect newly developed apps and plugins to existing ones. This feature opens up wide opportunities for cross-app integration and dramatically reduces the average development timeframe.