It is the second day of ITDevCon. The conference is really better than I was expecting. bitTime crew is taking perfect care of all attendees. Again - it is impossible to be on three parallel sessions at the same time. Especially if you are delivering sessions yourself:-)
The first session for me was my "Delphi Natural Input" session. I have covered Delphi 2010 support for touch, multitouch and gesturing. The more I go into this technology the more I like it. In order to demo multitouch you really need to have multitouch enabled hardware. It is still quite expensive to have proper laptop with touch support, but the alternative is to use either external touch-enabled screen or just an external tablet device which is much more affordable. Marco Cantu showed me in Internet yesterday this Wacom bamboo tablet that is really something like ten times less expensive. During the preparation to my Delphi touch talk I have discovered that the file format for files with gestures definitions created programatically using "TGestureManager.SaveToFile" is incompatible with files created from inside the IDE with Gesture Manager custom gesture editor at design time, but it is still great fun to create Delphi 2010 gestures programmatically:-)
The second session I have attended was by Daniel Magin. Daniel covered ways to remove BDE from your existing Delphi applications. Daniel created in a new unit with his own empty classes derived from TDatabase, TTable, TQuery and TStoredProc and used GExperts to replace throughout the application all occurances of TDatabase, TTable, TQuery and TStoredProc with his own equivalents. In the second step he changed his classes to be derived from RemObjects Data Abstract components. In my opinion this is the way to go. If you consider how DBExpress internals has been changed in Delphi 2007 without breaking the VCL component layer, that’s exactly how BDE could be refactored out from the VCL in the future.
The next session for me was my "Delphi Enterprise Architectures and DataSnap 2010". In this nicely attended slot, I have compared DataSnap 2010 features with other enterprise architectures like CORBA, JEE, WCF and WWSAPI and I think I have managed to prove that DataSnap 2010 has all the features expected from mature, robust enterprise architecture.
Jose Leon - the architect of Delphi for PHP - presented a very interesting session comparing Delphi for Win32 with Delphi for PHP. I really like Jose’s explanation of VCL for PHP library supports concepts from Delphi VCL like component streaming. Very interesting.
Now Boian Mitov is explaining good practices for creating Delphi 2010 multithreaded applications. Boian is very talented Delphi programmer and author of component libraries for video, audio, signal processing, and computer vision. All his libraries are fully multithreaded and optimized using Intel MMX technologies. The libraries are based on the advanced OpenWire technology, and allow writing complex applications with zero or near zero lines of code.
The last session was very difficult to choose. On one hand there is Marco’s "Introduction to jQuery" and on another there "iPhone Development.pas" session by Daniel Magin that is planning to cover developing for iPhone with XCode (Objective C) incl. Interface Builder, developing with Mono Touch and C#, developing with Mono Touch and Pascal (Beta) and web apps with Apple DashCode and Delphi IntraWeb. I have chosen for iPhone development session:-)
Daniel is running Mac OS X and demonstrated building simple iPhone app in XCode and Interface Builder. Objective C is not the most friendly programming language, especially for people with Delphi background. It is much easier to develop for iPhone in MonoDevelop with MonoTouch plugin in any of the .NET languages. The application is using Google Maps to locate Fabrizio:-) The room is packed with people watching Dani performing his iPhone magic with iPhone app talking to Delphi 2010 Web Services SOAP Server application.
We want Delphi for iPhone!