20 repository-uri
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 este o bază de cunoștințe tehnice și un ghid de studiu de inginerie axat pe internele framework-ului Android, arhitectura sistemului și optimizarea performanței mobile. Servește drept referință pentru analizarea secvenței de boot Android, bootstrapping-ul proceselor și inițializarea serviciilor de sistem. Proiectul oferă ghiduri detaliate despre performanța mobilă, inclusiv strategii pentru reducerea amprentei de memorie, identificarea scurgerilor de memorie și optimizarea decodării imaginilor. Acoperă, de asemenea, comunicarea inter-proces Android folosind AIDL și driverul de kernel Binder, precum și manuale de arhitectură software pentru decuplarea logicii de business de interfețele utilizator prin tipare precum MVVM și MVP. Dincolo de dezvoltarea mobilă, repository-ul include o bază de cunoștințe de informatică pentru pregătirea interviurilor tehnice, acoperind structuri de date, algoritmi și concepte de sistem de operare. De asemenea, dispune de o referință practică pentru controlul versiunilor Git, detaliind gestionarea repository-ului, sincronizarea și fluxurile de lucru de branching.
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 este o colecție de implementări de referință și proiecte eșantion care demonstrează modele arhitecturale UI pentru Android, strategii de navigare și tehnici de gestionare a resurselor. Oferă exemple practice de implementare a modelelor Model-View-Presenter și Model-View-ViewModel pentru a separa logica de business de interfața utilizator. Proiectul prezintă demonstrații ale logicii centralizate de tranziție între ecrane și comunicarea între fragmente. Include exemple de gestionare a resurselor folosind calificatori personalizați pentru a organiza activele și a adapta layout-urile în funcție de densitatea și dimensiunea ecranului. Repository-ul acoperă domenii largi de capabilități, inclusiv gestionarea dependențelor pentru a controla durata de viață a obiectelor, optimizarea layout-ului pentru interfețe responsive și optimizarea performanței listelor folosind view recycling pentru seturi mari de date.
Demonstrates structural design patterns like MVP and MVVM for building maintainable Android applications.
Acest proiect este o implementare de referință a arhitecturii Model-View-Presenter pentru aplicații Android. Servește drept exemplu structural despre cum să separi logica de business de interfața utilizator printr-un framework bazat pe presenter. Implementarea se concentrează pe o abordare de arhitectură curată (clean architecture), utilizând presenter-e pentru a media toată comunicarea dintre modelul de date și view. Utilizează un tipar de view pasiv și decuplarea bazată pe interfețe pentru a izola interfața utilizator de regulile de domeniu. Arhitectura încorporează logica de domeniu bazată pe interactori și separarea pe straturi pentru a reduce cuplarea sistemică. Această structură permite testarea unitară agnostică față de platformă, permițând verificarea logicii aplicației într-o mașină virtuală Java standard fără a necesita framework-ul Android sau un dispozitiv fizic.
Structures the Android application using MVP patterns to ensure maintainability and separation of concerns.
Acest proiect este o colecție curatoriată de ghiduri de interviu tehnic și materiale de referință axate pe dezvoltarea Android și arhitectura sistemelor. Oferă un set structurat de întrebări zilnice de interviu și răspunsuri detaliate concepute pentru a ajuta inginerii software să se pregătească pentru interviurile de angajare profesionale. Depozitul include ghiduri de studiu specifice pentru fundamentele limbajului de programare Kotlin și tiparele de arhitectură Android. Aceste materiale sunt organizate în probleme tehnice și soluții categorisite în diverse domenii ale informaticii relevante pentru ingineria mobilă. Conținutul este livrat prin fișiere formatate markdown și o structură de fișiere statică, utilizând un flux de lucru de control al versiunilor pentru a oferi actualizări regulate.
Explains core design patterns and structural best practices for modern Android applications.
Mosby este un framework de strat de prezentare pentru aplicații Android, conceput pentru a gestiona starea aplicației și intențiile utilizatorului. Acesta funcționează ca un instrument arhitectural care implementează atât tiparele Model-View-Intent (MVI), cât și Model-View-Presenter (MVP). Framework-ul utilizează un flux de date unidirecțional pentru a menține o singură sursă de adevăr, asigurând că actualizările de stare rămân predictibile prin procesarea intențiilor printr-o singură cale logică. Acesta separă logica de business de stratul de vizualizare pentru a decupla logica de prezentare de clasele Android Activity și Fragment. Sistemul oferă capabilități pentru gestionarea stării și coordonarea navigării, sincronizând starea aplicației cu tranzițiile ecranelor.
Offers structural design patterns for organizing Android applications to separate business logic from the user interface.
Acest proiect oferă un set de ghiduri de dezvoltare Android, standarde de arhitectură și un ghid de stil de codare. Stabilește reguli uniforme de formatare și implementare pentru a asigura consistența și mentenabilitatea codului pentru aplicațiile construite pe platforma Android. Proiectul include un șablon de structură de proiect standardizat care definește ierarhii de foldere și layout-uri de fișiere consistente. Aceste standarde sunt concepute pentru a menține o experiență de dezvoltare previzibilă în mai multe fluxuri de lucru. Ghidurile acoperă tipare arhitecturale, inclusiv separarea pe straturi a logicii de business și a prezentării, izolarea modulelor bazată pe funcționalități și fluxul de date unidirecțional. De asemenea, abordează utilizarea injecției de dependențe bazată pe interfețe și o ierarhie de pachete standardizată.
Defines architectural design patterns and structural guidelines for building maintainable Android applications.
Acest proiect este un șablon de referință pentru o aplicație Android în Kotlin și un set de implementări demonstrative ale principiilor Clean Architecture. Oferă un design structural care izolează regulile de business de bază de interfața utilizator și sursele de date în module distincte, stratificate. Implementarea se concentrează pe pattern-ul Model-View-ViewModel (MVVM) pentru a decupla logica UI de modelele de date. Utilizează un framework de dependency injection pentru a automatiza crearea obiectelor și a gestiona ciclurile de viață ale componentelor, folosind în același timp un pattern de tip repository pentru a abstractiza cererile de date din memorie, disc și surse cloud. Arhitectura încorporează organizarea pachetelor bazată pe funcționalități și configurații de build modulare pentru a menține consistența în cadrul proiectului. Include, de asemenea, o strategie de testare cuprinzătoare care combină teste unitare pentru logica de business cu instrumentare pentru UI și module mock pentru validarea stratului de date.
Demonstrates structural design patterns and Clean Architecture principles for building maintainable Android applications.
Acest proiect este o implementare de referință a arhitecturii Model-View-Presenter (MVP) pentru aplicații Android. Se concentrează pe separarea logicii de business de interfața utilizator prin decuplarea logicii de date, a prezentării UI și a straturilor de view. Implementarea se distinge prin includerea unui generator de boilerplate care creează automat fișierele activity, presenter și view necesare pentru pattern-ul MVP. Utilizează un framework de dependency injection la compile-time pentru a gestiona durata de viață a obiectelor și un flux de lucru de programare reactivă pentru a gestiona fluxurile de date asincrone și propagarea evenimentelor. Arhitectura acoperă stocarea locală a datelor folosind un ORM (object-relational mapper) pentru baze de date SQLite și definește comunicarea bazată pe interfețe între presentere și activități pentru a permite testarea independentă a logicii.
Organizes code into separate layers specifically tailored for maintainable Android application development.
Acest proiect este o cale de învățare structurată și o foaie de parcurs a competențelor concepută pentru a ghida dezvoltatorii prin ecosistemul Android. Acesta servește drept curriculum de inginerie mobilă și ghid de carieră, organizând cunoștințele tehnice necesare pentru a construi aplicații scalabile, de la concepte de bază la competențe profesionale avansate. Ghidul se diferențiază prin oferirea unei hărți ierarhice a cunoștințelor necesare, secvențiind subiectele tehnice într-o ordine logică. Include o colecție curată de resurse de studiu și documentație tehnică, împreună cu instrumente pentru a urmări progresul învățării prin curriculum-ul specificat. Foaia de parcurs acoperă o gamă largă de domenii de dezvoltare, inclusiv arhitectura aplicațiilor, designul interfeței utilizator și animația, precum și integrarea sistemului pentru senzori hardware și operațiuni de rețea. De asemenea, oferă îndrumări privind stocarea datelor, securitatea dispozitivelor și procesul de publicare a aplicațiilor în Play Store.
Covers the study and implementation of scalable architectural patterns specifically for Android applications.
LiveEventBus este o bibliotecă de comunicare AndroidX care oferă un message bus pentru transferul decuplat de date între componentele aplicației. Utilizează LiveData pentru a implementa un message bus conștient de ciclul de viață, asigurându-se că abonamentele la evenimente sunt gestionate automat pe baza stării componentelor Android pentru a preveni scurgerile de memorie. Biblioteca include o punte de comunicare inter-proces care permite transferul de date serializate și evenimente între diferite procese sau aplicații separate. De asemenea, dispune de un dispatcher de evenimente sticky care reține și livrează imediat cel mai recent mesaj noilor abonați la înregistrare. Framework-ul acoperă rutarea mesajelor interne și inter-proces, programarea mesajelor întârziate și serializarea datelor. Oferă, de asemenea, utilitare pentru inspecția stării message bus-ului, pentru a monitoriza observatorii activi și receiverele înregistrate.
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.
Acest repository servește drept resursă educațională pentru implementarea modelelor de programare asincronă în aplicațiile Android folosind Kotlin Coroutines și Flow. Oferă o colecție de exemple practice și teste unitare concepute pentru a demonstra cum să gestionezi sarcinile de fundal, cererile de rețea concurente și fluxurile de date reactive, menținând în același timp o interfață utilizator responsivă. Proiectul se concentrează pe concurența structurată, oferind modele pentru organizarea sarcinilor în scope-uri ierarhice care propagă automat semnalele de anulare și ciclul de viață. Pune accent pe integrarea networking-ului conștient de ciclul de viață, asigurându-se că operațiunile de fundal și fluxurile reactive respectă starea componentelor Android pentru a preveni memory leak-urile și crash-urile. Implementarea acoperă o gamă largă de capabilități pentru construirea de sisteme de date reziliente, inclusiv utilizarea operatorilor funcționali pentru a transforma secvențele de date și conversia fluxurilor reci (cold streams) în containere de stare fierbinți (hot state containers). De asemenea, demonstrează strategii pentru gestionarea operațiunilor de rețea, cum ar fi implementarea reîncercărilor cu backoff exponențial, gestionarea timeout-urilor cererilor și utilizarea stocării locale pentru accesul la date offline-first. Repository-ul include modele de testare specializate pentru a verifica corectitudinea logicii multi-threaded și a comportamentului asincron.
Provides lifecycle-aware components that ensure network requests and data streams respect the Android component state.
Acest proiect servește drept roadmap educațional cuprinzător și curriculum pentru stăpânirea dezvoltării profesionale de aplicații Android. Oferă o cale de învățare structurată care ghidează dezvoltatorii prin principiile esențiale de design de sistem, modelele arhitecturale și abilitățile tehnice necesare pentru a construi, testa și lansa software mobil scalabil. Resursa se distinge prin organizarea subiectelor tehnice complexe într-o secvență logică, acoperind totul, de la instrumentele fundamentale de dezvoltare mobilă până la practicile avansate de inginerie software. Pune accent pe modelele standard din industrie pentru structurarea codebase-urilor mentenabile, asigurându-se că cursanții dobândesc competențe în sistemele de build, gestionarea dependențelor și integrarea serviciilor externe. Dincolo de arhitectura de bază, curriculum-ul abordează aspecte critice ale ecosistemului mobil, inclusiv procesarea fluxurilor reactive, execuția asincronă și gestionarea componentelor conștiente de ciclul de viață. De asemenea, încorporează îndrumări privind securizarea datelor aplicației, verificarea calității software-ului prin testare și implementarea interfețelor utilizator responsive. Repository-ul funcționează ca un ghid centralizat pentru dezvoltatorii care caută să își standardizeze abordarea față de ingineria mobilă și deployment-ul profesional de software.
Provides lifecycle-aware components that automatically manage resource release and task cancellation to prevent memory leaks.
Acest proiect servește drept resursă educațională și ghid practic pentru dezvoltatorii care învață să construiască aplicații mobile native pe platforma Android folosind limbajul de programare Kotlin. Oferă un codebase structurat care demonstrează cum să aplici sintaxa modernă a limbajului și paradigmele de dezvoltare la sarcini software din lumea reală. Repository-ul se concentrează pe predarea arhitecturii profesionale a aplicațiilor mobile prin implementarea modelelor de design standard din industrie. Printr-o serie de exemple practice, ilustrează cum să organizezi logica aplicației, să gestionezi dependențele componentelor și să menții structuri de cod curate și testabile în mediul mobil. Codebase-ul acoperă concepte esențiale de inginerie mobilă, inclusiv gestionarea ciclurilor de viață ale componentelor, implementarea fluxurilor de date reactive și construcția interfețelor utilizator prin compoziție declarativă. De asemenea, evidențiază utilizarea siguranței la nulitate (null safety) la momentul compilării pentru a preveni erorile comune de runtime în timpul procesului de dezvoltare.
Implements lifecycle-aware components to manage Android system state and prevent memory leaks.
Acest repository servește drept colecție centralizată de documentație tehnică și modele arhitecturale pentru dezvoltatorii care construiesc software mobil pe platforma Android. Funcționează ca un ghid cuprinzător pentru implementarea codului Kotlin idiomatic și stabilirea unor standarde de inginerie consistente în cadrul proiectelor mobile. Proiectul oferă resurse curatoriate axate pe bunele practici de dezvoltare Android și modele de programare eficiente. Punând accent pe structuri de cod mentenabile și abordări arhitecturale recomandate, ajută echipele să gestioneze complexitatea dezvoltării aplicațiilor mobile în ecosistemul Android. Documentația este scrisă în markdown și organizată printr-o structură de directoare ierarhică pentru a asigura portabilitatea și ușurința în navigare. Aceste materiale sunt găzduite ca conținut static, permițând dezvoltatorilor să acceseze ghiduri controlate prin versiuni pentru sarcinile lor curente de dezvoltare.
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.