Latest

NS for iOS Devs – Testability

Tests are often a big discussion in the software development community. We hear a lot of people saying “if you don’t write tests, you’re a bad developer” or “if you don’t know how to write tests, you’re doing everything wrong” or “tests are good but ...
Read More

Recent Posts

NS for iOS Devs – Concurrency

After focusing on the Application Lifecycle and View Lifecyle in iOS, our next topic is concurrency. We face handling more than one operations at the same time in today’s world ...
Read More

NS for iOS Devs – View Lifecycle

The next thing after learning Application Lifecycle, the view lifecycle holds an important position in every iOS developer’s life. Each view is created either using storyboards, xibs or using a ...
Read More

NS for iOS Devs – Application Lifecycle

Every iOS developer needs to understand the possible states and lifecycle of an iOS app. Knowing when the app is terminated or inactive enables us to know what we can ...
Read More

JSON Wars: Codable ⚔️ Unbox

Codable got everyone excited because we all love parsing JSON and it’s nice to have this tool as a part of the standard library. Now it’s time to test if ...
Read More

Blurring the Lines Between MVVM and VIPER

If you have been developing mobile apps for a while, you’ve probably heard of MVVM and VIPER. While some people say MVVM does not scale well, some others say VIPER ...
Read More

Clean Swift

Functions Please remember how elegant the swifts above look for future references. Building Up Starting to build an argument with an analogy, probably is not the right way to go ...
Read More

Using Channels for Data Flow in Swift 📻

Apple frameworks use delegation and observer pattern (NotificationCenter) heavily to pass information around. Although there is nothing wrong about these patterns, the actual implementation always looked a bit inconsistent to ...
Read More

iOS/macOS Developer Productivity Kit

We use some tools and also some do customizations on them to increase our productivity. Every tech stack has different needs, therefore, a different set of tools. iOS, macOS, watchOS, ...
Read More

Lightning Read #2: Optional String Pitfalls

I was trying to build a URL the other day. Check the following code block: init?(userId: String?) { guard userId != nil else { return nil } self.path = "/user/\(userId)" ...
Read More

Lightning Read #1: Lazy Collections in Swift

I was planning to write “short” and simple articles about my findings from day-to-day Swift experiments for a while now… 🕵 Here goes the first lightning article! 🚀 ...
Read More

Reusability and Composition in Swift

The one concept Nietzsche, Thoreau and Hesse most probably tried to elude through their lives: Dependency. Even if one does not agree or embrace their philosophies, a programmer should — ...
Read More

What is Firebase Predictions?

Google announced Firebase Predictions in Firebase Dev Summit in Amsterdam this year. This is maybe the most important announcement of the summit. It enables businesses to predict user behavior depending ...
Read More

Generics in Swift 4

As one of the most powerful features in Swift, Generics can be tricky. A lot of people have trouble understanding and using them, especially application developers. Generics are most suitable ...
Read More

Architecting iOS Apps with “Core”

In the last two years, I’ve had chances to experiment with architectures like MVC, MVVM and VIPER. What’s common among those is the V component, which represents the views in ...
Read More

Swift 4’s Codable

It is almost certain that at some point in your app development journey, you needed to (or you will soon :]) serialize some object or value and parse JSON response ...
Read More

Vapor 2 — What to do after ‘Hello World’ Example

When Apple announced Server APIs and working group, it made me think to switch to Swift for server-side development. I was using Javascript and wasn’t happy with the language. Even ...
Read More

Migrating from Vapor 1 to Vapor 2

Vapor 2 is released 🚀🎉 This is a big breaking change, but a good one. We have a small server-side project which is developed with Vapor. When Vapor 2 released, ...
Read More

Using SwiftLint and Danger for Swift Best Practices

Apple’s Swift is becoming more and more popular amongst the developer community. Most of us already started adapting our projects to this folk. While adopting, we may not be as ...
Read More

Swifty Tips ⚡️

Subtle best practises that Swift developers are keeping secret. When I first started iOS development, I was always curious about best practises used by giant companies. How does their project structure ...
Read More

Unit Tests in Server-Side Swift API

I’ve shared my first experiences about backend development in Swift in my previous blog post. This is the follow-up post. I'll talk about Unit Tests in Swift. TL;DR Swift accepts ...
Read More

New Horizons with Server-Side Swift

After deciding to join more conferences this year, the very first one was dotSwift. It was held in a great old theater in Paris. It was a half day conference ...
Read More

Identifying Side Effects Using Swift

This is a hard problem in any language. When we are interacting with APIs, we are constantly making requests on objects. Let’s say we have an object x. If we ...
Read More

Using Firebase Cloud Messaging for Remote Notifications in iOS

Let’s talk about Firebase a little bit first. In Firebase website, it says “Firebase gives you the tools and infrastructure you need to build better apps and grow successful businesses.” ...
Read More

Routing with MVVM on iOS

I have been using MVVM for a while in several projects and I really like its simplicity. Especially, if you are moving from MVC, like many people, you only need ...
Read More

Using Redux with MVVM on iOS

Before we start, what is Redux? From redux.js.org: Redux is a predictable state container for JavaScript apps. So if you are not a web developer, it’s totally normal that you ...
Read More

Styling with Swift

I am developing iOS apps for over 3 years now. I am asked to apply complete re-designs for 3–4 huge projects in these 3 years, in addition to small once-a-week ...
Read More

Contributors

Candost Dagdeviren

Software Developer. Curious about Science and Artificial General Intelligence.

Göksel Köksal

iOS developer. Serious gamer.

Alp Avanoğlu

I follow the white rabbit