How about "Rapid Rich Internet Application Development"?



Hello, Developers!

I have had this "crazy" idea since 2004 that HTML with JavaScript running inside a Browser (AJAX) just isn't good enough to become a replacement for todays Rich Client/Server and N-Tier Windows Applications. Even with all the third-party components and tools available today for writing AJAX Web Applications, the results in most areas are less than acceptable for the end-user. HTML, even when combined with the best JavaScript, just doesn't give us the same UI quality we are used to having with Windows Clients.

I think we have an excellent development tool in Delphi, but when it comes to writing mid-tier applications, IMHO, all the solutions currently available are either too complex for use in large-scale projects, or they are just too limiting. Wouldn't it make more sense to use the Delphi IDE for writing mid-tier applications in the exact same way you can write desktop applications? Why should application developers have to separate their code into a client and a server "manually" when it all boils down into a single codebase? Why would one have to fetch hundreds of records from a database and send it over a wire to allow the user to see them in a Grid? Or artificially "split" large datassets into pages to reduce the traffic? And why should an application developer have to manually write remote functions/objects on the server and then write code on the Client to call these functions?

Wouldn't it be more feasible to presume that clients are there as a presentation layer for the server, taking care of user interaction, while all the business logic belongs into the server? And then allow the developer to design both parts of the puzzle in a single project, building a single application which would automatically be split into a Server holding all the information and business logic and a Client being the presntation layer and taking responsibility for user interaction?

Is this impossible to achieve?

Not at all.

But ... to get this kind of functionality working transparently for the developer, we need a framework with a large enough set of components which can take care of client/server separation and all the communucation for us.

And this is what I have working on in the past months, with good results: I now have the basic framework in place, which includes the Application, Form, DataModule, Edit, Label and Button components with full Delphi/C++Builder IDE integration. The framework is completely transport agnostic, which means that it can be combined with any communications component set (like the RTC SDK, for example). The basic framework is relatively easy to use by component developers, but making a visual component usable in the context explained above requires detailed knowledge of the component being "ported" - and "a bit" of coding.

To demonstrate what would have to be done to make simple visual components usable with this framework, I have uploaded two units (Client- and Server-side) implementing the Button, Label and Edit components. If you want to take a look, please download and unpack this ZIP file:
http://www.realthinclient.com/temp/rtcfSample.zip

Since I now have the framework in place with major problems of client/server components separation solved (server with low resource requirements and optimized code for minimum CPU usage), I was hoping to find developers (component vendors?) seriously interested in spending their time (with me) in an effort to get this idea materialized. If you would like to participate in this huge undertaking, please let me know where you see yourself and how you think our cooperation should look like. To contact me, please send an E-Mail to the "General Questions" address listed here:
http://www.realthinclient.com/contact.htm

Thank you for your time :-)

Best Regards,
Danijel Tkalcec, Team RTC
http://www.realthinclient.com

.


Quantcast