RemObjects Software
ROadmap 2009 v3
(Updated November 3, 2009)
We have and will continue to ship incremental product releases in three month intervals,
with the first three releases of the year now behind us, and the “Winter 2009”
release coming up soon, to round off the year.
We've also shipped two out-of-sync releases introducing support for our third platform
branch – native Objective-C libraries for Mac OS X and iPhone – with
RemObjects SDK having shipped in March, and Data Abstract having been added to the
fold just now.
Going forward, all three platforms – .NET, Delphi and OS X – will move
ahead synchronously, with the “Spring 2010” releases covering all three
versions of the products.
We have also started a major overhaul of our documentation wiki, in an effort to
provide better and more thorough library docs. We're creating infrastructure that
will allow us to keep the wiki and our source code base in sync – basically
combining the best parts of the open wiki vs. more closed source-based documentation
tools that we rejected in the past – and to integrate that wiki with the developer
tools, for a superb “F1-Help” experience. We've already made the start
by shipping full wiki integration into Xcode with our last round of releases for
OS X, and the “Winter 2009” release will bring the same to Visual Studio
2008 and Delphi 2007-2010, respectively.
The previous “Summer 2009” release of Data Abstract (and its underlying
RemObjects SDK) had been a very major release, raising the version number to 6 and
introducing a wide range of new features across the product. We've followed this
up with the minor “Fall 2009” builds, concentrating once again on QA
and minor bug fixes and enhancements, instead of groundbreaking new major features
(although there were some).
Meanwhile, work has also been progressing nicely on the new “DAServer6”,
a from-the-ground-up re-implementation of DAServer that will run across all supported
platforms and enable developers to deploy DA servers without actually creating and
maintaining their own server application in code. It has been our experience, that
the majority of servers implemented by DA users contain (or potentially could contain)
no custom code, but simply rely on the existing DA functionality and information
defined in the schema(s) to serve data. DAServer6 will allow developers to concentrate
on creating their schemas and implementing the client application, without having
to maintain a separate server .exe.
DAServer6 will debut for users of both Data Abstract for .NET and Delphi, in the
upcoming “Winter 2009” release, and also be made available for Mac OS
X, with the “Spring 2010” release. DAServer6 will be a major point of
focus for DA server development, so expect to see a lot more work go into it, and
have many enhancements to it planned for future releases, throughout 2010 and beyond.
Hand in hand with DAServer6, we've also started work on enhancing the business
rules scripting support in schemas, by extending DA/Delphi to support JavaScript
via Microsoft Active Scripting, extending script coverage from client-side rules
to also cover server scripts and logic shared between clients and servers and –
most importantly – providing scripting support for DA/.NET through our new
RemObjects Script engine (which will also become available
as a separate, free/open-source product). The new business rules scripting support
will ship in the first half of 2010, both within DAServer6 and as regular library
feature.
We are also looking, more long term, at a brand new and revised Schema Modeler,
rewritten completely from the ground up. This new Schema Modeler will rectify many
of the smaller shortcomings and inconsistencies in the current version, enable us
to more easily add support for new future library features (such as “DA
HET” planned for 2010), and will hopefully be available for cross-platform
use on Linux and Mac OS X, as well.
With the first release of Data Abstract for OS X out the door, we're also
starting to put renewed focus on DA features that were not 1.0-essential, to bring
DA/OSX further up to par with elements from its older siblings. Next to library
enhancements, this will also mean providing a native Schema Modeler and DAServer6
Admin Client, in order to make DA/OSX a more attractive solution for Mac-only developers
not using .NET or Delphi to implement their server side.
Read more about Data Abstract.
Just as with Data Abstract, the RemObjects SDK had seen a major “Summer 2009”
release, followed by a minor “Fall 2009” version focusing on quality.
We will continue in this fashion, with the upcoming “Winter 2009” release
seeing more work done on our internal Quality Assurance process.
RemObjects SDK is becoming a mature product that many thousands of developers rely
on for their daily work, and we realize that quality and stability are two very
important features, especially given the underlying infrastructural nature of the
product.
Having said that, we still expect to see new major features and important enhancements
in its future.
For example, we are working on a brand new WPF based Service Testers application,
which will, along with scripting support, go far beyond what the current Service
Tester can provide in terms of testing application scalability.
Another area we are planning to expand upon is login and authentication. As it stands,
the SDK provided basic support for requiring login, but the form of the actual login
process is largely up to user code – and usually based on sending user name
and password. We want to provide more a more integrated and flexible login infrastructure,
which would also support advanced authentication mechanisms, such as for example
Kerberos and LDAP. We introduced Roles support in “Fall 2009”, and will
continue to build on that.
Of course a lot of work is also going into the newest edition to the RemObjects
SDK family, RemObjects SDK for OS X. The second release of this edition has
just been shipped, adding SOAP support in addition to a wealth of other enhancements
and streamlining in the general library. While it may have started as a hobby, OS
X is a key platform for us now, and we will continue to drive RO/OSX towards feature
parity with the other platforms, for instance by adding support for additional message
and channel supports. We are also considering providing native server support
in RO/OSX, as well options for easy peer-to-peer communication that would blur the
lines between dedicated servers vs. clients a bit.
In the longer run, we are also looking at additional platforms for RemObjects SDK,
with Java most likely to be the most interesting option to make the SDK a quartet
of editions.
Read more about RemObjects SDK.
Hydra has traditionally been a very stable product and never seen many radical ongoing
changes. We are continuing to concentrate most of our efforts on ease of use and
further enhancing the interoperability between managed and unmanaged portions of
your applications. We are getting closer with our plans for Hydra's future and a
major new version, but are not yet at the point where we can provide further details.
With Delphi Prism now inviting more and more Delphi developers to consider .NET
a viable option to extend their tool set, we believe Hydra will become more important
than ever to provide easy migration or interoperability between unmanaged and managed
code.
Read more about Hydra.
Well though its second year now, AnyDAC is a useful addition the RemObjects product
portfolio and has integrated well with Data Abstract, its “bigger brother”.
For 2009 we will be looking adding support for more back-end database types (with
PostgreSQL and SQLite shipping since the “Spring 2009”
release), and further enhancing the integration with Data Abstract to make the DA/AD
combination the perfect match. We will also be expanding our Free Pascal support
(currently limited to Win32) to officially cover Linux, as well as providing support
for Delphi’s own Win64 and cross-platform mode rumored to debut
within the next year. Work is also being done to expose advanced features of Oracle
11 and Microsoft SQL Server 2008, and database event handling.
Other areas we are investigating include improved support for data access in multi-threaded
environments, better caching options and general continued performance improvements.
Read more about AnyDAC.
With the August 2009 release of Delphi Prism, we shipped a major update that included
new features across the bank, most notably Cirrus, our framework and language support
for Aspect Oriented Programming in .NET.
For the next release, our major focus areas are support for both Visual Studio 2010,
the new IDE from Microsoft, and MonoDevelop, the cross-platform open source IDE
for Mono.
MonoDevelop has made great progress over the past half year, especially on Windows
and Mac OS X, and we believe it is becoming ready for prime time use. We were able
to work out the remaining licensing issues (portions of MonoDevelop were still licensed
under the GPL), so that we can now legally ship IDE integration for MonoDevelop
without GPL concerns. Work on the technical side of MD integration has made great
progress as well, and our internal development builds are working well and stable
on all three platforms.
Of course work is also ongoing to support .NET 4.0 and Visual Studio 2010. Internal
builds of Delphi Prism already integrate with the new version of Microsoft’s
IDE, and we are working on supporting new features, such as the brand-new WPF based
code editor more thoroughly. We also plan to support the dynamic typing feature
of the .NET 4.0 runtime. With Visual Studio 2010 Beta 2 now being available on MSDN,
experimental support for Visual Studio 2010 is available to users of the Field Test,
now.
As part of the new IDE support, both for MonoDevelop and the new Visual Studio 2010
code editor, we are also starting some fundamental restructuring to our “code
intelligence” engine to make parsing and generating of code more flexible;
in the long run, this will benefit IDE features such as code formatting and refactoring,
and also allow for a flexible third party API for other code modifications. [Prism]