Chapter 1. Introduction

PyDADL stands for Python Distributed Application Development Library, it's a framework that aims to be a helper for GUI development and deployment. PyDADL works like a web application, the server holds almost everything and the client receives UI descriptions in XML format and initiates the UI objects on the fly. Callback functions are executed on the server via the XML-RPC protocol. It is also possible to execute code in the client side like javascript in a web browser. The difference between a web application and a PyDADL application is that the client is not a browser but a native GUI, you benefit from the advantages of a web application and the flexibility of a native graphical interface.

You use PyDADL by writing XML files that describes the GUI parts and you write Python code for all the rest (server callbacks and client side code). You can arrange your server code freely in different files and folders as if you write a Python module. At the client side, in addition to the available widgets, you can write custom widgets by subclassing PyDADL widget classes or create your own classes that derives directly from Qt classes and intergrate them in the UI. You can also use PyDADL internal API directly in your code to create dynamic UI. You could also use the Qt Designer tool to design the user interfaces.

For the database part, PyDADL supports only the MySQL server but the architecture for adding others databases engines is already present. There is a SQLite driver but it is not very well tested. PyDADL doesn't automate the creation of databases and tables, it is up to you to design your database. PyDADL offers a set of DAO classes that abstract the access to data, you can use your databases without writing SQL queries, but if you want to do so, you can.