Data Abstract for OS X released

Released: Nov 16, 2009

Updates in this release

Features

  • Fully Native Cocoa API
    Data Abstract for OS X was written from the ground up and designed for Cocoa developers; the library consists of 100% native Objective-C code, written in Xcode and architected to fit in with the general design principles of Cocoa and other Mac frameworks. At the same time, it has been built on years of experience collected while working on its sibling editions for .NET and Delphi, so it will be comfortably familiar to developers experienced with Data Abstract on these platforms, as they will recognize the same concepts such as Remote Data Adapters, Data Streamers and so forth. Full wire-compatibility is provided, allowing clients written in Data Abstract for OS X to seamlessly communicate with any Data Abstract server. Fitting in with general Cocoa development paradigms, Data Abstract for OS X is fully designed for asynchronous (and optionally synchronous) data access, making it easy to write applications that keep a responsive user interface while data access and communication with the middle-tier server is under way.
  • Share Code Between Mac and iPhone
    Because the Data Abstract library is single-sourced and virtually identical for Mac OS X and iPhone, you too can share a lot of the data access code in your own applications between both platforms. This means you can concentrate on providing specialized user interface for the two types of devices, but share a lot of your client code that works behind the scenes. For example, internal "Bugs" application shown here consists of largely the same code base for both iPhone and Mac (and communicates with the same Mono/Linux-based server middle-tier server):
  • Full Integration with NSPredicate
    Data Abstract for OS X provides tight integration with Cocoa predicates and the NSPredicateEditor, making it easy for your application and for your users to filter data. Functionality is provided to automatically populate a predicate editor, such as the one shown below, with meta data from data tables, whether to use resulting predicate to filter a local dataset, or to control a subset of data to download using DA SQL. This includes full support for lookup and calculated fields.