141 Repos
Interfaces and binding layers that enable seamless communication and data exchange between different programming languages and native libraries.
Explore 141 awesome GitHub repositories matching programming languages & runtimes · Foreign Function Interfaces. Refine with filters or upvote what's useful.
This project is a multi-platform UI framework designed for building applications that target mobile, web, and desktop environments from a single codebase. It utilizes a declarative paradigm where the user interface is defined as a function of application state, supported by a layered architecture that includes a high-performance rendering engine and a multi-platform compilation model. The framework provides a comprehensive suite of developer tools, including hot reloading for real-time code injection and diagnostic utilities for monitoring application state and performance. It features a modu
Supports high-performance interoperability through a dedicated binding layer for seamless communication with native C and C++ libraries.
This framework provides a multi-process architecture for building desktop applications using web technologies. It manages the application lifecycle, window states, and system-level integrations through a primary entry point, while isolating web content in separate rendering processes to maintain stability and security. A secure bridge mechanism facilitates communication between these isolated contexts and the main process, ensuring that privileged system APIs remain protected. The framework distinguishes itself through a comprehensive security model that includes process sandboxing, content p
Enables the execution of native modules by configuring build environments to target specific runtime architectures.
This project is an open-source JavaScript runtime built on the V8 engine. It provides a comprehensive environment for executing JavaScript code outside of a web browser, offering foundational primitives for process management, multi-core load distribution, and parallel execution through worker threads. The runtime includes a broad set of built-in modules for system-level operations, such as file system interaction, network communication across various protocols, and cryptographic security. It supports multiple module systems, native binary addon integration, and diagnostic tools for monitorin
Integrates native shared objects directly into the runtime to enable high-performance extensions and cross-language communication.
Deno is a high-performance runtime for JavaScript and TypeScript that prioritizes security and developer productivity. Built on the V8 engine, it provides a secure execution environment that enforces a default-deny security model, requiring explicit user authorization for access to system resources like the file system, network, and environment variables. The runtime natively supports modern web-standard APIs, ensuring consistent behavior and portability across different environments. What distinguishes Deno is its integrated approach to the software development lifecycle. It bundles essentia
Exposes standard library compatibility modules to bridge functionality gaps when migrating legacy codebases.
Bun is a high-performance runtime environment designed to execute JavaScript and TypeScript applications with minimal latency and high throughput. Built on a native core implemented in Zig, it provides a unified execution engine that leverages JavaScriptCore for efficient memory management and low-latency startup. The project functions as an all-in-one toolchain, integrating a native bundler, transpiler, package manager, and test runner into a single command-line interface. What distinguishes Bun is its focus on native system integration and developer productivity. It features a high-performa
Enables direct execution of external native libraries through low-level bindings.
OpenCV is a comprehensive computer vision library designed for real-time performance and cross-platform deployment. It provides a native execution environment that leverages multi-threaded operations and automated memory management to handle intensive computational tasks, including image processing and machine learning model inference. The library distinguishes itself through a data-oriented matrix framework that utilizes proxy-based array abstractions to provide a consistent interface for multidimensional data. By employing factory-pattern algorithm interfaces and runtime type dispatching, i
Bridges low-level algorithmic implementations to multiple high-level programming languages for broader developer accessibility.
This project is a professional live video production suite designed for capturing, encoding, and broadcasting high-quality media. At its core, it features a real-time media processing engine that utilizes hardware acceleration to composite multiple audio and video sources with minimal latency. The application provides a centralized studio interface for managing complex scene transitions, layering visual sources through a hierarchical scene-graph engine, and streaming content to multiple platforms simultaneously. The software is built on a cross-platform abstraction layer that ensures consiste
Exposes a stable binary interface that enables developers to build high-performance extensions using various programming languages.
CPython is the primary, community-maintained reference implementation of the Python programming language. It functions as a high-level, interpreted execution environment that compiles source code into platform-independent bytecode for processing by a stack-based virtual machine. The runtime manages memory through a combination of reference counting and generational cyclic garbage collection, while dynamic type dispatching determines object behavior at runtime based on metadata stored within object headers. The project is distinguished by its C-based architecture, which provides a stable forei
Exposes a binary interface that allows native code to interact directly with internal data structures and interpreter objects.
This project is a comprehensive, community-driven directory of machine learning resources, software libraries, and educational materials. It serves as a centralized knowledge base for developers and researchers, organizing tools and frameworks by their primary programming language and technical domain to simplify discovery across the artificial intelligence ecosystem. The collection distinguishes itself by providing a cross-language development index that spans diverse programming environments, including C, C++, Rust, Clojure, and Python. It covers a wide range of specialized capabilities, fr
Bridges high-level programming environments with low-level machine learning kernels through native binding layers.
This project is a comprehensive, curated directory of high-quality libraries, tools, and educational resources for C and C++ development. It serves as an ecosystem discovery index, helping developers navigate the vast landscape of third-party components, frameworks, and technical documentation available for the language. The collection is distinguished by its focus on high-performance systems programming and technical mastery. It provides deep coverage of specialized domains including SIMD-accelerated data processing, compile-time template metaprogramming, and asynchronous event-driven archit
Exposes language-specific wrappers that facilitate seamless communication between native code and other programming environments.
Swift is a high-performance, general-purpose programming language designed for safety and speed. It features a modular compiler front-end that transforms source code into optimized machine binaries, utilizing a value-oriented type system that prioritizes predictable state management through value and reference types. The language is built on a task-based concurrency model that schedules asynchronous operations across multicore hardware to ensure data race safety. The project distinguishes itself through a native, bi-directional interoperability mechanism that allows for direct integration wit
Bridges external functions and types into a native environment to facilitate seamless cross-language communication.
v2rayNG is an Android proxy client designed to route device network traffic through encrypted tunnels. It functions as a network routing engine that intercepts outgoing requests and applies custom traffic rules to manage connectivity and enhance user privacy. The application distinguishes itself by integrating a high-performance network proxy core, which enables complex protocol translation and traffic management directly on mobile devices. It utilizes local loopback and Unix-socket tunneling to redirect device-wide requests, maintaining persistent connectivity through native background servi
Bridges a high-performance binary core with the mobile application runtime environment.
Kotlin is a statically typed, general-purpose programming language designed for type safety and concise syntax. It functions as a cross-platform development toolkit that enables the sharing of business logic across mobile, web, and server-side environments by compiling a unified intermediate representation into platform-specific machine code, bytecode, or source code. The project distinguishes itself through a multi-target build orchestration model that manages complex compilation units and hierarchical source sets. Developers can define common interface logic that is satisfied by platform-sp
Parses header files to generate language bindings that enable memory-safe communication between managed code and native libraries.
Julia is a high-performance, dynamic programming language designed for scientific computing, data analysis, and complex mathematical modeling. It provides a specialized runtime environment that manages memory allocation and parallel processing, utilizing a just-in-time compiler to translate high-level source code into optimized machine instructions. This architecture allows the language to achieve execution speeds comparable to statically compiled languages while maintaining the flexibility of a dynamic scripting environment. The language is distinguished by its multiple dispatch system, whic
Enables direct invocation of native libraries by mapping data structures to standard memory layouts.
Zig is a general-purpose systems programming language designed for high-performance applications that require manual memory management and direct control over hardware resources. It prioritizes predictable execution by enforcing explicit control flow and requiring functions to accept explicit memory allocators, ensuring that all heap operations and logic paths remain visible to the developer. The language distinguishes itself through a powerful compile-time metaprogramming engine that allows for arbitrary code execution during the build process, enabling advanced reflection and the generation
Imports header files and links against native libraries to execute external code directly without manual binding generation.
Ray is a distributed computing framework designed to scale Python and Java applications across clusters by abstracting task scheduling and resource management. It functions as a resource-aware execution engine that manages task dependencies, placement, and fault tolerance across networked compute nodes. At its core, the system provides a stateful actor model, allowing developers to define classes that run in dedicated processes to maintain and mutate internal state across remote method calls. The framework distinguishes itself through a robust cross-language interoperability layer, enabling f
A serialization and communication layer that allows functions and objects to be invoked across different programming language runtimes.
FlClash is a cross-platform proxy client designed to manage network traffic through configurable rules and system-level tunnel integration. It functions as a native system orchestrator, coordinating application lifecycle events and background services across desktop and mobile environments. The application utilizes a modular architecture that enables extensibility through local plugins and foreign function interfaces, allowing for direct interaction with native system libraries. It maintains security by isolating restricted administrative tasks within a privileged helper process, which valida
Provides direct integration with native system libraries to execute low-level operations from the high-level runtime.
VeighNa is an event-driven, modular platform designed for the development, backtesting, and execution of automated financial trading strategies. It provides a comprehensive suite of tools that includes a centralized trading terminal for monitoring portfolios and market conditions, alongside a robust algorithmic trading engine that manages real-time data processing and order execution. The platform distinguishes itself through a highly decoupled architecture that isolates algorithmic logic from market connectivity, allowing for independent strategy development and testing. It utilizes a dynami
Wraps low-level C++ trading libraries into Python objects using dynamic linking to enable high-performance execution.
V is a statically typed, compiled programming language designed for high-performance systems development. It prioritizes memory safety and execution speed by enforcing strict type checking and immutable defaults, while generating native machine code for multiple hardware architectures. The language is built around an integrated toolchain that includes a compiler, package manager, formatter, and testing utilities within a single executable, facilitating rapid development cycles. What distinguishes V is its focus on developer productivity and interoperability. It provides a direct interface for
A mechanism for calling existing functions from external libraries directly within the language without requiring complex bindings or heavy runtime overhead.
XGBoost is a distributed machine learning library for implementing scalable gradient boosting decision trees used for regression, classification, and ranking. It functions as a predictive model framework and a cross-language toolkit, providing a core implementation with native bindings for Python, R, Java, Scala, and C++. The system is designed as a GPU-accelerated library that utilizes CUDA and NCCL to speed up the training of decision tree ensembles. It operates as a distributed framework capable of scaling training and prediction across multi-node clusters and GPU environments to process m
Implements a high-performance C++ core with native bindings for Python, R, and Java for cross-language interoperability.