Home

v22 (2022-2024) is declared Mission Accomplished !
Create with v22
Using v22, Sowneo has developed a vending machine management application, which consists of three Linux services:
- A telemetry server with hundreds devices in a VPN over LTE network;
- A web application for users and administrators;
- A background service sending SMS or email and making financial and inventory consolidation.
This application features over eight CRUD and more than fifty screens, lists and reports.
Without v22 dependencies:
- The application alone is coded in just over seven thousand lines in forty two files;
- With v22 framework, the total is just over fifteen thousand lines in eighty nine files.
The web application can also be embedded into generic smartphone apps to ease users.
Results of using v22
Since spring 2025, we are now able to draw some conclusions.
The development of this seven-thousand-lines project validates our design choices well beyond our expectations.
Fewer lines of code means fewer bugs, less time coding and less stress.
The v22 framework requires no HTML/JS/CSS knowledge and the interface elements are self-placing with responsive management.
In this environment, productivity is outstanding, ensuring a remarkable competitive edge over the competition.
By freeing ourselves from Android and iPhone specific development, we can cut our sales proposals by a factor of three.
That’s exactly why we won the vending machine contract.
En route for LibreFrame
While v22 has exceeded our expectations, we can do even better.
After intensive use and dogfooding, we have identify several areas for improvements in terms of refactoring, internationalization, SQL extensions and graphical interface.
It’s now time to introduce our new framework, which was called LibreFrame, since we believe we can build on it for the long term.
LibreFrame represents the last iteration before we pivot our developments towards higher-level softwares.
LibreFrame‘s innovation lies in its brand new graphical interface, coded from scratch, and no longer depends on Gnoga, Simple Components, and UXStrings.
Start of the original home page…
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
- 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.
- 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.
- 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.