DkSDK

Contents

Introduction

DkSDK will be available for developers to build secure applications that run natively on desktops, phones, web sites and full-featured embedded devices. Developers have become wary of being locked into a particular vendor or technology when whole teams behind popular development frameworks are being let go. DkSDK makes it easy to prototype software iteratively on a desktop, catch bugs quickly with your own GitHub or GitLab continous integration provider, and deploy to desktop/web/mobile platforms, all while leaning into two paradigms that has proven both durable and productive: React-compatible frontends and Actor-compatible backends.

DkSDK give you access to two programming language ecosystems:

  1. C through the familiar "CMake" build tool.
  2. OCaml is less widespread. However, OCaml can generate JavaScript code has easy interoperability with C. Most important, can be written in a style that makes it easy to translate to React (ReactJS, SwiftUI, etc.), Actors (Erlang, Akka, etc.) and other well-tested frameworks.

We recommend you click to the latest DkSDK CMake documentation. That documentation will cover integrating C and OCaml, and is the only portion of DkSDK generally available today.

However, the DkSDK OCaml API documentation (this portion of the documentation) has not yet been generally released! Diskuv Support may give you a link within this documentation to resolve an issue for you.

You can continue browsing this part of the documentation, but be aware it is not ready for general release.

These pages will document how to write for the DkSDK React and Actors frameworks, and provide you with the API interfaces and import instructions for some useful open-source OCaml libraries.

Open source OCaml libraries

The Standard OCaml Library:

  • Stdlib

Threading:

  • Lwt, which are lightweight cooperative threads.
  • Thread, which are real operating system (OS) threads. They are limited in their usefulness in OCaml 4 because there is a single process lock (similar to the Python "GIL" global interpreter lock). They become much more useful in OCaml 5, but OCaml 5 is not available for all platforms and is not production stable.

Making a command line application:

  • <https: erratique.ch="" software="" cmdliner="" doc="">

    • Cmdliner

Communicating between machines and between languages:

</https:>