Last friday is just ended the 4th edition of ITDevCon. This conference is, now, the biggest Delphi conference in Europe, in terms of speakers, speeches and topics… no doubt!
15 speakers from all over the world (Italy, USA, Norway, Slovenia, Benelux)
70 attendees c.a. from all over the world (Italy, Germany, Russia etc)
32 prizes offered by our (beloved) sponsors. No one of the attendee went back home without some prize won. In many cases the price of the prize has been even bigger than the price of the ticket!
Some speakers, attendees and other people, have already blogged about the conference and many others have talked about it on twitter and facebook. There’s been a great partecipation… before, during and after the conference.
ASAP will be published other photos on Google Picasa.
This year too, ITDevCon has been a great experience.
I want to say THANK YOU to all the speakers, attendees and sponsors. And also to all the great bit Time crew that makes this conference the biggest Delphi conference in Europe. As you may think, I’m very proud of it.
This is the first “Hello World” for my Delphi MVC Web Framework.
MVCEngine in 'MVCEngine.pas',
BaseController in 'BaseController.pas';
mvc := TWebMVCEngine.Create;
mvc.AddRoute('/', procedure(Context: TWebContext)
Features list (some of them are in the internal roadmap)
Addressable with servername/controllername/actionname?par1&par2
Addressable with servername/controllername/actionname/par1/par2
Can also use anonymous methods as actions for very simple app (in the sample)
New Google Group related to dorm. Post your questions, comments and request here!
Added support for Generics Collections. No more needs of TdormCollection. You classes are completely decoupled from the framework.
A brand new mapping strategy is under development. There will be “3 levels” of mapping: Config File, RTTI Attributes and “Conventions Over Configuration” (CoC) (do you wanna check the code in dev branch? Click here)
Yes, this is very cool. I’m not a Java hater, in terms of language (and I dont want to start a language-war), but some Java features, IMHO, are a bit uncomfortable for me.
However, Java is very powerful and there are an enormous amount of good open source project for Java. So, seeing java libraries used in simil-pascal code (is not Delphi’s Pascal, but enough similar), is nice. In this way, you can use all the java libraries in Pascal!
I’d like to have this integration in Delphi IDE too with a good designer for Android activities.
I’m testing Oxygene for Java (form RemObjects) for a couple of things, specifically Android related.
This is my first console project in Oxygene for Java, just to see some code.
IMHO there is an enormous potential for the Delphi developer and for all the developers that need a unique language to do server, mobile and native ultra fast app.
I dream to have this technology into the Delphi IDE.
During a new dorm feature development, I’m faced a nice problem:
I want to have a generic access to a “kind” of list
procedure DoSomething(Obj: TMyListType);
But, I want to have that generic access without a Layer Supertype object, because I need to be able to use objects from other libraries or 3rd party. In this case traditional polimorphism is not usable, so I’ve opted for an interface…
procedure DoSomething(MyIntf: IMyListInterface);
Cool, but I want to have that access without any change to that object. So implement an interface is not a viable solution. This is particulary true because the generics data structure in Delphi do not implement an interface. Will be nice to have a fully interfaced list and dictionaries in a future Delphi version.
So, how I could implement a generic access to a generic list?
procedure DoSomething(MySomething: ???);
However, operations on that list are few and well known, so I’ve opted for a “DuckTyping“.
The name of the concept refers to the duck test, attributed to James Whitcomb Riley, which may be phrased as follows:
“When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.”
So, in my case, I’ve created an Adapter object wich adapts the external interface (few, well know operations) to the “duck” inside it.
The adapter is useful because I can use the compiler checking that the RAW RTTI access doesn’t allow.
Write an “RTTI adapter” using the new Delphi RTTI, is very simple. This is the code of the class TDuckTypedList that allow to use any object as a “list”. How I can define that the object is actually a list?
The criteria is:
If the object has
– An “Add” method with one parameter of type TObject (or descendant);
– A “Count” property;
– A “GetItem” method that have an integer parameter and return an object;
– A “Clear” method;
then, that object is a list.
So I can write the following:
DuckObject := TDuckTypedList.Create(Coll); //the adapter
for x := 0 to DuckObject.Count - 1 do
I’ve done some speed tests comparing this way to the classic static way, and the speed is almost the same because the RTTI lookup is cached in the constructor of the adapter. So, so far so good.
This solution is already in use inside the dorm code in a feature branch.
Last Friday ended the third edition of ITDevCon, the European Conference on Delphi and its related technologies.
ITDevCon this year was even bigger and funny.
There have been more present, more sponsors, more speakers, more topics and a lot of people with the desire to learn new things and improve their every day work.
A special thanks goes to all the speakers who participated and the sponsors who have contributed their support to make this conference a major event for the European community Delphi.
I hope that the content and the organization is liked to you at least half of how much it is liked to me.
We are organizing slides, videos and examples for each speech to put it all on-line available to participants at the conference as soon as possible. You will receive an email informing you of how to download all the material available.
In the coming days, on the conference website (www.itdevcon.it) we will post all the pictures we have done in these three days.
If you have any photos that you want to see published, send them to me, we’ll publish it on the official website.
Some friends (and speakers) already blogged about the conference:
Manca solo una settima all’inizio di ITDevCon2011. Per permettere a tutti gli iscritti (e far decidere chi è ancora indeciso) di sfruttare al meglio i due giorni di intensa formazione, abbiamo appena pubblicato l’applicazione ITDevCON2011 sul’Android Market.
Trevete il programma completo della conferenza, i profili degli speaker e informazioni sugli sponsor.
Inoltre, potrete definire i vostri speech preferiti in modo da essere avvisati subito prima dell’inizio dello speech.
Potrete votare e commentare ogni speech. Potete commentare da subito inserendo le vostre aspettative per lo speech o alcune delucidazioni sul contenuto. Il voto invece sarà possibile solo a speech avvenuto.
Dal punto di vista tecnico, questa applicazione Android utilizza un servizio REST scritto con Delphi utilizzando DataSnap e i Mobile DataSnap connectors per Android.
Per chi fosse interessato al “Making”, durante la conferenza potrà assistere allo speech di Salvatore Sparacino che illustrerà i vari step dello sviluppo e le soluzioni tecnologiche adottate.
Per definire il vostro profilo, votare e commentare, dovrete utilizzare il codice fornito al momento dell’iscrizione. Se non siete partecipanti, o ancora non vi è arrivato il codice di accesso, potete utilizzare l’applicazione come “anomymous”. In questo caso non potrete salvare i vostri speech preferiti Né votare o commentare.