Adam’s Oct 2023 Meeting Summary
- Hypermedia, htmx & RAD Studio – Glenn Dufke
- An Application Foundation – Rob Lambden
- Book Review Delphi Legacy Projects by William Meyers – Adam Brett
Adam’s Summary
News/Catchup
The session opened with discussion about the Greymatter Embarcadero RAD Studio 12 event on 24th October, Ekon in Germany in November, and the next Dev Group meeting, which will be in Nottingham in November.
Hypermedia, htmx & RAD Studio – Glenn Dufke
Glenn gave an excellent explanation of a new/old web paradym. The new code library htmx, which adds a set of tags to pure HTML to allow users to write complex web applications without the need for JavaScript or so-called “Single Page Apps”.
It is a very compact library, written in pure JavaScript (just 3,700 lines of code!!) which adds attributes to tags that can be used directly in html to add functionality to your App. Resulting Apps have powerful functionality similar to “pure JavaScript” Apps, but are rendered with simple HTML.
Glenn demonstrated using the Delphi MVC framework and Mustache Templating engines to create a CRUD-type website which could access a database and push updates, inserts and deletes.
Https://github.com/danieleteti/delphimcframework
Https://github.com/synopse/dmustache
It was a nice, clear, deep-dive into the inter-related parts of an htmx web-site / web-app. I have attached a large number of screen-grabs from Glenn’s talk, hopefully they are useful.
Glenn’s main point is that many web-stacks (Docker-Kubernetes-Angular-React) are deep and the resulting layers of interdependence make for dreadful fragility. Replacing this with htmx results in a server-side exe, an html-based web-page and … nothing else, a cleaner and altogether better solution.
An Application Foundation – Rob Lambden
Rob works very extensively with packages (BPL files) in his day-to-day coding work. He realises this is unusual in the Delphi world, where many programmers produce a single executable, but feels it is valuable to work with packages as these allow custom features to be added to a base application at run-time.
Resulting applications have to work by inference a great deal. As an Application does not usually know the features it contains until run-time, a lot of code ends up adding references to object lists, or looking for values in object lists, as these are filled dynamically by the packages as they are loaded.
The session was extremely detailed and difficult to summarize. If you are interested in mechanisms for using packages dynamically in your applications I would strongly recommend reviewing this session.
Book Review Delphi Legacy Projects by William Meyers – Adam Brett
William’s book is a good, solid text on an important part of software development: The management of older, longer lived projects. Adam’s talk dipped into the principles, issues and recommendations for processes such as upgrading large projects or managing large projects over long time-periods. The book is not perfect, but is a very good read if you are about to embark on a process like this. Adam laid out most of his talk in detailed slides, which can be accessed from the user-group website.