# Omnis

Omnis Studio ist ein RAD-Programmierwerkzeug zur objektorientierten Entwicklung von Software für Windows, macOS und Linux. Die hierbei erstellten Programme sind binär- und crosskompatibel und müssen nicht kompiliert werden.
Der Omnis-JavaScript-Client erlaubt die Programmierung von JavaScript-Oberflächen. Die Businesslogik und der Datenbankzugriff einer solchen Single-page-Webanwendung wird über den Omnis Server gesteuert. Die graphischen Elemente werden dabei mit Drag&Drop auf den Forms platziert und mit Funktionen verknüpft.
Hiermit lassen sich Web- und Mobile-Applikationen erstellen, letztere können auch mit Hilfe eines mitgelieferten Wrappers als iOS bzw. Android Applikation kompiliert werden. Diese Mobile App kann wahlweise Online als auch Offline betrieben werden. Dabei kann dann der Omnis Server als Hub für den Datenaustausch mit einer beliebigen Business Datenbank verwendet werden.

## Integrierte Entwicklungsumgebung

Omnis Studio kommt mit einer kompletten IDE, die es erlaubt die Projekte in einer integrierten Versionsverwaltung zu speichern. Es sind keine zusätzlichen Umgebungen oder Tools notwendig.

## Programmierung

Die Erstellung der GUI erfolgt visuell und ist vergleichbar mit Programmiersprachen wie Visual Basic Classic oder Delphi, ist im Unterschied dazu allerdings plattformunabhängig. Das Verhalten kann durch Methoden in zusätzlichen Objekten programmiert werden. Dazu steht eine Reihe unterschiedlicher Klassentypen bereit. Enthalten ist eine Reihe von vorgefertigten Funktionen, die durch Überschreiben der vererbten Methoden angepasst werden können. Mit Hilfe der Omnis JavaScript Technologie lassen sich aufwändige RIA Applikationen erstellen. Dabei lassen sich die so erstellten Remote Forms während der Entwicklung mit einem Browser testen und der Omnis Code direkt debuggen. Auch eine Änderung des Codes ist während des Debuggens möglich. Eine interne, „Notation“ genannte Referenzierung erlaubt sogar das Erzeugen von selbstmodifizierendem Code.

## Datenbankzugriff

Die Standard Edition kommt wahlweise mit einem DAM (Datenbank-Access-Modul) für entweder MySQL, PostgreSQL oder SQLite sowie einem DAM für die hauseigene Omnis Datenbank.
Die Professional Edition von Omnis Studio bietet zusätzlich DAMs für gängige SQL Datenbanken wie Oracle, Db2 und Sybase mit nativen Treibern. Darüber hinaus wird auch ODBC und JDBC unterstützt.

## Schnittstellen

Viele Schnittstellen sind bereits implementiert. Dazu gehören z. B. auf Windows Plattformen COM/DCOM und ActiveX. Seit Omnis Studio 4 gibt es eine Schnittstelle für Java Objekte. Für Protokolle wie HTTP, TCP, Pop3 und SMTP werden native Omnis-Befehle sowie Wizards zum Erstellen von Beispielcode mitgeliefert. Die Unterstützung von Web Services (Client und Server) ist ab Version 4.2 möglich.

## Omnis Historie

* 1979 gründeten Paul Wright and Geoff Smith die Firma Blyth Computer (später umbenannt in Blyth Software, dann in Omnis Software) in Wenhaston, Suffolk, in England und wurden zum ersten Apple-Händler in East Anglia.
* 1981 brachte Blyth das erste „Omnis“-Produkt auf den Markt, ein Datenbankentwicklungstool für den Apple 2, entworfen von David Seaman. Die Firma wurde umbenannt in Blyth Software.
* 1984: OMNIS 1, 2 und 3 wurden im April 1984 zusammen als Omnis-Produktsuite veröffentlicht. Omnis 1 („der Dateimanager“) war als benutzerfreundliche Lösung für den Umgang mit einfachen Daten, d. h. nicht-relationalen Daten, gedacht. Omnis 2 („der Informationsmanager“) ähnelte dem ursprünglichen Omnis, hatte aber mehr Programmiermöglichkeiten. Omnis 3 („der Datenbankmanager“) wurde für Programmierer und Geschäftsinhaber entwickelt, um ihre eigenen maßgeschneiderten Anwendungen zu erstellen. Etwa zu dieser Zeit produzierte Blyth Software auch die Blyth-Buchhaltungspakete, die auf der Omnis 3-Engine basierten, um die Buchhaltung für kleine Unternehmen zu ermöglichen. Omnis 3 war eines der ersten plattformübergreifenden Datenbankanwendungstools für Apple-Computer und IBM-Kompatible, die unter MS-DOS liefen.
* 1984: (Mai) Blyth Software Inc. wird gegründet und eröffnet Büros in San Mateo, CA.
* 1985 nach dem Erscheinen des Apple Macintosh im Jahre 1984 wurde Omnis 3 Plus eingeführt, eines der ersten Datenbankgenerierungswerkzeuge für den Mac. Das englische Hauptquartier wurde nach Mitford House in Benhall, Suffolk verlegt.
* 1986: „Omnis 3 Plus für Macintosh“ wird im Mai veröffentlicht. Das „Express“-Modul wurde 1988 hinzugefügt, um auch Nicht-Programmierern die Erstellung von Anwendungen zu ermöglichen.
* 1987 folgte die Einführung von Omnis Quartz, eines der ersten GUI-Datenbanken für Microsoft Windows. Die Blyth Holdings Inc. wurde gegründet und an der NASDAQ gelistet.
* 1989 die Einführung von Omnis 5, eines der ersten plattformübergreifenden Entwicklungswerkzeuge für die Programmierung von Applikationen für Windows und Mac.
* 1992/3/4 wurde in jährlicher Folge Omnis 7, Version 1, 2 und 3 eingeführt, eine integrierte Entwicklungsumgebung für Client/Server-Zugriff auf viele Serverdatenbanken wie Oracle, Sybase und Informix.
* 1997 wurde Omnis Studio Version 1 eingeführt, eine objektorientierte, plattformunabhängige Entwicklungsumgebung für Windows und Mac OS. Die Firma wurde umbenannt in Omnis Software.
* 1999 wurde der Omnis Web Client oder „Thin Client“ eingeführt. Damit konnten aufwendige Oberflächen für das Internet programmiert werden.
* 1999 wurde Omnis Studio für Linux eingeführt. Damit wurde Omnis eines der ersten RAD Werkzeuge die für Linux, Mac und Windows verfügbar waren.
* 2000 Omnis Studio Version 3 wurde eingeführt. Im gleichen Jahr fusionierte Omnis Software mit PICK Systems. Daraus entstand Raining Data Corporation.
* 2004 Omnis Studio Version 4 brachte jetzt Unterstützung für MySQL, JDBC und Java Objekte.
* 2005 Omnis Studio Version 4.1 unterstützt Unicode.
* 2006 Omnis Studio Version 4.2 mit Unterstützung von Web Services und Mac Intel Computern (native).
* 2007 Omnis Studio Version 4.3 mit erweitertem Plattform-Support für Windows Vista und Mac OS 10.5 (Leopard), außerdem mit .Net-Interface und erweitertem Version Control System, Verbesserungen unter Linux im Font Handling und UI-Elementen, unterstützt jetzt auch CUPS. Neuer Windows Installer für den WebClient für alle Browser.
* 2008 Umbenennung der Holding Raining Data Inc in Tiger Logic Inc. Omnis Studio Version 4.3.1 weitere Verbesserungen für Mac OS 10.6 (Snow Leopard), sowie neues DAM für PostgreSQL
* 2009 Omnis Studio Version 5.0 mit Unterstützung von Windows Mobile. Unterstützt jetzt auf allen Plattformen (Win/Mac/Linux) Unicode, Neue Lokalisierungsunterstützung für Web- und Mobil-Client, Neue Komponenten für Web- und Fat-Client, Verbesserung des Version Control Systems, Datenbankanbindung an OpenBase, IMAP und sichere Verbindungen für die Web-Befehle. Möglichkeit zum Messen der Methodenperformance. Objekt zum Bearbeiten der Registry
* 2010 Omnis Studio Version 5.01 mit voller Kompatibilität zu Windows 7, Webbefehle mit SSL Unterstützung, Email Authentication und weitere Verbesserungen.
* Oktober 2010 Omnis Studio Version 5.1 unterstützt jetzt auch die Entwicklung von iOS-Geräten (iPhone, iPad und iPod). Außerdem verfügt die Enterprise Edition über eine Schnittstelle zur Amazon DB (Amazon DAM).
* 2012 Omnis Studio Version 5.2 mit dem neuen JavaScript-Client, der es erlaubt eigene JavaScript Applikationen mit Omnis Studio zu erstellen und zu betreiben. Ein neues DAM für SQLite wird mitgeliefert.
* 2013 Omnis Studio Version 6.0: erlaubt die Entwicklung von standalone Mobile Apps für iOS, Android, Blackberry mit Datensynchronisierung – Zugang zu gerätespezifischen Funktionen wie Kontakliste, GPS, Bilder, Kamera, Barcode Reader via Kamera, SMS, E-Mail etc. – SQL Multitasking und Worker Objects für den asynchronen Datenzugriff – Resizable Remote Forms und Komponenten erlauben das dynamische Anpassen, wenn der Anwender die Größe des Browserfensters ändert – Subform Set für dynamische und verschiebbare overlay Fenster im Webbrowser – PDF Druck Unterstützung für den Mobile und Webbereich und weitere Erweiterungen.
* 2014 Omnis Studio Version 6.1: Platformnative JavaScript Komponenten, Tool zum Anpassen der unterschiedlichen Auflösung für Desktop und Mobile Devices, Support für REST Webservice Service Server und Client, Group Boxes, Verbesserung der JavaScript Performance, Error Check für Client-seitiges Methoden
* 2015 Omnis Studio Version 6.1.2: 64-Bit Version für Windows und Linux, Navigation Menu Objekt, SMTP Client Worker Objekt, Subform Panels
* 2016 Omnis Studio Version 8.0: 64-bit und Cocoa Support für OS X, neuer Code Assistant, Support für High Definition Displays, Auto Updates, Drag&Drop sowie neue Komponenten im JavaScript Client, Push Connections via Long Polling, Color Themes und App Builder
* Oktober 2016: Das Omnis Geschäft wurde gekauft von der OLS Holdings Ltd, einer englischen Firma, deren Eigentümer Omnis Entwickler und Omnis Distributoren sind.
* 2017: Omnis Studio Version 8.1: JSON Im- und Export für Omnis Klassen für den Support für externe CVS System (GIT etc.), Unterstützung fremder JavaScript Komponenten, neuer Editor zur Unterstützung von Responsive Forms, Headless Omnis Server für Linux, Code Sign für Mac OS, Web- und Email Worker Objekte, u.v. weitere Enhancements für JavaScript Komponenten, Verbesserung der IDE
* Januar 2019: Omnis Studio Version 10: Neuer Free Type Methoden Editor mit Code Assistent, Support für Barrierefreiheit (WCAG 2.0), Omnis Datafile Migration Tool, Neue Komponenten für JavaScript und Fat Client, Remote Debugging, Remote Objektklassen, neue Worker Objekte für NodeJS, Pop3, Crypto, Hash und FTP
* September 2019: Omnis Studio Version 10.1: Neue und aktualisierte JavaScript-Komponenten für ein verbessertes Nutzererlebnis, Neue Animationen für Desktop Apps, weitere Verbesserungen des Code Assistant (Method name matching u. a.), leichteres Debuggen mit neuem Variable Panel, SQL Worker Listen, Verbesserungen im Management von Web App Sessions, verbesserte Interaktion der Benutzer mit mobilen Apps mit neuen „Toast“-Meldungen, bessere Unterstützung des FHIR Standards für Applikationen im Medizin-Bereich
* November 2020: JS Client Themes and Appearance, Unterstützung von SVG Icons, Position Assistance für das leichtere Ausrichten visueller Objekte, Formgestaltung jetzt im WebView, Neuer JS Split Button und Verbesserungen vieler JS Komponenten, Code Editor unterstützt nun Code Folding. Der Linux Headless Server kann jetzt im MultiProcess Server (MPS)-Modus betrieben werden, der die Mehrkernprozessoren auf dem Server ausnutzen kann und Leistungsverbesserungen für die serverbasierten, Web- und mobilen Anwendungen bietet. Für Fat Client Anwendungen: Token Entry Feld um z. B. Email Empfänger anzuzeigen, neues Breadcrumb Control, verbessertes Checkbox Control, Side Panels, Toast Nachrichten, verbesserte Unterstützung von Drag&Drop für Systemdateien. Web Services: Unterstützung von Open API 3.0.0 sowie Swagger 2.0, Verbesserung der Lokalisation von Remote Anwendungen
* Mai 2023: Omnis Studio Version 11: Neu gestaltete Oberfläche, neue Komponenten wie Chart, Gauge, Kamera, Floating Action Button, Tile Grid, Scroll Box, Color Picker, Side Panels, multiple File Uploade, verbesserte Group Selection, System Notifikationen, Power Management Notifications, Field Border Icons, Totp Objekt für die Generierung und Überprüfung von zeitbasierten Einmalpasswörtern, neues Image Objekt zur Bildmanipulation und Erstellung von QR-Codes, Python Schnittstelle, LDAP Schnittstelle und neue Schnittstelle für Systemaufrufe, Spell-Checking Support, Support für die Erstellung von PDF/A Level 2 und 3

## EurOmnis

Seit 1999 findet jedes Jahr die EurOmnis, eine einwöchige Fachkonferenz für Entwickler, statt. Die Konferenz wird für und von der Omnis-Entwickler-Community organisiert und bietet den Entwicklern die Möglichkeit zum Wissens- und Erfahrungsaustausch bei der Arbeit mit der Entwicklungsumgebung Omnis Studio. Die Konferenz beinhaltet Redner aus der ganzen Welt, die von der Omnis-Entwickler-Community als Experten in ihrem Gebiet betrachtet werden und die ihr Wissen frei und auf einer objektiven Basis teilen möchten.