# wequick/small

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/wequick-small).**

5,024 stars · 1,099 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/wequick/Small
- Homepage: http://code.wequick.net/Small
- awesome-repositories: https://awesome-repositories.com/repository/wequick-small.md

## Description

Small is a cross-platform plugin framework and modularization tool designed to break monolithic mobile applications into independent components. It provides a modular mobile architecture that allows developers to split applications into decoupled plugins to reduce system complexity and memory usage across multiple operating systems.

The framework includes a dynamic module loader for on-demand feature loading to improve startup times and a dependency injection service registry that connects feature modules to a central core for service discovery.

The system provides a platform abstraction layer and a component bridge to manage shared logic and user interface elements consistently across different mobile platforms. It further supports decoupled communication through an event bus messaging system and a plugin-based architecture.

## Tags

### Software Engineering & Architecture

- [Plugin-Based Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures.md) — Implements a plugin-based architecture allowing mobile applications to be split into independent, dynamically loadable modules.
- [Cross-Platform Abstraction Layers](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-abstraction-layers.md) — Provides a platform abstraction layer that hides OS differences behind a unified internal API.
- [Dynamic Module Loaders](https://awesome-repositories.com/f/software-engineering-architecture/dynamic-module-loaders.md) — Provides a mechanism for discovering and importing code modules at runtime to improve resource management.
- [Module-Based Registries](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/dependency-injection/module-based-registries.md) — Uses a registry-based dependency injection system to wire separate feature modules to a central core.
- [Mobile App Architectures](https://awesome-repositories.com/f/software-engineering-architecture/mobile-app-architectures.md) — Implements a design pattern for organizing mobile apps into decoupled plugins instead of a monolithic codebase.
- [Event Bus Architectures](https://awesome-repositories.com/f/software-engineering-architecture/event-bus-architectures.md) — Ships an event-bus messaging system for decoupled, asynchronous data exchange between independent components.
- [Inter-Module Communication](https://awesome-repositories.com/f/software-engineering-architecture/inter-module-communication.md) — Implements mechanisms for exchanging data between isolated feature modules using an asynchronous messaging system.

### Development Tools & Productivity

- [Dynamic Module Loading](https://awesome-repositories.com/f/development-tools-productivity/dynamic-module-loading.md) — Includes a dynamic module loader that loads application features on demand to optimize startup time and memory.
- [Service Dependency Wiring](https://awesome-repositories.com/f/development-tools-productivity/service-dependency-wiring.md) — Provides a service registry to connect separate feature modules to the application core for service discovery.
- [Multi-OS](https://awesome-repositories.com/f/development-tools-productivity/plugin-systems/multi-os.md) — Provides a system for developing shared logic and features that can be plugged into multiple mobile OS environments.

### Mobile Development

- [Application Modularization Frameworks](https://awesome-repositories.com/f/mobile-development/application-modularization-frameworks.md) — Provides a framework for breaking monolithic mobile apps into small decoupled plugins to reduce memory usage.
- [Cross-Platform Application Development](https://awesome-repositories.com/f/mobile-development/cross-platform-application-development.md) — Enables the development of modular applications that run consistently across multiple mobile operating systems.
- [Cross-Platform Frameworks](https://awesome-repositories.com/f/mobile-development/cross-platform-frameworks.md) — Provides a cross-platform plugin framework for splitting mobile apps into independent, maintainable components.
- [Mobile Application Architectures](https://awesome-repositories.com/f/mobile-development/mobile-application-state-management/mobile-application-architectures.md) — Provides a structural pattern for separating functional modules in mobile apps to reduce system complexity.
- [Modularization Tools](https://awesome-repositories.com/f/mobile-development/mobile-application-state-management/mobile-application-architectures/modularization-tools.md) — Provides tools to break monolithic mobile applications into independent components to reduce complexity. ([source](https://github.com/wequick/small#readme))

### User Interface & Experience

- [Cross-Platform Component Renderers](https://awesome-repositories.com/f/user-interface-experience/component-transitions/react-libraries/cross-platform-ui-libraries/cross-platform-component-renderers.md) — Provides a system to translate high-level component definitions into native UI elements across mobile platforms.
- [Cross-Platform UI Component Libraries](https://awesome-repositories.com/f/user-interface-experience/component-transitions/react-libraries/cross-platform-ui-libraries/cross-platform-ui-component-libraries.md) — Manages a shared set of UI components and logic that render consistently across different mobile platforms.

### Part of an Awesome List

- [Development Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/development-frameworks.md) — A framework for modularizing large applications.
