iOS app requirements checklist

Introduction When we are starting with the development of a new app, we are usually going through the requirements defined by our client and start thinking of concepts, architecture and estimates. Those requirements can range from just a vague idea written in few sentences, to a detailed specification, with mockups, use-cases and acceptance criteria (which […]

Pragmatic iOS app architecture

Lately, I’ve been reading a lot of articles on app architectures. There are many such articles, with many different opinions and solutions. It’s great that developers are sharing their experiences, the pros and cons that might help us decide which road to take in our future projects. I agree that there are many nice architectures, […]

Common iOS development mistakes

Introduction Developing iOS apps is fun and challenging. During this process, we sometimes make bad decisions and mistakes, that can have impact on the quality of the app (both technical and from the user’s perspective). Some of those pitfalls can cause crashes in our apps, making users angry. Others can make the maintenance of the […]

What every great iOS engineer needs to know (part 2)

Platform Knowledge In the first part we’ve covered what I believe are the required engineering skills to do a great job in software development. In this second part, we will talk about what platform specific knowledge is needed to be complete iOS Software engineer.

Networking in Swift

Introduction Connecting the mobile apps with a REST service is almost inevitable in every project – apps would be useless and boring if they don’t get the latest data from the servers. There are a lot of great frameworks that do this for iOS, like AFNetworking and its Swift counterpart AlamoFire, Moya, APIKit and many […]

Introduction to Functional Reactive Programming and Table Views

Introduction In the last few years, there has been a lot of talking at conferences, blog posts and tutorials about this awesome different approach to programming – Functional Reactive Programming (FRP). Facebook uses it as a way to handle the countless different news posts appearing on their mobile apps feeds without making large unmaintainable codebase […]