SwiftUI is a modern, simple and powerful framework that allows us to build user interfaces across all Apple platforms. By using it we can create complex views and animations in a declarative way.
In this article, we are going to build a completely custom iOS App that will help you to learn more about SwiftUI.
The App that we are going to build is an iOS version of the popular breathe app from apple watch. The design concept was created by the wonderful designer Daniel Korpai. …
Apps nowadays deal with an abundance of real-time events that enable a highly interactive experience for the user. We need tools for properly dealing with these events. Is Apples latest framework an Answer for that?
The Combine framework is the newest iOS declarative framework that helps with processing values over time.
Learning Combine Swift and SwiftUI is a must if you want to stay up to date with the world of iOS Development.
Combine raises the level of abstraction of your code so you can focus on the interdependence of events that define the business logic, rather than having to…
Split testing is a method of determining which variation of an application performs better for a given goal.
Multiple variants or behaviors of an application are distributed in a random manner. After statistics gathering and analysis, we determine which version performs better.
The goal of this article is to provide a simple way of structuring and organizing your application in order to achieve clean and scalable iOS code when using split testing.
Practical tips and examples are provided in order for this article to stay as a guideline for real-world app scenarios.
Using split testing (also known as an A/B…
In the late 1990s, while developing Extreme Programming, famous software developer Kent Beck came up with a list of rules for simple software design.
According to Kent Beck, a good software design:
In this article, we will discuss how these rules can be applied to the iOS development world by giving practical iOS examples and discussing how we can benefit from them.
Software design helps us create a system that acts as intended. But how can we verify that a…
There is no model-independent test of reality. It follows that a well-constructed model creates a reality of its own. An example that can help us think about issues of reality and creation is the Game of Life, invented in 1970 by a young mathematician at Cambridge named John Conway.
— The Grand Design, by Stephen Hawking
Game of Life is a popular implementation of the automaton theory. It is not really a game where one player can play against the computer or where two or more players can play against each other. Game of Life is automation that plays by…
It is always better to be investing our time on creative tasks and avoid doing repetitive work as much as we can.
This article is written to provide you with seven iOS development tips towards writing better and easily extendable code that will contribute to saving a lot of time.
Even if your app does not support multiple themes it is always a good idea to bring together all the application style related logic into a manageable object that gets shared across the app.
In order to provide high-quality software and avoid regression, implementing unit testing is a must for every iOS application.
Mocking objects is a technique in unit testing that creates fake objects by using the same APIs as the real ones.
This article is wirtten to provide you with the best practices on how to use fake data and write unit tests for the most occuring scenarions on iOS apps.
When writing unit-tests we should always avoid altering real data of the application target and instead use fake data just for the testing purposes.
The following parts will discuss how to…
Application security is one of the most important aspects of software development.
Users of our apps expect that their pieces of information are being kept private. Our sensitive application data should not be simply given away.
Fortunately, in this article, we will discuss mistakes that developers make towards app security and how to easily fix them.
I have researched multiple apps from the AppStore and a lot of them are doing the same mistake, storing sensitive data where they do not belong.
If you are storing sensitive data in
UserDefaults, then you are risking your application's information.
UserDefaults get stored…
Design Patterns are a crucial part of Software design, they provide a solution to commonly occurring problems.
Apple uses these patterns all over iOS frameworks. In this article, we will be discussing how design patterns are used in the internal Apple APIs and how you can benefit from these implementations.
We use iOS frameworks like
CoreBluetooth and many others in our day to day development. Components like
UIStackView all are written using a great reusable design from apple.
There are many Design patterns that apple used throughout the development of their kits. …
In software development, a design pattern is a general reusable solution to a problem. A design pattern is a description of how to solve a problem that can be used in different situations.
In this Article we will be implementing three design patterns by using swift, that will help us to make our code much cleaner and provide a reusable template for solving commonly occurring problems on iOS
In this article, we will be discussing better solutions using Design Patterns for a simple application for publishing a form. You can find complete code for the example application here.