36 रिपॉजिटरी
Architectural patterns for defining common logic that is shared across different platform-specific implementations.
Explore 36 awesome GitHub repositories matching software engineering & architecture · Multiplatform Code Sharing. Refine with filters or upvote what's useful.
This project is a cross-platform mobile framework that enables the development of native iOS and Android applications from a single codebase. It utilizes a declarative component-based model where developers define user interfaces using a syntax extension that maps directly to underlying platform-native view primitives. By decoupling application logic from the host platform's main thread, the framework maintains a consistent native view hierarchy while ensuring that JavaScript execution remains independent of UI rendering. The framework distinguishes itself through a robust bridge architecture
Utilizes platform-specific file extensions to share logic across native environments while maintaining distinct implementations where necessary.
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
Facilitates architectural patterns that allow common business logic to run seamlessly alongside unique, platform-specific implementations.
React-Native-Elements is a cross-platform mobile UI toolkit and component library designed for the React Native framework. It provides a system of pre-styled visual components to build consistent user interfaces across mobile and web platforms using a single shared codebase. The framework enables the development of applications that run across different operating systems and web browsers while maintaining a unified look and feel. It supports rapid UI prototyping and application design by providing reusable building blocks that reduce the need to create every custom component from scratch.
Enables a single unified codebase to be shared across mobile apps and web browsers.
ILSpy is a .NET decompiler and binary analyzer designed to convert compiled .NET assemblies back into readable C# source code. It functions as a metadata explorer and a common intermediate language viewer, enabling the analysis of compiled code and the execution of reverse engineering workflows. The project distinguishes itself through specialized translation capabilities, such as converting compiled binary XML (BAML) back into human-readable XAML for user interface analysis. It also provides tools for inspecting native machine code and extracting metadata from program database (PDB) files.
Recursively loads assembly dependencies discovered within the embedded resource streams of a binary.
This is a Kotlin Multiplatform UI framework for building consistent user interfaces across desktop, web, and mobile platforms using a single codebase. It functions as a declarative framework that enables the creation of shared UI components that run across multiple target environments. The project includes a cross-platform desktop toolkit for managing native window features, system notifications, and hardware acceleration. For web targets, it provides a declarative interface library and a rendering engine that executes via WebAssembly to achieve high-performance execution in browsers. The fr
Implements a shared UI framework enabling consistent rendering across multiple operating systems from a single codebase.
Compose Multiplatform is a declarative user interface framework that enables the development of native graphical interfaces across desktop, mobile, and web platforms using a single Kotlin codebase. It functions as a multiplatform library that allows developers to share both application logic and UI components while maintaining access to platform-specific features through abstraction layers. The framework utilizes a reactive state management system that automatically tracks data mutations to trigger granular interface updates. By employing a cross-platform rendering engine based on a hardware-
Shares application logic and UI components across operating systems while maintaining platform-specific API access.
This project is an open-source Flutter GitHub client and cross-platform mobile application. It serves as a GitHub GraphQL client and OAuth mobile app, providing a mobile interface for browsing repositories, issues, and user profiles. It is also designed as an open-source architecture reference to demonstrate Flutter best practices, state management, and multi-language localization. The application distinguishes itself by using GraphQL queries to retrieve nested repository and user information, reducing network requests and over-fetching. It utilizes a shared Dart codebase to provide a consist
Shares core business logic and UI components across multiple platforms via a unified Dart codebase.
Scala is a statically typed programming language and compiler that combines object-oriented and functional programming paradigms. It serves as a cross-platform runtime language capable of targeting the Java Virtual Machine and JavaScript to share logic between backend servers and web frontends. The project provides a functional programming framework with immutable data structures and higher-order functions to build reliable concurrent and distributed applications. It distinguishes itself through deep interoperability with Java and JavaScript ecosystems and the ability to transform code into n
Employs multiplatform code sharing patterns to run common data models and logic on both frontend and backend.
Mitosis is a cross-framework compiler that transforms a single JSX-based source into native components for multiple frontend libraries simultaneously. It functions as a multi-target UI library builder, allowing developers to maintain a single source of truth for design systems while generating production-ready code for diverse environments including React, Vue, Angular, and Svelte. The system operates by parsing unified component code into an intermediate JSON representation, which serves as the foundation for all downstream framework generators. This architecture utilizes a visitor-based tra
Maintains a single source of truth for design systems while outputting production-ready code for diverse frontend environments.
GopherJS is a cross-compiler toolchain that converts Go source code into JavaScript. It functions as a transpiler, enabling the execution of statically typed Go code within web browsers and other standard JavaScript runtime environments. The project provides a comprehensive implementation of the Go standard library, replacing system-level calls with browser-compatible APIs to maintain language semantics. It maps Go's memory allocation patterns and type definitions onto the host JavaScript engine, while utilizing source map generation to allow for debugging using original Go source files. By
Enables the reuse of Go business logic and data structures across both server-side and client-side environments.
This is a Dart state management library and architectural framework that decouples business logic from the user interface by transforming a stream of events into a stream of states. It implements a business logic component pattern to ensure that state transitions are predictable and testable. The project distinguishes itself through advanced event stream processing, providing concurrency strategies to drop, restart, or queue incoming events. It includes a dedicated state persistence layer for saving and restoring application state to maintain session continuity, as well as tools for state his
Implements business logic in a platform-agnostic way to reuse the same state management code across interfaces.
InversifyJS is an inversion of control framework and dependency injection library for TypeScript. It provides a centralized container to manage object lifecycles and automate the instantiation of classes and their dependencies. The library decouples software components by mapping unique identifiers to concrete implementations. This architecture separates object creation from business logic and allows for the replacement of real service implementations with mock objects during unit testing. The framework utilizes TypeScript decorators to provide metadata-driven injection and recursive depende
A dependency injection container for TypeScript applications that decouples components by mapping identifiers to concrete implementations.
Coil is an image loading and caching pipeline designed for Android and Compose Multiplatform applications. It functions as a comprehensive loader, caching engine, and rendering utility that asynchronously fetches and displays images from network URLs, local storage, and multiplatform resource systems. The library distinguishes itself through a flexible fetcher-decoder pipeline and an interface-driven component registry, allowing for the integration of custom networking clients and decoders. It provides specialized support for rendering scalable vector graphics, animated formats such as GIF an
Loads and renders images asynchronously within Compose Multiplatform apps while managing layout constraints.
Devhub is a cross-platform developer tool and event aggregator designed to monitor GitHub activities. It provides a unified interface for tracking issues, notifications, and user actions across multiple repositories, consolidating these updates into a single view to reduce notification clutter. The application utilizes a multi-column dashboard for organizing data streams via customizable filters and saved searches. This interface allows for the management of review queues, the monitoring of specific user actions, and the display of notification context without requiring navigation to the sour
Employs a shared logic layer to maintain a single codebase across web, mobile, and desktop environments.
Koin is a dependency injection framework for Kotlin applications that manages object lifetimes and resolves dependencies through a lightweight container. It functions as a multiplatform library, allowing shared object definitions and resource bindings to be reused across different target platforms and source sets. The framework provides a system for resolving dependencies directly within user interface components to decouple business logic from view implementations. It includes a compile-time dependency validator that analyzes dependency graphs during the build process to detect missing bindi
Allows sharing dependency definitions across different target platforms via a unified registry.
Blazor is a .NET framework for building interactive web user interfaces using C# instead of JavaScript. It provides a component-based UI composition model where reusable, self-contained UI elements are built with C# logic and Razor markup, supporting nesting, parameters, and lifecycle events. The framework offers two primary rendering models: a client-side runtime that compiles C# to WebAssembly and executes directly in the browser, and a server-side model that renders UI on the server and sends incremental DOM updates over a persistent SignalR connection. A central capability of Blazor is it
Shares C# code and UI components across web, desktop, and mobile platforms using a common library standard.
Oatpp is a high-performance C++ web framework and API development kit used for building REST APIs and web services. It functions as an asynchronous HTTP server that utilizes coroutines to handle thousands of simultaneous connections without blocking threads. The toolkit includes a native C++ object-relational mapping layer for executing SQL queries and transforming database results into data objects. It also provides a WebSocket communication library for establishing full-duplex channels to support real-time data streaming and live media. The framework covers a broad range of capabilities, i
Includes a dependency injection container to manage shared components and decouple configuration from business logic.
This project is a mobile ecosystem curriculum providing structured learning paths for Android development, Kotlin Multiplatform, and programming language internals. It serves as a comprehensive guide to the technologies and concepts required to build native applications and shared business logic across multiple environments. The repository includes a dedicated interview preparation guide featuring professional technical questions and architecture tips for developers pursuing Android engineering roles. It also provides specific roadmaps for mastering the Kotlin Multiplatform ecosystem and anal
Guides users in building shared business logic across multiple platforms using a unified codebase.
Tivi is a cross-platform application for discovering and tracking television shows, built with Kotlin Multiplatform and Compose Multiplatform to share its user interface across Android, iOS, and desktop platforms. The app follows the Model-View-Intent (MVI) architecture pattern, where user actions are modelled as sealed class intents that reduce into a single immutable state object, ensuring predictable and unidirectional data flow managed through Kotlin coroutines and StateFlow. The application uses Hilt for compile-time dependency injection and SQLDelight for type-safe local data storage, c
Builds its user interface using Compose Multiplatform to share UI code across platforms.
Resolves third-party libraries from JitPack, Maven Central, and Google repositories for build reproducibility.