30 open-source projects similar to futurice/ios-good-practices, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Firefox is a cross-platform web browser engine designed to render web content, execute JavaScript, and manage secure browsing sessions. It utilizes a multi-process isolation architecture that distributes browser tasks across independent operating system processes to ensure stability and prevent site-specific failures from impacting the entire application. The engine incorporates a sandboxed execution environment to restrict web content and untrusted scripts to isolated memory compartments, enforcing security policies that prevent unauthorized access to system resources. The project distinguis
This repository is a collection of Swift programming examples and an iOS app architecture reference. It provides a set of small applications and refactored projects that demonstrate the practical application of the Swift language, system frameworks, and user interface components. The project serves as a design pattern reference for implementing professional software architecture. It covers the application of Model-View-ViewModel, protocol-oriented programming, and dependency injection to decouple components and increase code reuse. Additional resources focus on test-driven development, provi
This repository serves as a technical reference and educational resource for implementing software design patterns within the Swift programming language. It provides a collection of common architectural patterns designed to help developers structure codebases for improved maintainability, scalability, and system organization. The project focuses on applying fundamental object-oriented and protocol-oriented principles to manage relationships between classes and objects. It demonstrates how to use language-level interfaces to define shared behaviors and how to organize components into cohesive
This project is a comprehensive set of architectural patterns, coding standards, and reference materials for AngularJS applications. It establishes a structural approach for separating business logic into injectable services and restricting document object model manipulation to directives. The guide provides a standardized framework for project organization through consistent naming conventions, directory hierarchies, and module structuring. It emphasizes the use of isolated scopes for component encapsulation and explicit array notation for dependency injection to ensure stability during code
This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of practical examples and projects that demonstrate how to build web applications, RESTful APIs, and high-performance services. The repository focuses on a variety of architectural patterns, including the development of Minimal APIs, contract-first gRPC services, and real-time communication using WebSockets and Server-Sent Events. It includes detailed implementations for user identity and security, such as token-based authentication and CSRF protection. The codebase covers a bro
This project is a comprehensive guide to architectural standards and coding patterns for developing maintainable applications within the Laravel framework. It focuses on clean code standards, applying the single responsibility and DRY principles to ensure codebase predictability and consistency. The guide emphasizes decoupling components by moving business logic into service layers and shifting input validation into dedicated request classes to keep controllers lean. It advocates for the use of a service container and dependency injection to reduce class coupling and improve testability. The
Expo is a universal mobile framework designed to build native iOS and Android applications from a single codebase using web-standard technologies. It provides a comprehensive development environment that includes a unified runtime for testing, cloud-based infrastructure for compiling and signing native binaries, and automated tools for managing the entire mobile release lifecycle, including app store submission. The framework distinguishes itself through a plugin-based native configuration engine that programmatically modifies project files, allowing developers to integrate native modules wit
This project provides a framework for managing multi-agent systems, designed to automate complex software development, infrastructure, and business workflows. It functions as a multi-agent workflow orchestrator that routes tasks to domain-specific workers while maintaining state persistence and infrastructure automation. By leveraging large language models, the system decomposes high-level objectives into actionable plans, ensuring that complex operations are executed with consistency and reliability. The framework distinguishes itself through its hierarchical agent registry and policy-driven
BeeHive is a modular architecture framework for iOS applications. It provides a dependency injection container, an event bus middleware, a module lifecycle manager, and a service locator to organize an application into independent functional modules. The framework distinguishes itself by utilizing asynchronous module loading to reduce application startup time and prevent main thread blocking. It employs macro-driven automatic module registration to decouple instantiation from application logic and uses protocol-based service mapping to resolve dependencies without requiring direct imports. T
This project is a Swift iOS architecture template that implements the Clean Architecture pattern. It organizes software into distinct layers to decouple business rules from external frameworks, user interfaces, and infrastructure to improve testability and maintenance. The template incorporates Domain Driven Design to isolate core business logic and utilizes a modular application structure to divide features into independent modules. It employs the Coordinator pattern to remove routing logic from view controllers and a dependency injection framework to ensure components remain independent and
This project provides a set of Android development guidelines, architecture standards, and a coding style guide. It establishes uniform formatting and implementation rules to ensure code consistency and maintainability for applications built on the Android platform. The project includes a standardized project structure template that defines consistent folder hierarchies and file layouts. These standards are designed to maintain a predictable development experience across multiple workstreams. The guidelines cover architectural patterns including layer-based separation of business logic and p
This project serves as a comprehensive handbook and architectural guide for software engineering best practices. It provides a curated set of principles and technical guidelines focused on maintaining long-term code health, reducing complexity, and ensuring that software systems remain readable and manageable as they grow. The core philosophy centers on modularity and domain-driven design, encouraging developers to structure applications around specific business use cases rather than the constraints of external frameworks. By prioritizing interface-based contracts and dependency injection, th
This project is an architectural design course and educational resource focused on breaking large JavaScript codebases into independent, testable, and environment-agnostic components. It serves as a modular programming guide and reference for implementing structural strategies and best practices in production environments. The material emphasizes the use of design patterns to create decoupled components and robust logic. It specifically covers strategies for dependency inversion and the use of generic interfaces to ensure logic can run across different JavaScript runtimes. The guide provides
Guice is a Java dependency injection framework and component container. It automates object wiring by mapping interfaces to implementations via a central injector, removing the need for manual factory patterns and constructor calls. The framework provides specialized support for aspect-oriented programming, allowing for the interception and modification of method execution to implement shared cross-cutting concerns. It also functions as a persistence manager to coordinate transaction boundaries and manage the lifecycle of entity managers within a dependency-injected environment. Its core cap
This project is a curated collection of technical questions and answers designed to assist developers in preparing for software engineering interviews within the iOS ecosystem. It serves as a structured study tool for evaluating proficiency in mobile application architecture, system design, and core programming concepts. The repository provides a comprehensive reference for essential development topics, including memory management, concurrency, design patterns, and data persistence. By covering these foundational areas, it enables users to review common industry interview subjects and test th
Prism is a XAML application framework and MVVM architectural framework designed to build loosely coupled and testable applications across WPF, Xamarin Forms, and WinUI. It serves as a structural pattern implementation that separates business logic from the user interface to improve maintainability and testing. The framework provides a XAML event bus for exchanging data and triggering actions between independent components without direct coupling. It also functions as a dependency injection integrator, bridging external inversion-of-control containers to manage service delivery across multiple
This project provides a standardized project directory structure and boilerplate templates for organizing data analysis and machine learning workflows. It serves as a reproducible analysis framework and workspace boilerplate designed to ensure consistency across data science projects. The template distinguishes between exploratory research in notebooks and reusable, testable logic in modular Python packages. It enforces a convention-based directory hierarchy that treats the analysis pipeline as a directed acyclic graph by separating raw, interim, and processed data. The framework covers a br
This project is the .NET Base Class Library, providing the foundational types and APIs required for .NET applications. It serves as a cross-platform runtime library and a standardized managed API framework, acting as the primary set of namespaces for memory management, collections, and asynchronous programming. The library enables the development of enterprise backend infrastructure and the execution of managed code consistently across different operating systems and hardware architectures. It includes capabilities for cross-platform application deployment using self-contained binaries, frame
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query Responsibility Segregation (CQRS) patterns using the Go programming language. It serves as a sample application to demonstrate how to decouple core domain rules from infrastructure and delivery mechanisms. The system is built as a gRPC microservices architecture, utilizing type-safe communication and service contracts. It implements an event-driven architecture to manage eventual consistency and asynchronous processing, specifically employing the Outbox pattern to ensure reliable messagin
xCrash is an Android crash reporting SDK and diagnostic tool designed to monitor application health. It captures Java exceptions, native C/C++ crashes, and application not responding events without requiring root or system permissions. The system generates diagnostic tombstones that include process memory, file descriptors, and network statistics. It utilizes a unified pipeline to handle both JVM exceptions and native signal failures, providing thread-state snapshotting and register states for analysis. The toolset includes capabilities for thread dump filtering via regular expressions to re
This project is a static analysis linter, code quality tool, and language auditor for Rust. It functions as an automated refactoring system designed to identify common mistakes and suggest idiomatic improvements for Rust source code. The tool identifies non-idiomatic patterns, performance bottlenecks, and code smells to improve the overall correctness and quality of the code. It specifically audits memory safety by flagging suspicious use of unsafe blocks and pointer manipulations and detects inefficient operations to optimize execution speed. The analysis surface covers coding style enforce
Larastan is a static analysis extension and type inference engine for PHP designed to detect bugs and type errors in Laravel applications. It extends PHPStan to resolve framework-specific patterns and magic methods, providing a rule-based scanning engine to audit code quality without executing the application. The tool specializes in Eloquent analysis, verifying that model properties, casts, and relationships align with database schemas and migrations. It tracks types across Eloquent collections, custom builders, and model factories to ensure type safety during database operations and iterati
R.swift is a resource generator and build tool plugin for Swift projects that creates type-safe accessors for bundle resources. It maps images, colors, localized strings, and bundle files to autocompleted Swift constants, replacing hardcoded string identifiers with strongly typed wrappers to ensure compile-time validation. The system functions as an asset wrapper that integrates into the build process to synchronize resource identifiers with source code. It utilizes static resource analysis to transform project configuration settings, entitlement values, and asset catalogs into a structured A
SwiftyStoreKit is a Swift library and framework for processing in-app purchases on iOS, tvOS, and macOS. It serves as a wrapper for the StoreKit framework to manage consumable, non-consumable, and subscription transactions. The project provides tools for verifying the legitimacy of purchase receipts and extracting product identifiers to unlock content. It includes a system for managing the payment queue, restoring previous purchases, and tracking subscription lifecycles. The library also incorporates a digital content download manager to control the transfer of purchased files from remote se
Acra is an Android crash reporting framework and diagnostic data collector designed to detect failures and capture device diagnostics, system logs, and application state. It serves as an embeddable library for capturing and processing crash reports, providing a pipeline to send this data to custom backends or via email. The project features a plugin-based sender architecture that allows reports to be routed through HTTP endpoints, email clients, or proprietary backend implementations. It includes a user-controlled reporting system with preference toggles and interactive dialogs to manage user
This project provides a comprehensive guide to architectural patterns and best practices for building scalable, maintainable, and performant web applications using FastAPI. It focuses on standardizing development approaches for Python web services, emphasizing robust request validation, dependency injection, and automated documentation standards to ensure consistent API design. The guide distinguishes itself by promoting domain-driven modular packaging, which organizes application logic into isolated, feature-based directories to support long-term codebase scalability. It also details strateg
jrnl is a command-line journaling tool used for recording dated entries and managing personal journals directly from a terminal. It functions as an encrypted plain-text journal system that protects private entries through encryption and integration with native system keychains. The project includes a calendar-based activity tracker that visualizes entry frequency and patterns using a heatmap layout. It also serves as a data utility for exporting journal entries into formats such as Markdown, JSON, YAML, and XML. The system supports multi-journal management for different life areas and provid
FastDev4Android is an all-in-one development framework for building Android applications. It accelerates app creation by integrating networking, data parsing, dependency injection, image loading, and UI components into a single workflow, bundling these capabilities to speed up mobile app development. The framework provides annotation-driven dependency injection that automatically wires components, views, event handlers, and threading into Android components at compile time. It implements the Model-View-Presenter (MVP) pattern to separate data, UI, and business logic into distinct layers for i
Space Station 14 is a C# multiplayer game and roleplay simulation framework. It is built upon an Entity-Component-System (ECS) game engine that separates logic into systems and data into components to manage complex entity interactions. The project functions as a grid-based physics simulator with a YAML data-driven prototype system for defining game objects. The project features a specialized 2D sprite rendering engine that maps server-side appearance data to client-side shaders. It implements a networking model with client-side prediction and dirty-flagged state synchronization to reduce inp