Please find the download with source and slides here: Download source and slides
The download has been compressed with RAR with password coderage2018
and has the following SHA-256 checksum
Have fun creating your own REST microservices and PWA‘s!
Note: with newer versons of TMS WebCore you may need to change two lines of code in the file UnitJSONHelper.pas.
lArray := lJSONObject.GetJSONValue('result');
Additionally the no longer needed WebRunner lines in the Project file TheCounterWeb.dpr should be automatically removed when you open the project, if not remove them manually.
The boilerplate code is of course available for download, please use it to jump start your own software.
Oh, and the nice thing about PWA, an Android device will offer the user the option to install the web app as an actual app with an icon on the start screen. Good stuff!
Delphi Parallel Programming Library Deep Dive: Task Monitoring, Resource Locking, Thread Pool, Design Patterns and more! That is the full title of this session at CodeRage X. I hope you found this deeper look into some of the relevant parallel programming features such as TInterlocked, TMonitor and TThreadPool useful.
In dit online event vele bekende sprekers met enkele erg interessante sessies over multi-threading, van Primož Gabrijelcic (Simplify Parallel Programming with Patterns) en Olaf Monien (Simplify MultiThreading with System.Threading for Mobile and Desktop Apps) en mijn eigen sessie (Parallel Programming Deep Dive: Task Monitoring, Resource Locking, Thread Pool, Design Patterns and more!). Ook erg interessant: Robert Love (Introduction to Encryption: Understanding Security Algorithm Use Cases). En als verborgen juweel de generic broncode van Andrea Magni in zijn sessie (TFrameStand Deep Dive: Build Visually Stunning and Consistent UI/UX with FMX Frames). Natuurlijk nog meer leuke sessies van Marco Cantu, Jim McKeeth, Girish Patil, Ray Konopka en Stephen Ball.
Parallel Programming Library: Create Responsive Apps with Tasks, Futures and Parallel Loops must be the longest title I ever used for a session. I hope you found this introduction into parallel programming with the new TTask, TTask.Future en TParallel.For loop useful.
The replays of this and other sessions of Coderage 9 are now available on YouTube here:
As a last minute note: when using Synchronize inside a TTask.Run AND using TTask.WaitForAll from the main thread there is potential for deadlock as they will then wait for each other. Although it is safe to use Synchronize inside a Task if you only use WaitForAll from inside Task.Run, as demonstrated in the example TaskChaining, it is often better to use TThread.Queue, which doesn’t halt the thread it’s called from and is therefore generally safer.
In dit online event vele bekende sprekers met enkele erg interessante sessies van Ray Konopka (Generics, RTTI), Allen Bauer (Parallel Library), Jim McKeeth (Brain Computer Interface, Voice Control) en vele anderen zoals Marco Cantu, Cary Jensen en Robert Love.
Zelf heb ik ook een korte sessie, waarin ik de nieuwe Parallel Library introduceer en gebruik om applicaties te maken die altijd responsive zijn en de gebruiker nooit blokkeren. Weg met de zandloper!
To everyone who attended my session on CodeRage 8, thanks for your enthusiastic questions and feedback! Presenting this subject on CodeRage has been great, and I’d especially like to thank David Intersimone and Jim McKeeth for making the Q&A such fun.They will make the session replay available soon, and I’ll post a link here. For the CodeRage 8 attendees the slideshow is available here: Deep Dive into creating Android apps CodeRage 8