Home

Why v22 ?

v22 is probably the only websocket based (wss) graphical development environment for Ada that, from a single source code, runs (client-side) on Linux, BSD*, Mac OS, Windows, Android, Iphone and any OS supporting a web browser, with either a SQLite or MySQL database.The best alternative in transactional mode (https) is certainly Ada Web Application from Stéphane Carrez.

About v22

Ready to use in production

v22 is a general purpose, KISS oriented, modular Ada framework running (server-side) on GNU/Linux Debian/Ubuntu as a service, a console program and (client-side) web programs.

v22 is composed of many packages in charge of UTF-8 strings, program and OS functions, HTTP(S)/WS(S) web framework, integrated cURL, console handling and text files, advanced network, MySQL and SQLite high level binding, logging and configuration files handling.

Originally based on the v20 library, the v22 framework represents a major step forward in the following areas:

  • UTF-8 compatibility;
  • Simplified string processing (only one UTF-8 String type is used);
  • Internationalization;
  • New and extended database API;
  • Extended database access to MySQL, in addition to SQLite;
  • Improved concurrent access and performance for SQLite;
  • Unlimited simultaneous SQLite and MySQL connections for a single program;
  • New LGPLv3 licensing instead of GPLv3;
  • New FSF GCC development environment not tied anymore to GPLv2 license;
  • And much more.

Cooperative and open

v22’s native dependencies are Gnoga, Simple_Components, UXStrings and, if i18n needed, Zanyblue. v22 is both a high-level framework and an extension to the lower level components cited above. v22 has been designed to:
  • Use unmodified components;
  • Not “reinvent the wheel”. Component API are to be used first;
  • Offer higher-level functions, or functions that do not exist in the components.
v22 must be used with the APIs of:
  • UXStrings to process UTF-8 strings;
  • Gnoga to connect to MySQL and/or SQLite databases;
  • Gnoga to provide a Web interface;
  • Simple_Components for network layer and more;
  • Zanyblue if internationalization is desired.
In short:
  • UXStrings is used throughout v22. The v22.Uxs package extends UXStrings functionality. The v22.Sql package extends the functionality of Gnoga.Server.Database. The v22.Gui graphics framework is based on Gnoga.Gui;
  • v22’s architecture allows it to be open to additional packages, depending on the software development required.