Documentation

The ultimate guide to Webasyst app development

Contents...

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.
  • Team is used for managing backend users.
  • Installer is a tool for automated installation of apps, plugins, widgets, and design themes from the official Webasyst catalog.

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 (storefront pages with information about products), Photos (online photo gallery), Blog (blogs & comments), etc.

The visual appearance of frontend (i.e. website) pages is applied by means of design themes. A design theme is a set of HTML templates, CSS and JavaScript files which are responsible for the way frontend pages of a certain app appear in a browser. In addition to themes developed for individual apps, there are also design theme families which allow setting up similar design for frontends of different apps.

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 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 storefront powered by Shop-Script app can be available at several base URLs: http://yourdomain.com/, http://yourdomain.com/books/, 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.