16 dépôts
Unified interfaces that map to different concrete implementations based on the target platform.
Distinct from Polymorphism Patterns: Focuses on cross-platform API abstraction rather than general polymorphism patterns.
Explore 16 awesome GitHub repositories matching software engineering & architecture · Platform-Specific API Implementations. Refine with filters or upvote what's useful.
This project is a collection of official plugin packages and a native integration library designed to provide a consistent interface for accessing hardware and software functionality across different mobile and desktop platforms. It serves as a native platform bridge, enabling cross-platform applications to invoke native code and manage operating system dependencies. The project utilizes a federated plugin architecture, splitting plugins into common interfaces and separate platform implementations to allow for independent development and extension. It further supports native integration throu
Provides unified interfaces that map to concrete native implementations across different operating systems.
Chameleon is a cross-platform application framework and component library used to develop applications for the web and various mini-app platforms from a single shared codebase. It functions as a multi-platform build pipeline that compiles source code into different target formats while providing an MVVM-based user interface system for managing application state. The framework employs a polymorphic protocol to extend custom components and APIs, allowing for platform-specific implementations while maintaining cross-end compatibility. It includes a specialized build tool for static analysis that
Employs a polymorphic protocol to map unified component and API interfaces to platform-specific implementations.
react-native-image-picker is a cross-platform mobile media picker used to select images and videos from a system gallery or capture new media via the device camera. It serves as a native device camera interface and a mobile gallery file picker for accessing local storage. The library includes a media metadata extractor to retrieve technical details from selected files, such as image dimensions, file size, video duration, and EXIF data. The project provides a bridge between JavaScript and native mobile operating systems to trigger system-provided gallery and camera interfaces. It handles the
Maintains platform-specific implementations for Android and iOS that map to a unified JavaScript interface.
real-url is a multi-platform stream resolver and data extraction tool. It functions as a live streaming URL extractor that retrieves direct HLS and m3u8 stream addresses and a live chat data scraper for fetching real-time bullet-chat messages and metadata from various broadcasting platforms. The project converts platform-specific room identifiers into authenticated media playback links across dozens of services. It includes an HLS stream link parser capable of extracting secure media addresses and the signature tokens required for high-bitrate playback. The system manages stream quality by s
Implements unique extraction routines for different streaming services to handle varying API responses and formats.
isomorphic-fetch is a cross-runtime fetch API and isomorphic HTTP client that provides a standardized request interface across different JavaScript environments. It functions as a WHATWG fetch polyfill, ensuring that network request logic behaves identically in both web browsers and Node.js. The project enables universal JavaScript development by allowing a single codebase to perform HTTP requests without environment-specific code. It integrates the fetch interface into Node.js and supports application bundling for the browser.
Implements a unified interface that maps to platform-specific implementations to ensure WHATWG specification compliance.
This project is a technical breakdown and implementation of a user interface framework's internal architecture, focusing specifically on the mechanics of the virtual DOM, reconciliation, and component lifecycles. It serves as a resource for understanding how a core logic layer manages the transition from high-level component descriptions to physical browser elements. The project distinguishes itself by providing detailed visualizations, including flowcharts and block schemes, to map the reconciliation process and code execution paths. It explores how a platform-agnostic core can be adapted fo
Uses platform-specific injectors to map unified core logic to concrete environment implementations.
This is a cross-platform mobile device information library for iOS and Android applications. It provides utilities to retrieve hardware specifications, operating system details, and unique device identifiers. The project specializes in unique device identification by providing hardware, software, and installation IDs, serial numbers, and build fingerprints. It also includes environment detection to distinguish between physical devices, emulators, and tablets. The library covers a broad range of system introspection capabilities, including application metadata retrieval, hardware specificatio
Executes distinct source code paths for iOS and Android to access proprietary system APIs and identifiers.
This project is a cross-platform mobile device information library designed to retrieve hardware, software, and network specifications from iOS and Android devices. It serves as a tool for accessing unique device identifiers, hardware models, and processor architectures to distinguish individual mobile devices. The library provides specialized capabilities for mobile hardware identification and operating system metadata retrieval, including build numbers and API levels. It also functions as a system state monitor for real-time tracking of battery levels, charging status, and network connectiv
Implements unified interfaces that map to platform-specific Java and Objective-C code for accessing device details.
The Rust RFCs repository is the formal home for the Rust language evolution process, housing the structured design documents and community review mechanisms that govern changes to the Rust programming language, its compiler, and its standard library. It defines the complete lifecycle for proposing, discussing, and implementing substantial changes through RFC documents, from initial submission and community feedback through final comment periods and sub-team sign-offs. The repository codifies the governance and collaboration processes that shape Rust's development, including mechanisms for com
Documents the platform-specific symlink creation API in Rust's standard library.
react-native-image-crop-picker is a cross-platform mobile image picker for selecting, cropping, and capturing images and videos from a device gallery or camera. It serves as a bridge to access the mobile camera and photo library to upload media files into an application. The library provides integrated tools for media cropping and compression, allowing images to be resized to specific dimensions or aspect ratios. It supports a unified workflow where images can be cropped immediately during the selection process. Capability areas include camera media capture, gallery media selection for singl
Implements separate native logic in Swift, Objective-C, Java, and Kotlin to handle OS-specific media workflows.
SAMKeychain est un gestionnaire de trousseau Objective-C fournissant une interface programmatique pour créer, lire et supprimer des identifiants sécurisés stockés dans le trousseau système macOS et iOS. Il sert de wrapper léger pour gérer les mots de passe et les données sensibles sur les plateformes Apple. Le projet fournit une API unifiée qui abstrait les différences d'implémentation entre macOS et iOS. Il enveloppe les API C de bas niveau dans des classes Objective-C pour fournir une interface orientée objet pour interagir avec le démon de sécurité système. La bibliothèque couvre le stockage sécurisé des identifiants et le contrôle d'accès, incluant la capacité de stocker, récupérer et supprimer des mots de passe de compte et des jetons d'authentification dans un stockage persistant chiffré.
Provides a unified API that abstracts the implementation differences between macOS and iOS keychain services.
sskeychain est une bibliothèque Objective-C qui fournit une interface de programmation simplifiée pour gérer la persistance de données sécurisées sur iOS et macOS. Elle sert de wrapper orienté objet pour le framework Apple Security, permettant le stockage et la récupération de mots de passe et d'identifiants de compte. La bibliothèque gère la traduction entre les API système de bas niveau et les interfaces objet de haut niveau pour gérer les informations sensibles. Elle inclut des mécanismes pour définir les niveaux d'accessibilité des éléments du trousseau afin de contrôler quand les données stockées sont disponibles pour une application. Le projet fournit une interface partagée pour gérer le stockage d'identifiants chiffrés à travers les plateformes Apple mobiles et desktop. Cela inclut le support d'une logique de requête basée sur les attributs pour filtrer et récupérer des éléments spécifiques du magasin de données système.
Provides a unified interface that maps to different keychain implementation details across iOS and macOS.
react-native-permissions est une bibliothèque de permissions multiplateforme qui fournit une interface unifiée pour demander et vérifier les permissions système sur iOS, Android et Windows. Elle fonctionne comme un gestionnaire d'état des permissions et un auditeur de capacités de l'appareil pour déterminer si l'accès à des données sensibles ou au matériel est accordé, refusé ou bloqué. Le projet inclut un contrôleur d'accès aux médias pour gérer l'accès limité aux photos et aux contacts via les sélecteurs natifs du système. Il dispose également d'un intégrateur de paramètres système qui dirige les utilisateurs vers les pages de paramètres de l'appareil pour basculer manuellement les permissions des applications et des notifications. La bibliothèque couvre une large gamme de capacités de contrôle d'accès, y compris la vérification de la précision de la localisation, la gestion des permissions de notification et la possibilité de demander des permissions aux utilisateurs avec des justifications. Sur Android, elle fournit spécifiquement des utilitaires pour auditer les capacités système telles que les alarmes exactes et les intents plein écran.
Provides a unified interface that maps to platform-specific native implementations on iOS, Android, and Windows.
react-native-blur provides cross-platform UI components for rendering native blur and vibrancy effects in mobile applications. It functions as a native-backed UI element that creates visual hierarchy and depth through blurred overlays and enhanced content contrast. The project includes an accessibility-aware component that automatically detects system preferences for reduced transparency and provides solid fallback colors. It utilizes native rendering to apply background blur and vibrancy layers, improving the legibility of foreground content. These components encapsulate platform-specific r
Wraps distinct mobile operating system rendering calls into a single unified interface for cross-platform consistency.
systray is a Go library used to create and manage icons and menus within the operating system notification area. It functions as a cross-platform GUI library that provides a persistent application entry point and a notification area menu manager. The library enables the creation of hierarchical menus and custom tray icons across different desktop operating systems. It supports the use of nested submenus and allows for the styling of individual menu entries with custom images. The toolset covers a range of interaction capabilities, including the management of menu item states through checked
Provides a unified interface that maps to different concrete native implementations for Windows, macOS, and Linux.
This project is a declarative user interface framework designed for building shared applications across mobile, desktop, and web environments. It utilizes a unified codebase to define application layouts and state management, enabling developers to target multiple operating systems through a single development workflow. The framework leverages a cross-platform graphics engine to render visual elements consistently across different platforms. It incorporates a platform-specific interop layer that allows shared code to access native hardware features and system application programming interface
Provides a bridge for shared code to invoke native platform APIs and hardware features through defined interfaces.