April 25, 2019

Omnis Studio: Bringing Database Application Development to Linux - page 2

Creating Cross-Platform Applications Under Linux

  • April 11, 2000
  • By William Wong

The IDE provides the multiwindow environment that programmers have come to expect. There is a properties window when graphical items are selected on a form design. The code window is an object hierarchy browser with syntactic hints presented in panes instead of popup windows as with Visual Basic. The advantage is the ability to search for methods and arguments even when you don't know the exact spelling.

Also, the IDE includes a version-control system that is invaluable for group development. We also found this useful when creating applications individually making it easy to back track to working versions.

Omnis's support for database includes its embedded Omnis Data Manipulation Language (DML) that works with DAM connections. DML provides most features found in SQL, including joins, although the syntax is different. SQL can be used but certain features like joins are not support using Omnis's database. SQL statements sent to SQL servers can take advantage of features found on the server such as inner and outer joins and programming support such as Oracle's PL/SQL. Omnis even supports BLOBs (binary large objects). Omnis does a better job linking Omnis variables within SQL queries than competing products.

Omnis has relatively good Web support. This includes access to SMTP/POP3 electronic mail, FTP and HTTP support as well as direct TCP socket support. Omnis has special functions like the HTMLSplitHTML that converts a web page into an Omnis list.

It is possible to create pure, cross-platform Omnis applications and most applications fall into this category. While this makes training and support of these applications easier, it does not take advantage of many of the features that make a particular platform unique. For example, while using the Apple MacOS events and Publish and Subscribe features will make an Omnis application more functional in a Macintosh environment, these features will not translate directly to Linux or Windows. Windows dynamic data exchange (DDE) support allows integration with other applications easier but this support does not translate well. The support for SQL server-specific code has already been mentioned, and is another source of potential incompatibilities among platforms.

Of course, in most instances, the reason for taking advantage of platform-specific features is to support environments that will be using the platform exclusively, making cross platform distribution less of an issue. Omnis object underpinnings make it relatively easy to determine on which platform an application is running, so it can compensate accordingly.

Conversion of applications from other languages such as C++ or Visual Basic is not a straightforward task. As with most conversions, it will be a one way operation. Christopher Cozad, Chief Technology Officer at consentsys.com, inc., moved a major Visual Basic application to Omnis and has not looked back since. Chris finds Omnis to be a major improvement over Visual Basic and has taken advantage of its added functionality, making reverse migration a non-issue. I agree with his assessment that Omnis Studio has a steep learning curve, but no more than with VB/Access. Programmers definitely need to know about object-oriented programming and relational databases, especially SQL, to make the most of Omnis.

Our only major concern is its inability to generate standalone apps. This is a non-issue for Web client-based solutions. It is also of little importance in environments where multiple Omnis applications are deployed, since the run time must be configured only once. The main consequence is that installation for applications is slightly more involved.

Omnis Studio is targeted primarily at developers looking for cross-platform delivery, vertical market applications and in-house application development. Its pricing is well suited for these environments. Check out Omnis' Web site for third-party apps and a new developer portal now being set up for sharing code and development expertise.

With Microsoft Access and Visual Basic stuck on Windows and Borland's Kylix Linux tool still in the works, Omnis Studio stands out as the development tool which supports the three major PC platforms.

Most Popular LinuxPlanet Stories