Software architecture

Software architecture

Access Control in Swift

Published on Feb 27, 2023

Access control is a powerful feature in Swift that allows us to control the visibility of our types and members while also creating a clear and well-defined interface with which other parts of your code or modules can interact.

Dependency injection in Swift

Published on Nov 1, 2020

If you use dependency injection, your application code will become more decoupled, testable, and scalable. In this post they explained what Dependency Injection is and its types.

VIP Architecture with Coordinator

Published on Feb 12, 2020

The Clean Swift (VIP) architecture pattern is popular because it divides responisibilities into distinct components, making it easier to manage the codebase as it grows. In this post, we’ll show how to use a configurator to implement the Clean Swift (VIP) architecture pattern, as well as provide an example of a to-do list app to demonstrate the pattern in action.

SOLID principles: Application to Swift development

Published on Feb 7, 2020

Learn the SOLID principles and how to apply them in the development of your applications. SOLID principles improve our code, making it cleaner, scalable and testable.

Design patterns in software

Published on Feb 1, 2020

Design patterns are solutions that have been found to similar problems in software development. In this post I will tell you about the 23 identified design patterns, and their characteristics.

9 Tips for Avoiding Massive View Controllers in MVC-Based Swift Apps

Published on Jan 23, 2020

Learn how to avoid having massive view controllers in MVC-based Swift apps with these 9 tips for keeping your code well-organized, maintainable, and scalable.

New architectures for iOS Apps

Published on Jan 14, 2020

In the development of iOS applications, new architectures different from those already known are being introduced (MVC, MVVM, VIPER…). One of them is Redux, which we talked about a few months ago. But there are others, like The Composable Architecture or The Elm Architecrure.

Database layer in Swift

Published on Dec 20, 2018

Learn how to separate the Database layer of an application from the rest of the components, so that you can change the type of database used (for example, from CoreData to Realm) without the need for major code changes.

MVVM Architecture with RxSwift

Published on Jul 22, 2018

Learn how to use RxSwift, a potent tool for dealing with asynchronous events and updating the UI in a declarative and modular manner, to put the MVVM architecture into practice.

Reactive Programming with RxSwift: Exploring the Concepts of Observer and Observable

Published on May 29, 2018

Reactive programming is becoming increasingly popular for iOS app development, and RxSwift is a powerful framework that makes it simple to incorporate reactive programming techniques into your code. In this article, we’ll look at RxSwift’s two main concepts, observer and observable, and how they work together to form a reactive programming model.

Xcode templates: Reduce the development time of your apps

Published on Apr 21, 2018

Xcode templates help developers save time by providing pre-written code for common features, reducing repetitive tasks and speeding up development. Use of Xcode templates can improve productivity, reduce errors and lead to better code quality.

Introduction of Redux architecture for iOS: Pros and cons

Published on Jan 23, 2018

Redux is an architecture for managing a centralized state and unidirectional data flow. It is commonly used in web development but is also gaining popularity in iOS development.

What is Clean Architecture?

Published on Jan 3, 2018

What is Clean Architecture y why is so important in the softwrare development.

Pros and cons of some iOS Architecture patterns

Published on Dec 1, 2017

Some pros and cons of some of the most used architecture patterns in the development of iOS applications.

Model-View-Presenter (MVP) architecture on iOS

Published on Oct 19, 2017

Model-View-Presenter is an architectural pattern that derives from another well-known pattern, Model-View-Controller (widely used in the development of iOS applications), in which a new component, the Presenter, acts as an intermediary between the View and the Model.