We’re very lucky here at Embarcadero to have a whole team of extremely talented MVPs and Tech Partners who both champion our products as enthusiastic highly skilled users but also contribute towards the power of RAD Studio with Delphi and C++ with tools, components, and services of their own.
A while back we asked our MVPs if they had any interesting open-source projects or ideas they were working on. We also asked if any MVPs would like to contribute some of their time to a selection of initiatives which didn’t fall into the realms of a commercial product but which we could see there would be benefits for all developers if the right people could be brought together and given some assistance where needed as well as somewhere to host the development process.
The response was overwhelming and a whole bunch of people stepped up to work on a variety of things. Most of those are still private while they reach a point that they can be unleashed for us all to benefit from. But a couple have reached the stage where they can stretch their wings and leave the little nest. One of those was the XML Mapper tool which extensively upgraded and improved. The second is a project called Octoid.
Table of Contents
What is Octoid and how can it help you convert Objective-C code to Delphi?
Octoid is an acronym for “Objective-C TranslatOr Into Delphi.” It is designed specifically for translating Objective-C headers into Delphi code. Octoid aims to replace the SDKTransform tool shipped with Delphi, offering enhanced functionality and improved performance. This blog post provides an overview of this indispensable tool.
Elements of Octoid are based on the excellent Chet (https://github.com/neslib/Chet) which was written by Erik van Bilsen of Grijjy, inc. Erik and Grijjy have contributed towards a great number of open-source projects and gave permission for Chet to be used as one of the foundations of Octoid.
What does Octoid do?
Octoid parses Objective-C headers from iOS and macOS frameworks, including 3rd party frameworks, and seamlessly converts them into Delphi units. This process is near instantaneous, saving developers a significant amount of time and effort.
The Octoid Desktop App
Octoid offers a user-friendly desktop application with a GUI (VCL) for Windows. It allows developers to select an SDK, choose a framework, and transform it into a Delphi unit. The options page within the desktop app enables users to customize the insertion of banners into the unit, if required, and tailor the translation process to their specific needs.
Does Octoid have a command-line app?
In addition to the desktop app, Octoid also provides a command-line interface, perfect for automated transformations or for developers who prefer working in a command-line environment. The command-line app allows users to execute Octoid with various options and additional parameters.
Who is leading the Octoid project?
The project was led by the incredibly capable MVP Dave Nottage. You can find Dave at his Delphi Worlds website. Dave also runs a very lively Delphi development Slack group too. I definitely recommend you join it if you are a Slack user.
Some of the original development work for Octoid was carried out by Embarcadero for internal projects. The company agreed to open source it which meant that Dave Nottage and the Delphi community at large could keep expanding and adding value to it.
Where can I find Octoid Objective-C to Delphi conversion tool?
You can download it directly from the GitHub repository here: https://github.com/Embarcadero/octoid/
The repository also has more details such as dependencies and other useful information.
Why not download a free trial of the latest version of RAD Studio with Delphi and see what Delphi can do for you?