February 10, 2020 Andrew

Add power and functionality to Omnis Studio & your libraries with Open Source components

Omnis Studio has many powerful features to allow you to build web and mobile applications, quickly and easily, but you can also integrate your own components, or ones obtained from third-party developers, to further extend the capabilities of Omnis and add functionality to your applications.

Omnis Software provides some external components built into the development environment, but it’s easy to add your own – these additional components can be written in C++ and loaded into the Component Store, or they can be imported as JSON Components or add-on libraries, which can be obtained from many different sources, including the wider Omnis community.

If you are looking for JSON components, you can go to our own repository on GitHub, which includes JavaScript controls & libraries that plug into Omnis Studio (Omnis on GitHub) to enhance the user interface or augment the development environment – components include Omnis-JSCBridge (to run the JS Client in oBrowser), Omnis-ServerlessClient (an offline sample application OmniSnap, showing local database, GPS and camera support, and Omnis-OAuth2 (demo to show OAuth2 standard Omnis library integration).

Omnis developers on GitHub

In addition to the Omnis repos on GitHub, there are many Omnis developers who create different types of components, ranging from simple form or window controls, to full-fledged complex components such as charts and application testing tools.

The following list is by no means the full extent of open source component development happening in the Omnis community, but does give you a flavor of the type of the components available.

Suran Systems (Alex Clay)https://github.com/suransys – components include omnistap, a unit testing framework for Omnis Studio; app-loader, an Omnis library to load prerequisite libraries and automatically update libraries under the user’s application data folder; and omniscli, a Command Line Interface (CLI) to Omnis Studio.

Brainy Data (Michael Monschau)https://github.com/BrainyData – Omnis 7 and Studio Components including: JSSignature, allows end users to sign documents in the JavaScript Client; OWriteDocumentManager, that implements a working Document Manager; and OGanttProjectManager, which is a working project manager.

David McKeonehttps://github.com/dmckeoneOmnis-jsoncpp, a wrapper of jsoncpp for Omnis Studio 5+; and NVObjTemplate, a simple, boiler plate example for an Omnis Studio external component.

Bastiaan Olijhttps://github.com/BastiaanOlij – omnis.xcomp.framework, some framework classes for building Omnis Studio XCOMPs.

Arts Management Systems Ltd (Doug Easterbrook) (artsman) – https://github.com/artsman – omnis_wsbus, a websocket relay for use with Omnis Studio WebSockets; and OmnisXL, an Omnis Studio wrapper for the libxl C library.

Paul Mulroney (pmulroney) – https://github.com/pmulroney – TCPPing_for_Studio5, an implementation of TCPPing for Studio 5 and Mac OS; ListIntersect_for_Studio5, a library for selecting all lines in the first list, where there is a matching entry in the second list.

Francisco Ramos (framosmu) – https://github.com/framosmu – CreaArchivoDb, Crea una base de datos SQLite a partir de un DF1 (a tool to create an SQLite database from a DF1).

Stephan Wüseke (stew42) – https://github.com/stew42 – Omnis-2020, a wrapper for Zurb’s Before-After Image Slider; Omnis-FileSearch, recursive File Search with Omnis Studio.

Creating your own components

If you want to create your own components for Omnis Studio, have a look at our website – the following provides SDKs for creating C++ components:


And the following tells you about how to create the JSON components:




, , , , ,