The subscriptions number we received in a few hours has been far larger than what we expected at first and we quickly had to double the room (let me thank all Ibuildings staff members for the organization of the event that has been smooth and properly handled from the opening of the subscriptions to the final survey and followback).
I was happy to join this event as an Embarcadero MVP to cover the Delphi part of the topics, while Federico Baron (Ibuildings Italia, scrum master) was assigned to cover the ExtJS introduction and feature showcase (including most used components like grids, charts and calendar). Mauro Pugliese (Ibuildings Italia, country manager) opened the event with a short presentation of Ibuildings and covering the meaning of the event and our collaboration.
From a technical point of view, ExtJS has some strong similarities with the Delphi approach:
- it has the concept of “component” (very familiar to every Delphi developer);
- there is a “build automation” (think about msbuild);
- the general ExtJS approach is strongly declarative (that really recalls DFM or XFM files);
- the concept of data stores really reminds me TDataset (with some additions like proxies that reminds me some remoting like Datasnap or similar ones in the Delphi area);
- the MVVM approach with a neat separation of the Model, View and ViewModel parts recalls me the separations you can gain across classes, Forms/Frames and DataModules;
- it provides a feature rich set of components to easily build complex applications in a consistent manner (like Delphi is capable of).
There are several ways to make use of ExtJS within a Delphi context and there are some different approaches to integrate (resulting in different commercial products like UniGUI or open source projects like Kitto or ExtPascal). Each project has its own strengths and capabilities and of course will fit differently according to the project your are building.
Another way to use ExtJS with Delphi is to build a Delphi REST server and you have multiple options here including:
- two offers by Embarcadero that are RAD Server and Datasnap
- another option by Embarcadero that is plain WebBroker technology
- commercial options like TMS XData or Sparkle
- several open source libraries including:
This last approach (pure Delphi REST server + pure ExtJS frontend) is highly decoupled and may be a long-term opportunity to embrace changes both server side and (web) client side, as well it represents an opportunity to also add a native mobile app in the picture without having a separate dedicated server for it.
During the event, I used MARS to showcase how to access data from a database (using FireDAC as DAC library) and serve JSON to ExtJS store with REST proxy. Also, some integrations are possible to implement server side sorting and grouping of data for ExtJS grids and other components. The second demo was about the ExtJS calendar component, where the application server acted both as a source for event data and as a store for newly created events (through the ExtJS web interface).
It has been a pleasure to meet over 40 attendees who were happy to ask a lot of questions about the topics shown during the event. We have a follow back training course on November 27-28-29, two days of ExtJS training (by an Ibuildings ExtJS expert) and the last day on Delphi-ExtJS integrations (by me).
Hope to see you all soon. Delphi rocks!