Libraries · Uncategorized

JavaScripting with Duktape for Delphi

Looking to add JavaScript capabilities to you app, but without the bulk and overhead of JIT engines like V8, SpiderMonkey and Chakra? Then take a look at Duktape. Duktape is a lightweight, embeddable and cross-platform JavaScript engine. It fits into a DLL just over half a megabyte in size but supports the complete ECMAScript 5.1… Continue reading JavaScripting with Duktape for Delphi

Libraries · Patterns · Uncategorized

MVVM Starter Kit (Part 3 of 3)

In this 3rd and final part of the MVVM series we tie everything together by looking at the Views and how to bind controls and actions to their ViewModels. We show that by putting most UI logic in the ViewModel, we can easily create both an FMX and VCL version of the same application with… Continue reading MVVM Starter Kit (Part 3 of 3)

Libraries · Patterns · Uncategorized

MVVM Starter Kit (Part 2 of 3)

In this second part of our MVVM mini series we look at ViewModels and how they can be unit tested. We assume you already read the first part, where we talked about the MVVM pattern and data binding. We discuss ViewModels and Views separately, leaving the discussion of Views to the part 3. Usually, you… Continue reading MVVM Starter Kit (Part 2 of 3)

Libraries · Patterns · Uncategorized

MVVM Starter Kit (Part 1 of 3)

We present a framework to help you get started separating user interface from code using the Model-View-ViewModel pattern. In this first part, I will briefly introduce the MVVM pattern, talk about data binding and start building out the Models for a sample application. In part 2 we will focus on the ViewModels and how these… Continue reading MVVM Starter Kit (Part 1 of 3)

Tips & Tricks · Uncategorized

Alternative Dark Editor Themes for Delphi 10.2.2

We conclude Grijjy’s first blog year with a non-technical post for a change. We present two alternative color schemes for the text editor of the Delphi IDE that work well with the new dark theme that has been introduced with Delphi 10.2.2. I absolutely love Delphi’s new dark IDE theme and icon designs. It is… Continue reading Alternative Dark Editor Themes for Delphi 10.2.2

Communications · Databases · Libraries · Uncategorized

Working with big data databases in Delphi – Cassandra, Couchbase and MongoDB (Part 3 of 3)

This final part of our trilogy on big data databases introduces a Delphi driver for MongoDB. This driver is independent from any other data access frameworks in Delphi and provides direct and efficient access to data on a MongoDB server. The previous posts in this series focus on Cassandra and Couchbase. For more information about… Continue reading Working with big data databases in Delphi – Cassandra, Couchbase and MongoDB (Part 3 of 3)

Libraries · Tips & Tricks · Uncategorized

Face Detection on Android and iOS

Android and iOS have built-in support for detecting faces in photos. We present a small platform-independent abstraction layer to access this functionality through a uniform interface. You can find the source code on GitHub as part of our JustAddCode repository. Like we did in our post on Cross Platform Text-to-Speech, we expose the functionality through a Delphi… Continue reading Face Detection on Android and iOS

Optimization · Tips & Tricks · Uncategorized

Experiments in Uniform Memory Management

We experiment with algorithms to make memory management in Delphi more consistent between desktop and mobile platforms. This eases debugging and finding memory leaks. We look into using object interfaces and semi-automatic memory management based on ownership. Along the way, we touch on using linked lists and Delphi’s messaging framework. Warning: this post is more… Continue reading Experiments in Uniform Memory Management