Adam’s TMS WebCore Day Summary
Agenda
Talks by Bruno Fierens, Wagner Landgraf & Jason Chapman
- TMS Company organisation & product line overview
- TMS WEB Core architecture in-depth
- TMS WEB Core architecture hands-on
- Connecting from TMS WEB Core to the back-end
- Hands-on experience with TMS WEB Core
Adam’s Summary
Bruno from TMS visited London and treated us to a buffet lunch and very good, well-attended sessions about TMS Webcore components and related TMS software products.
TMS are working hard on a “Unified UI/OS independent development model”, working in the Delphi IDE to produce “applications” for Windows, Linux, Android, iOs, Apple and the Web.
TMS have about 12 full time staff. The sessions focused on TMS Webcore (to build a web-application), TMS FNC Components (IU components similar to Delphi’s FMX) and TMS XDATA components (to create the back-end data-layer).
Bruno pointed us to extensive blogs – available on the TMS Website, particularly a series of 10 with the title starting “Visiting the TMS Lab …” which all feature TMS Webcore and its related components. The products have extensive manuals, and demos. Members report that TMS’s support response is rapid and good. These more modern component sets mostly require fairly modeern versions of Delphi. To run the whole set of components Bruno demonstrated it is necessary to have at leaste Delphi XE7.
TMS Webcore generates a Single Page Web App, a common paradygm in modern development. TMS have integrated the Open source PAS2JS compiler which means you write Object Pascal in Delphi, with all of Delphi’s rules and structures and Delphi emits a set of HTML and Javascript pages which will open in a browser window as a web-page / web-application. It has been designed to try to deliver RAD OO development while allowing for flexible web-design using style-sheets and CSS.
It is good, modern model and even allows for static, non-server-based websites, unlike competitive products such as Intraweb and uniGUI, which work with back-end servers exclusively.
Most of Delphi’s features carry over from Windows executable development, with some serious extras:
* Web-apps are stateless, so much code must be written through call-backs.
* Styling and layout can be managed using a Delphi RAD approach, but are designed to be managed using a bootstrap-style mechanism for applying CSS.
* Webcore also makes it possible to interact directly with the DOM and Javascript elements of a website, requiring quite a bit of learning about how these aspects of development.
* Webcore supports a TWebClientDataset ans TWebClientDatasource, and includes DB Controls that can be linked to these components. However channelling data from your database is more complex, and requires additional layers of middle tier code using tools like RAD Server or XDATA.
So, while it is a fantastic tool, and an amazing opportunity to start working with the web, there is a real learning curve to climb.
Powerful features include:
* In browser debugging, including visibility (in the browser) of the Pascal source code. This is done by producing a MAP file. This MAP file should not be deployed onto your production server.
* A very rich pallet of visual components: edits, grids, charts, planner, tree-view, ribbon, object inspector, dashboards, mapping components etc.
* The resulting web-apps are highly responsive, without any of the lag we usually associate with web-pages. Of course if data is being fetched from the server this can take time.
It seems as though to get the very best out of this your would ideally buy the FNC component pack as well.
The XDATA component set allows the building of a Server-side executable to deliver JSON-formatted data from the back-end. Building an XData application to deliver customer data to a Webcore client web-app was shown, and included using the AURELIUS ORM Framework to automate steps for auto-generating complex server side class definition code quickly and accurately.
Jason finished off the day talking about his experiences actually using Webcore.
Overall it was a really exciting day.
TMS Webcore and TMS FNC each cost 295 Euro, XDATA costs 495 Euro Sparkle, costs 495 Euro, Aurelius costs 195 Euro. The TMS “All Access” pack costs 1,495 Euro. All subscriptions perpetual, and are extended annually for 30% of the cost of the initial license.