20 repositorios
Structural design patterns and best practices for building maintainable Android applications.
Distinct from Android App Modularization: Shortlist candidates focus on execution and modularization rather than the high-level architectural pattern of the entire app.
Explore 20 awesome GitHub repositories matching mobile development · Android App Architecture Patterns. Refine with filters or upvote what's useful.
LearningNotes es una base de conocimientos técnicos y guía de estudio de ingeniería centrada en los internos del framework de Android, la arquitectura del sistema y la optimización del rendimiento móvil. Sirve como referencia para analizar la secuencia de arranque de Android, el arranque de procesos y la inicialización de servicios del sistema. El proyecto proporciona guías detalladas sobre el rendimiento móvil, incluyendo estrategias para reducir las huellas de memoria, identificar fugas de memoria y optimizar la decodificación de imágenes. Además, cubre la comunicación entre procesos de Android utilizando AIDL y el controlador del kernel Binder, así como manuales de arquitectura de software para desacoplar la lógica de negocio de las interfaces de usuario a través de patrones como MVVM y MVP. Más allá del desarrollo móvil, el repositorio incluye una base de conocimientos de ciencias de la computación para la preparación de entrevistas técnicas, cubriendo estructuras de datos, algoritmos y conceptos de sistemas operativos. También cuenta con una referencia práctica para el control de versiones de Git, detallando la gestión de repositorios, sincronización y flujos de trabajo de ramificación.
Analyzes the application of MVVM and dependency inversion patterns to decouple business logic from the presentation layer.
MVVMHabit is an Android development framework and base library that implements the MVVM architecture using Android Architecture Components. It provides a pre-integrated foundation designed to decouple business logic from user interface rendering and lifecycle management. The project distinguishes itself by bundling a comprehensive set of architectural templates, including a reactive event bus for decoupled component communication, token-based data exchange between logic instances, and a single-activity fragment hosting system to reduce manifest overhead. The framework covers broad capability
Provides a foundation for building maintainable mobile apps using MVVM and Google Architecture Components.
This is an open-source Android application that serves as a reference implementation for modern app architecture. It demonstrates a modular, testable structure built with Kotlin, Coroutines, and Jetpack libraries, organized into independent feature modules that each follow Clean Architecture and the MVVM pattern. The project enforces coding standards through an automated static analysis pipeline that integrates linting, formatting checks, and code quality tools directly into the build process, failing the build on any violations. It uses reusable Gradle convention plugins to standardize build
Demonstrates a modular, testable Android application architecture using modern Jetpack libraries, Clean Architecture, and feature modules.
This is a Go backend template that structures a web service into domain, usecase, controller, and repository layers with strict dependency inversion. It provides a foundation for building maintainable and testable REST APIs by separating business logic from transport and data access concerns. The project implements JWT-based authentication, issuing access and refresh tokens for user signup, login, and protected endpoint access. It uses the Gin HTTP framework to build a Docker-packaged REST API with public and private route groups, request validation, and middleware-based authentication. Depen
Provides structural design patterns and best practices for building maintainable Android applications.
AndroidX is the official collection of Android Jetpack libraries for building Android applications. It provides a suite of backward-compatible APIs that expose modern platform features on older Android versions, ensuring consistent functionality across devices. The project is built around lifecycle-aware component architecture, with tools like ViewModel for preserving UI data across configuration changes, LiveData for lifecycle-aware data observation, and WorkManager for constraint-based background task scheduling. The project distinguishes itself through compile-time code generation and type
Provides opinionated, lifecycle-aware components that reduce boilerplate and make configuration changes easier to handle.
EffectiveAndroidUI es una colección de implementaciones de referencia y proyectos de muestra que demuestran patrones arquitectónicos de UI en Android, estrategias de navegación y técnicas de gestión de recursos. Proporciona ejemplos prácticos de implementación de patrones Model-View-Presenter y Model-View-ViewModel para separar la lógica de negocio de la interfaz de usuario. El proyecto presenta demostraciones de lógica centralizada de transición de pantallas y comunicación entre fragmentos. Incluye ejemplos de gestión de recursos utilizando calificadores personalizados para organizar activos y adaptar diseños según la densidad y el tamaño de la pantalla. El repositorio cubre áreas de capacidad amplias, incluyendo la gestión de dependencias para controlar los tiempos de vida de los objetos, la optimización de diseños para interfaces responsivas y la optimización del rendimiento de listas mediante el reciclaje de vistas para grandes conjuntos de datos.
Demonstrates structural design patterns like MVP and MVVM for building maintainable Android applications.
Este proyecto es una implementación de referencia de la arquitectura Model-View-Presenter para aplicaciones Android. Sirve como un ejemplo estructural de cómo separar la lógica de negocio de la interfaz de usuario a través de un framework basado en presentadores. La implementación se centra en un enfoque de arquitectura limpia (clean architecture), utilizando presentadores para mediar toda la comunicación entre el modelo de datos y la vista. Emplea un patrón de vista pasiva y desacoplamiento basado en interfaces para aislar la interfaz de usuario de las reglas de dominio. La arquitectura incorpora lógica de dominio basada en interactores y separación en capas para reducir el acoplamiento sistémico. Esta estructura permite pruebas unitarias agnósticas a la plataforma, permitiendo verificar la lógica de la aplicación dentro de una máquina virtual Java estándar sin requerir el framework de Android o un dispositivo físico.
Structures the Android application using MVP patterns to ensure maintainability and separation of concerns.
Este proyecto es una colección curada de guías de entrevistas técnicas y materiales de referencia centrados en el desarrollo de Android y la arquitectura de sistemas. Proporciona un conjunto estructurado de preguntas de entrevista diarias y respuestas detalladas diseñadas para ayudar a los ingenieros de software a prepararse para entrevistas de trabajo profesionales. El repositorio incluye guías de estudio específicas para los fundamentos del lenguaje de programación Kotlin y patrones de arquitectura de Android. Estos materiales están organizados en problemas técnicos categorizados y soluciones a través de varios dominios de ciencias de la computación relevantes para la ingeniería móvil. El contenido se entrega a través de archivos formateados en markdown y una estructura de archivos estática, utilizando un flujo de trabajo de control de versiones para proporcionar actualizaciones regulares.
Explains core design patterns and structural best practices for modern Android applications.
Mosby es un framework de capa de presentación para aplicaciones Android diseñado para gestionar el estado de la aplicación y las intenciones del usuario. Funciona como una herramienta arquitectónica que implementa patrones tanto Model-View-Intent (MVI) como Model-View-Presenter (MVP). El framework utiliza un flujo de datos unidireccional para mantener una única fuente de verdad, asegurando que las actualizaciones de estado permanezcan predecibles al procesar intenciones a través de una única ruta lógica. Separa la lógica de negocio de la capa de vista para desacoplar la lógica de presentación de las clases Activity y Fragment de Android. El sistema proporciona capacidades para la gestión de estado y la coordinación de la navegación, sincronizando el estado de la aplicación con las transiciones de pantalla.
Offers structural design patterns for organizing Android applications to separate business logic from the user interface.
Este proyecto proporciona un conjunto de directrices de desarrollo para Android, estándares de arquitectura y una guía de estilo de codificación. Establece reglas uniformes de formateo e implementación para garantizar la consistencia y mantenibilidad del código en aplicaciones construidas sobre la plataforma Android. El proyecto incluye una plantilla de estructura de proyecto estandarizada que define jerarquías de carpetas y disposiciones de archivos consistentes. Estos estándares están diseñados para mantener una experiencia de desarrollo predecible a través de múltiples flujos de trabajo. Las directrices cubren patrones arquitectónicos que incluyen la separación basada en capas de la lógica de negocio y la presentación, el aislamiento de módulos basado en funcionalidades y el flujo de datos unidireccional. También aborda el uso de inyección de dependencias basada en interfaces y una jerarquía de paquetes estandarizada.
Defines architectural design patterns and structural guidelines for building maintainable Android applications.
Este proyecto es una plantilla de aplicación Android de referencia en Kotlin y un conjunto de implementaciones de muestra que demuestran los principios de Clean Architecture. Proporciona un diseño estructural que aísla las reglas de negocio centrales de la interfaz de usuario y las fuentes de datos en módulos distintos y en capas. La implementación se centra en el patrón Model-View-ViewModel (MVVM) para desacoplar la lógica de UI de los modelos de datos. Utiliza un framework de inyección de dependencias para automatizar la creación de objetos y gestionar los ciclos de vida de los componentes, mientras emplea un patrón de repositorio para abstraer las solicitudes de datos a través de fuentes de memoria, disco y nube. La arquitectura incorpora una organización de paquetes basada en características y configuraciones de compilación modulares para mantener la consistencia en todo el proyecto. También incluye una estrategia de pruebas integral que combina pruebas unitarias para la lógica de negocio con instrumentación para la UI y módulos de simulación (mock) para la validación de la capa de datos.
Demonstrates structural design patterns and Clean Architecture principles for building maintainable Android applications.
Este proyecto es una implementación de referencia de la arquitectura Model-View-Presenter (MVP) para aplicaciones Android. Se centra en separar la lógica de negocio de la interfaz de usuario desacoplando la lógica de datos, la presentación de la UI y las capas de vista. La implementación se distingue por la inclusión de un generador de boilerplate que crea automáticamente los archivos de actividad, presentador y vista necesarios para el patrón MVP. Utiliza un framework de inyección de dependencias en tiempo de compilación para gestionar los ciclos de vida de los objetos y un flujo de trabajo de programación reactiva para manejar flujos de datos asíncronos y la propagación de eventos. La arquitectura cubre el almacenamiento de datos local utilizando un mapeador objeto-relacional para bases de datos SQLite y define la comunicación basada en interfaces entre presentadores y actividades para permitir pruebas independientes de la lógica.
Organizes code into separate layers specifically tailored for maintainable Android application development.
Este proyecto es una ruta de aprendizaje estructurada y un roadmap de habilidades diseñado para guiar a los desarrolladores a través del ecosistema Android. Sirve como un currículo de ingeniería móvil y guía de carrera, organizando el conocimiento técnico necesario para construir aplicaciones escalables desde conceptos básicos hasta habilidades profesionales avanzadas. La guía se diferencia al proporcionar un mapa jerárquico del conocimiento requerido, secuenciando temas técnicos en un orden lógico. Incluye una colección curada de recursos de estudio y documentación técnica, junto con herramientas para realizar un seguimiento del progreso de aprendizaje a través del currículo especificado. El roadmap cubre una amplia gama de dominios de desarrollo, incluyendo arquitectura de aplicaciones, diseño de interfaz de usuario y animación, e integración de sistemas para sensores de hardware y operaciones de red. También proporciona orientación sobre almacenamiento de datos, seguridad de dispositivos y el proceso de publicación de aplicaciones en la Play Store.
Covers the study and implementation of scalable architectural patterns specifically for Android applications.
LiveEventBus is an AndroidX communication library that provides a message bus for decoupled data transfer between application components. It utilizes LiveData to implement a lifecycle-aware message bus, ensuring that event subscriptions are automatically managed based on the state of Android components to prevent memory leaks. The library includes an inter-process communication bridge that allows the transfer of serialized data and events between different processes or separate applications. It also features a sticky event dispatcher that retains and immediately delivers the most recent messa
A communication system that automatically manages event subscriptions based on Android component lifecycles.
This project is a clean architecture reference implementation and modular project template for Android development. It provides a structural blueprint designed to isolate business logic from external frameworks and user interfaces. The template emphasizes a modular approach to organize code into independent modules, which is intended to improve build times and long-term project scalability. It demonstrates the application of domain-driven design to keep core business rules and entities independent from the underlying platform. The implementation covers several key architectural patterns, inc
Provides a comprehensive scalable architectural pattern for Android applications with separated layers.
Este repositorio sirve como recurso educativo para implementar patrones de programación asíncrona en aplicaciones Android utilizando Kotlin Coroutines y Flow. Proporciona una colección de ejemplos prácticos y pruebas unitarias diseñadas para demostrar cómo gestionar tareas en segundo plano, solicitudes de red concurrentes y flujos de datos reactivos mientras se mantiene una interfaz de usuario responsiva. El proyecto se centra en la concurrencia estructurada, ofreciendo patrones para organizar tareas en ámbitos jerárquicos que propagan automáticamente las señales de cancelación y ciclo de vida. Enfatiza la integración de redes conscientes del ciclo de vida, asegurando que las operaciones en segundo plano y los flujos reactivos respeten el estado de los componentes de Android para evitar fugas de memoria y bloqueos. La implementación cubre una amplia gama de capacidades para construir sistemas de datos resilientes, incluyendo el uso de operadores funcionales para transformar secuencias de datos y la conversión de flujos fríos en contenedores de estado calientes. También demuestra estrategias para manejar operaciones de red, como la implementación de reintentos con retroceso exponencial, la gestión de tiempos de espera de solicitudes y la utilización de almacenamiento local para el acceso a datos offline-first. El repositorio incluye patrones de prueba especializados para verificar la corrección de la lógica multihilo y el comportamiento asíncrono.
Provides lifecycle-aware components that ensure network requests and data streams respect the Android component state.
Este proyecto sirve como una hoja de ruta educativa integral y un plan de estudios para dominar el desarrollo profesional de aplicaciones Android. Proporciona una ruta de aprendizaje estructurada que guía a los desarrolladores a través de los principios esenciales de diseño de sistemas, patrones arquitectónicos y habilidades técnicas necesarias para construir, probar y desplegar software móvil escalable. El recurso destaca por organizar temas técnicos complejos en una secuencia lógica, cubriendo desde herramientas fundamentales de desarrollo móvil hasta prácticas avanzadas de ingeniería de software. Enfatiza los patrones estándar de la industria para estructurar bases de código mantenibles, asegurando que los estudiantes adquieran competencia en sistemas de compilación, gestión de dependencias e integración de servicios externos. Más allá de la arquitectura central, el plan de estudios aborda aspectos críticos del ecosistema móvil, incluyendo el procesamiento de flujos reactivos, la ejecución asíncrona y la gestión de componentes conscientes del ciclo de vida. También incorpora orientación sobre cómo asegurar los datos de la aplicación, verificar la calidad del software mediante pruebas e implementar interfaces de usuario responsivas. El repositorio funciona como una guía centralizada para los desarrolladores que buscan estandarizar su enfoque de la ingeniería móvil y el despliegue profesional de software.
Provides lifecycle-aware components that automatically manage resource release and task cancellation to prevent memory leaks.
Este proyecto sirve como recurso educativo y guía práctica para desarrolladores que aprenden a construir aplicaciones móviles nativas en la plataforma Android utilizando el lenguaje de programación Kotlin. Proporciona una base de código estructurada que demuestra cómo aplicar la sintaxis moderna del lenguaje y los paradigmas de desarrollo a tareas de software del mundo real. El repositorio se centra en enseñar la arquitectura profesional de aplicaciones móviles mediante la implementación de patrones de diseño estándar de la industria. A través de una serie de ejemplos prácticos, ilustra cómo organizar la lógica de la aplicación, gestionar las dependencias de los componentes y mantener estructuras de código limpias y comprobables dentro del entorno móvil. La base de código cubre conceptos esenciales de ingeniería móvil, incluyendo la gestión de ciclos de vida de componentes, la implementación de flujos de datos reactivos y la construcción de interfaces de usuario a través de la composición declarativa. También destaca el uso de seguridad contra nulos en tiempo de compilación para evitar errores comunes en tiempo de ejecución durante el proceso de desarrollo.
Implements lifecycle-aware components to manage Android system state and prevent memory leaks.
Este repositorio sirve como una colección centralizada de documentación técnica y patrones arquitectónicos para desarrolladores que construyen software móvil en la plataforma Android. Funciona como una guía completa para implementar código Kotlin idiomático y establecer estándares de ingeniería consistentes en proyectos móviles. El proyecto proporciona recursos curados centrados en las mejores prácticas de desarrollo de Android y patrones de programación eficientes. Al enfatizar estructuras de código mantenibles y enfoques arquitectónicos recomendados, ayuda a los equipos a gestionar la complejidad del desarrollo de aplicaciones móviles dentro del ecosistema Android. La documentación está redactada en markdown y organizada a través de una estructura de directorios jerárquica para garantizar la portabilidad y la facilidad de navegación. Estos materiales se alojan como contenido estático, permitiendo a los desarrolladores acceder a orientación controlada por versiones para sus tareas de desarrollo en curso.
Provides structural design patterns and best practices for building maintainable Android applications.
This repository provides a comprehensive collection of functional code samples designed to demonstrate modern development patterns and architectural practices for the Android platform using Kotlin. It serves as a practical guide for implementing standard design patterns that decouple business logic from user interface components, ensuring that applications remain maintainable and testable. The project distinguishes itself by offering isolated, hands-on implementations of complex mobile programming tasks. It covers a wide range of capabilities, including asynchronous networking, local database
Demonstrates standard architectural design patterns to decouple business logic from user interface components in Android applications.