How to handle platform/feature-specific code?

This page summarizes the projects mentioned and recommended in the original post on /r/ada

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • alire

    Command-line tool from the Alire project and supporting library

  • Your post made me remember a feature I wanted to add to Alire for a long time. So here you go, in the next version of Alire it should be quite easy to support platform specific code: https://github.com/alire-project/alire/pull/961/files

  • trendy_terminal

    A Windows/Linux library for enabling terminal settings and driving character-by-character input.

  • The typical way that I've seen is to use the build system to change out body implementations for the platform being compiled. This is modeled after the traditional notion of treating translation units like "modules" in C and C++. When I wrote Trendy Terminal, that's the route that I took. This route avoids virtual function call (dynamic dispatch) overhead.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Ada_GUI

    An Ada-oriented GUI

  • (Actually, for a GUI, the solution is to use a portable GUI such as Ada GUI, but for other cases this approach may be needed.)

  • gwindows

    GWindows: GUI framework for MS Windows

  • For the Windows side, you could consider the GWindows framework: https://sourceforge.net/projects/gnavi/ , https://github.com/zertovitch/gwindows instead of win32ada.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts