Omnis Studio product features in more detail...

Omnis Studio is a powerful integrated development environment for creating web and mobile apps. The IDE has an easy-to-use JavaScript Form builder, a SQL Browser for RDBMS access, a comprehensive debugger for Omnis coding, a powerful report writer, and a flexible external component interface supporting many third-party technologies including .Net, Java, and Web Services. The Omnis Studio SDK runs on Windows and OS X, with support for Android, iOS, BlackBerry, and Windows Phone clients, allowing you to develop, test, and deploy applications seamlessly, to any of these platforms, on virtually any device.

Integrated Development Environment

Omnis Studio includes over 30 ready-made JavaScript controls (lists, grids, charts, maps, navbars, sliders, and more), and gives developers complete flexibility to design all kinds of business applications, from single-user desktop apps to multi-user web and mobile solutions.

  • Build and edit JavaScript web and mobile forms with easy-to-use Form Wizards, the Property Editor and Component Store.
  • Flexible positioning of JavaScript controls allowing you to create interactive and "responsive" web and mobile forms.
  • Switch to runtime or "Test Form" view immediately to preview your web or mobile app while in design mode, or setup up mobile simulator for full mobile testing.
  • Create custom tabbars, navbars, and menus tailored to meet the exact needs of your application. Easy-to-use browser interface allows you to see all of your application objects at a glance.
  • Powerful Version Control System (VCS) allows teams of developers to coordinate their efforts when producing larger applications, even across geographic boundaries.
  • Visual objects respond to a comprehensive set of events including mouse-click or tap, drag or swipe. Trap events using 4GL code and build comprehensive state awareness into every active object in your application.
  • Object Oriented approach which supports inheritance making it easy to overload and customize both visual and non-visual objects to your exact requirements.


Rich, Interactive components for powerful, easy to use apps

Omnis JavaScript controls include tree lists, data grids, sliders, switches, buttons, progress bars, page panes and tab-bars as well as a variety of graphical shapes. You simply drag them onto your web and mobile forms, and all are fully customizable by pointing and clicking on the Property Manager.

  • Display high resolution images with Alpha color support suitable for high-definition (x2) displays on the latest mobile devices and tablets; images are stored in the application tree and referenced by URL.
  • Display bar and pie charts from your data in the JavaScript Chart control, or plot locations on a live Google map in the JavaScript Map control.
  • View YouTube or HTML5 video in the JavaScript video control, with support for Flowplayer client.
  • Multi-monitor support lets you develop and deploy applications for use with two or more display devices.
  • Manage styles and themes for your JavaScript forms with custom CSS styles.
  • Omnis list data can be shown in the standard list box, while more complex data can be displayed in data or complex grid, all fully customizable with support for scrolling, mouse & keyboard events.
  • Display and print powerful reports that you can design and compile yourself. Extract data from local as well as SQL data sources. Create templates, add page numbers, date time, headers, footers and graphics. Print reports and other media to the screen, printers, files and a variety of other off-screen devices including HTML, clipboard, RTF (Rich Text Format), and PDF.
  • Versatile text formatting and control. Choose from built in fonts or create/import your own. Full control over the size, positioning and color of text as well as other attributes such as underlining, italics and bold type. Finer control is available with CSS styles.
  • Search and sort data in lists quickly and easily. Use the powerful Omnis language to add, delete and replace list lines and to quickly handle large volumes of text. With Linked Lists an edit field can be linked to a list to filter the list as the user types.
  • Support for Unicode; UTF-8, UTF-16 and other encodings. Read and write Unicode data directly from/to SQL databases. Cut and paste Unicode text into window fields and enter Unicode text directly via compatible input devices.
  • Cut, paste and copy data from the operating system clipboard directly into Omnis variables and window fields.
  • Conformance with display standards on each of the major desktop operating systems and browsers.


Omnis Programming

Omnis has a built-in programming language providing flow of control statements, iterative statements, expression evaluation, and many commands. For example, commands such as opening files and displaying dialogs are achieved with a single Omnis 4GL command. Methods can be executed in the client making your web and mobile apps interactive and easy to use.

  • Using the versatile Omnis method editor, easy to read and maintain code can be written behind every object in your application including JavaScript controls, plus you can run native JavaScript from within your Omnis web or mobile form.
  • Omnis 4GL supports all traditional programming constructs such as variables, loops, methods & functions as well as conditional programming. In addition to standard data types, Omnis implements single and multi-dimensional arrays using the unique Omnis List type.
  • Store data and variables inside application objects in non-volatile storage. Lets you write applications that store their state on closure.
  • The "Omnis notation" is the power behind Omnis Studio: it complements the Omnis programming language, providing a way of referencing all JavaScript controls and settings in your application. Comprised of a tree structure, Omnis notation can be used to access every element inside your application, external components as well as platform and environmental settings.
  • The Omnis Catalog lists and describes all the functions, constants, variables and events available to your application. External (plug-in) components can also register methods and constants. Simply drag them directly into the method editor.
  • Predictive command entry. Simply start typing a command to have the method editor complete it. The command palette changes to show the predicted command, from where you can click to choose a different permutation or browse the entire language collection to find the command you want. Context tooltips also provide hints where commands require parameters.
  • Communication with other technologies including XML, .Net, Java, Web Services, HTTP, FTP, and SMTP. Launch and interact with external applications under Windows and OS X. Use your Omnis application to perform parallel processing of routine tasks.
  • The Omnis language is a real-time interpreted programming language. There is no need to compile and link projects in order to test them. Press Ctrl-T while in your JavaScript Form and tes it immediately in your browser. Web and mobile forms can even be tested independently from the rest of the application.
  • Comments help you to write tidy and self-documenting code. Lines of existing code can be commented-out at the press of a key.
  • Chroma-coding. Method lines are colored according to their context allowing you to distinguish different parts of a command line at a glance.
  • The built-in debugger allows you to step through your application line by line, as the code is executing. You can set soft as well as hard/non-volatile breakpoints in your methods, allowing you to highlight and share issues with other developers.
  • Run-time debugging allows you to change lines of code on-the-fly and step over them immediately- no compilation or linking required.
  • Intelligent palette switching allows you keep track of variables and property values as you step through the application. Set watch variables to keep track of important changes.
  • Stack trace lets you see how the program arrived at the current method line. Move up and down the method stack by simply clicking on a line of the stack view.
  • The debugger instantly warns about unexpected or missing parameters and other run-time errors, allowing application problems to be ironed out immediately.
  • The Omnis trace log records not only start-up issues but logs each breakpoint and method line being debugged, and you can send messages to the trace log from your browser while testing. You can also write entries to the trace log and can read the log contents from within your application.


Internet Technologies

As well as developing applications for the web or mobile devices using the JavaScript Client (Professional edition only), it is also possible to make use of internet technologies such as HTTP and FTP, for which a range of programming commands are provided.

  • POP3 and SMTP commands allow you to send and receive emails from within your application.
  • HTTP commands allow HTML and other data to be exchanged with the internet and with other applications. Lets you create "messaging" applications.
  • FTP commands allow data and files to be transferred between applications and FTP servers quickly and easily.
  • Transmit and receive data from serial I/O ports. The Omnis Port Profiles utility allows you to configure ports specifically for use by your applications. Allows communication with dumb terminals, serial printers and other serial devices.


Database Connectivity

Omnis Data Access Modules (DAMs) are provided enabling connections to all major database vendors. Use of multiple DAMs (other than the OmnisSQL DAM) requires the Professional edition of Omnis Studio, while the Standard Edition gives you access to one chosen database.

  • Use ODBC and JDBC DAMs for generic data access.
  • Use Oracle, Sybase, DB2, PostgreSQL, MySQL and Openbase DAMs for direct access to leading database servers.
  • SQLite embedded DAM allows you to create and connect to existing SQLite3 datafiles.
  • Application Wrappers for Android, iOS, and BlackBerry allow you to run mobile apps in "Serverless Client" mode for complete off-line operation with local Ultralite database. Option for end user to connect to synchronize data and application content.
  • SQL database access. Connect and manage multiple server databases, remote procedures, transactions, manage large objects and session pools (some features are DB specific).
  • Interactive SQL utility. Provides a SQL console for you to perform queries directly against your database tables.
  • Drag database tables and views quickly and easily into your application to build a description of the table (schema) or use the SQL Browser utility to create, modify and show the contents of tables.
  • Drag tables between two open SQL sessions to port data quickly and easily. Table names, indexes and structures are created automatically.
  • Native access to AmazonDB cloud-based multi-valued database. (Requires Amazon Web Services account).
  • Native access to Frontbase is also available. (Frontbase DAM available separately).
  • Connect to Omnis native datafiles to store and retrieve data locally or via local area network.
  • Connect to Omnis native datafiles via OmnisSQL DAM (Data Access Module)


Application Deployment: Enterprise, web or mobile

  • Your web and mobile apps can be accessed from virtually any JavaScript-enabled browser or device using Omnis JavaScript Client technology. No plug-in required. (developed using the Professional edition only).
  • Write applications that can be accessed from a web browser using standard HTML forms and controls (Ultra-thin client). (Professional edition only).
  • Run your web and mobile apps on the Omnis App Server, which can be run silently/as a service (on supported platforms). Omnis starts on system start-up and runs invisibly (the Omnis App Server requires separate deployment license depending on the type and number of clients).
  • Desktop applications that can be accessed using the Omnis Runtime Client (thick client). Thick client applications can be locked to hide their content from end-users and to prevent modifications to your code. (Omnis runtimes are licensed separately.)