Gnoga includes a copy of Dmitry A. Kazakov's Simple Components and uses it for http and websockets.
It includes an incredible wealth of Ada components you can incorporate in your software freely and
is under the GMGPLv2.
Here is an overview of Gnoga's framework:
- The communication platform between the Ada code and the browser / native
Gnoga.Server.Connection
Gnoga.Server.Connection.Secure
- https / SSL Support
- Binding to the HTML5 DOM and Browser
Gnoga.Gui.Base
(Not per se a binding of Node but takes its place)Gnoga.Gui.Element
,Gnoga.Gui.Element.*
(HTML Elements)Gnoga.Gui.Element.Canvas
- HTML 5 Canvas bindingsGnoga.Gui.Element.SVG
- HTML SVG vector graphicsGnoga.Gui.Element.Multimedia
- HTML 5 Audio and VideoGnoga.Gui.Element.Style
- CSS Style blocksGnoga.Gui.Window
,Gnoga.Gui.Navigator
,Gnoga.Gui.Screen
,Gnoga.Gui.Location
Gnoga.Gui.Document
- Application start up services
Gnoga.Server.Application.Singleton
- Desktop appsGnoga.Server.Application.Multi_Connect
- Multi user / Web apps
- Gnoga higher level containers and GUI widgets
Gnoga.Gui.Views.*
- Auto layout of child elements and basis for custom Gnoga Ada only widgetsGnoga.Gui.Views.Docker
- Dock child views to view sidesGnoga.Gui.Views.Card
- Stacks of viewsGnoga.Gui.Views.Console
- Views with auto scroll downGnoga.Gui.Views.Grid
- Grid of viewsGnoga.Gui.Views.Modal_Dialog
- Modal views
- Gnoga client side application APIs
Gnoga.Client.Storage
- local persistent and session storage on browserGnoga.Client.Bind_Page
- Bind to all elements on pre-made HTML5 pages
- Gnoga database bindings and server side APIs
Gnoga.Server.Database
- support for MySQL and SQLite 3 (for ODBC bindings see deps/simple_components)Gnoga.Server.Model
- Active Data models like in RailsGnoga.Server.Migrations
- Rails like database schema migrationsGnoga.Server.Template_Parser
- Parse files with tokens or Python 2.7 (install libpython27-dev to use the Python parser)
- Gnoga development tools
- tool/gnoga_make - Generate application scaffolds and front ends to database tables
- Plugin bindings to existing JavaScript libraries
Gnoga.Gui.Plugin.Ace_Editor
- Full editor with Ada syntax highlightingGnoga.Gui.Plugin.jQuery
- jQuery support to access non-Gnoga ElementsGnoga.Gui.Plugin.jQueryUI
- all the jQueryUI Interactions and EffectsGnoga.Gui.Plugin.jQueryUI.Widgets
- the jQueryUI WidgetsGnoga.Gui.Plugin.Boot_Strap
- general binding to Boot StrapGnoga.Gui.Plugin.Messages_Boxes
- dialog message boxesGnoga.Gui.Plugin.MNMenu
- menu construction based on listGnoga.Gui.Plugin.PIXI
- dynamic randering graphic elements such as spritesGnoga.Gui.Plugin.JSTree
- tree construction based on listGnoga.Gui.Plugin.Ace_Editor.Console_IO
- console emulation based on ACE
- Native Desktop and Mobile Application Support coming:
Gnoga.Server.Application.Gtk_Window
- Native GTK front end