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.
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.
David McKeone – https://github.com/dmckeone – Omnis-jsoncpp, a wrapper of jsoncpp for Omnis Studio 5+; and NVObjTemplate, a simple, boiler plate example for an Omnis Studio external component.
Bastiaan Olij – https://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: