# iOS development

iOS development is the development of apps and games for Apple's iOS mobile operating system using technologies such as the iOS SDK, Xcode, Swift, and SwiftUI.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## The KotlinConf 2026 talks that we're excited about - Kevin Schildhorn

DevFeed: [The KotlinConf 2026 talks that we're excited about - Kevin Schildhorn](<https://devfeed.tech/articles/the-kotlinconf-2026-talks-that-we-re-excited-about-kevin-schildhorn-38287.md>)

Original publisher: [Read original article](<https://touchlab.co/kotlinconf-2026>)

Published: 2026-03-03T00:00:00Z

Content type: opinion

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [compose-multiplatform](<https://devfeed.tech/topics/compose-multiplatform.md>), [kotlin-native](<https://devfeed.tech/topics/kotlin-native.md>), [iOS development](<https://devfeed.tech/topics/ios-development.md>), [ui](<https://devfeed.tech/topics/ui.md>), [amazon](<https://devfeed.tech/topics/amazon.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [amazon](<https://devfeed.tech/tags/amazon.md>), [android](<https://devfeed.tech/tags/android.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [js](<https://devfeed.tech/tags/js.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-native](<https://devfeed.tech/tags/kotlin-native.md>), [kotlinconf](<https://devfeed.tech/tags/kotlinconf.md>), [library](<https://devfeed.tech/tags/library.md>), [talks](<https://devfeed.tech/tags/talks.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

A Touchlab commentary selects KotlinConf 2026 talks covering Kotlin/Native integration, Kotlin Multiplatform project organization and compilation times, Compose Multiplatform UI performance and animation, and iOS development with KMP at Amazon.

### Source excerpt

The KotlinConf 2026 schedule was recently announced and there are a lot of talks to be excited about. We decided to compile a list of the talks we're excited to see.

## Ideal iOS KMP Setup - Kevin Galligan

DevFeed: [Ideal iOS KMP Setup - Kevin Galligan](<https://devfeed.tech/articles/ideal-ios-kmp-setup-kevin-galligan-38222.md>)

Original publisher: [Read original article](<https://touchlab.co/ideal-ios-kmp-setup>)

Published: 2024-05-18T00:00:00Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [iOS development](<https://devfeed.tech/topics/ios-development.md>), [Development](<https://devfeed.tech/topics/development.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [installation](<https://devfeed.tech/tags/installation.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

A practical guide to setting up an iOS development environment for Kotlin Multiplatform (KMP), covering JVM installation and management, Xcode version management, and Touchlab's Kotlin Xcode Plugin for Kotlin-aware debugging.

### Source excerpt

To maximize your iOS developer experience with KMP, you'll want to install the best tools available and configure them appropriately. There are many options available, but this is Touchlab's preferred iOS development setup.

## The fundamentals of iOS at Revolut

DevFeed: [The fundamentals of iOS at Revolut](<https://devfeed.tech/articles/the-fundamentals-of-ios-at-revolut-26349.md>)

Original publisher: [Read original article](<https://medium.com/revolut/the-fundamentals-of-ios-at-revolut-f75acb765ac8?source=rss----44c5ac415e14---4>)

Author: Illia Kucheriavyi

Published: 2024-05-14T11:41:25Z

Content type: tutorial

Language: en

Sources: [Revolut Engineering](<https://devfeed.tech/sources/revolut-engineering.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [iOS development](<https://devfeed.tech/topics/ios-development.md>), [feature flags](<https://devfeed.tech/topics/feature-flags.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [experiments](<https://devfeed.tech/topics/experiments.md>), [Development](<https://devfeed.tech/topics/development.md>), [Agile](<https://devfeed.tech/topics/agile.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [releases](<https://devfeed.tech/topics/releases.md>)

Tags: [agile](<https://devfeed.tech/tags/agile.md>), [continuous-delivery](<https://devfeed.tech/tags/continuous-delivery.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [development](<https://devfeed.tech/tags/development.md>), [development-process](<https://devfeed.tech/tags/development-process.md>), [experiments](<https://devfeed.tech/tags/experiments.md>), [feature-flags](<https://devfeed.tech/tags/feature-flags.md>), [fundamentals](<https://devfeed.tech/tags/fundamentals.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [releases](<https://devfeed.tech/tags/releases.md>), [revolut](<https://devfeed.tech/tags/revolut.md>), [sdks](<https://devfeed.tech/tags/sdks.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This article describes Revolut's iOS development practices, covering its applications and SDKs, weekly App Store updates, continuous integration and delivery, feature flags, gradual rollouts, rollback procedures, and experimentation with statistical measurement.

### Source excerpt

Let's take a look behind the scenes of the iOS development at Revolut, where we strive to provide exceptional financial services and seamless customer experiences for the customers who rely on our iOS apps to manage their financial lives. We believe that it's possible to deliver high-quality software, fast. To achieve this we follow a set of important principles and apply a number of modern agile practices, mainly inspired by XP (eXtreme Programming). Deliver fast Currently, on the iOS platform, we have both applications and SDKs. Here's a list of what's live: Revolut, Revolut <18, Revolut Business, Revolut POS and Revolut Pay SDK. All iOS applications are updated in the App Store on a weekly basis. We operate on the principles of continuous integration and continuous delivery to swiftly deliver new functionality to customers -- as soon as a feature or part of it is ready. We've built our own in-house framework for feature-based releases. According to our process, the Product Owner specifies a feature to be enabled starting from a selected version of the application. Then both the application version and its features are rolled out gradually, starting with a small percentage of our customer base. These two approaches -- feature flagging and gradual version and feature rollout -- enable delivering value to customers with the minimum amount of risk. If anything goes wrong, the flag will be turned off or the older version will be re-submitted as rollback, to remove the problematic change. Moreover, feature flags allow team members to easily switch between different user experiences, compare them, or turn them on and off for testing. We've also developed an in-house experimentation platform that allows teams to experiment with new features and measure their impact using predefined metrics in a statistically significant way. This platform guarantees that experiments are properly set up, and that results are produced using a robust statistical framework. All ideas are teste

## Bumble chooses Tuist for iOS project scaling after comparing SPM and Bazel

DevFeed: [Bumble chooses Tuist for iOS project scaling after comparing SPM and Bazel](<https://devfeed.tech/articles/scaling-ios-at-bumble-part-3-3-results-and-developer-quality-of-life-22604.md>)

Original publisher: [Read original article](<https://medium.com/bumble-tech/scaling-ios-at-bumble-6f0602682903?source=rss----6353b5325b1a---4>)

Author: Jonathan Crooke

Published: 2024-03-12T15:23:14Z

Content type: comparison

Language: en

Sources: [Bumble Tech](<https://devfeed.tech/sources/bumble-tech.md>)

Topics: [Tuist](<https://devfeed.tech/topics/tuist.md>), [iOS development](<https://devfeed.tech/topics/ios-development.md>), [bazel](<https://devfeed.tech/topics/bazel.md>), [swift-package-manager](<https://devfeed.tech/topics/swift-package-manager.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>)

Tags: [bazel](<https://devfeed.tech/tags/bazel.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [swift-package-manager](<https://devfeed.tech/tags/swift-package-manager.md>), [tuist](<https://devfeed.tech/tags/tuist.md>)

### AI overview

In the final part of Bumble's build and project-management overhaul, the team explains why it chose Tuist over Swift Package Manager and Bazel for its iOS project-scaling needs. It found SPM's Xcode integration too slow at its scale and considered Bazel powerful but costly to adopt and maintain.

### Source excerpt

Scaling iOS at Bumble: Part 3/3 -- Results and Developer Quality of LifeRecap This is the third and final post in a series on our 2022 & 23 build and project management overhaul. We investigated whether one (or none!) of Swift Package Manager (SPM), Tuist or Bazel would be the tool to overcome our project scaling challenges. In the first post we explained the state-of-play coming into this project. In the second we discussed the results of our proofs of concept. In this post we will explain our conclusions, and talk about the migration project itself. The decisionWe chose Tuist It shouldn't be much surprise that we didn't choose SPM. In fact, we found it to be entirely unsuitable for our use case. This isn't to say that SPM is a poor tool in general -- far from it. Initially we would have preferred to adopt it, however we couldn't ignore the fact that, at least regarding its Xcode-integration, SPM exhibits unacceptably poor performance for our use case, and at our current scale; and this is before we consider our expected future scaling! For those starting new, or smaller projects, SPM seems to provide a nice user experience. However, it also deserves to be regarded as a "first-party CocoaPods". It serves a very similar use-case, and may lead to similar performance drawbacks. Bazel was a different matter. It is undoubtedly a powerful tool, but is a high-investment choice; compared to both SPM and Tuist it diverges much from the traditional iOS development experience, increasing disruption for developers. Also, since Bazel experience is still quite uncommon, this adds extra onboarding load for new team members. We also need to support and maintain infrastructure internally; we have small infrastructure teams and Bazel presents concerns about poor bus factor for a tool that is a single point of failure. During our proof of concept it became clear that in spite of its power, Bazel would be costly for us in the short term. In comparison, Tuist hit a sweet spot between the

## Scaling iOS at Bumble: Part 1/3 -- The Challenges

DevFeed: [Scaling iOS at Bumble: Part 1/3 -- The Challenges](<https://devfeed.tech/articles/scaling-ios-at-bumble-part-1-3-the-challenges-22605.md>)

Original publisher: [Read original article](<https://medium.com/bumble-tech/scaling-ios-at-bumble-76754fa874f7?source=rss----6353b5325b1a---4>)

Author: Jonathan Crooke

Published: 2024-01-31T16:10:21Z

Content type: article

Language: en

Sources: [Bumble Tech](<https://devfeed.tech/sources/bumble-tech.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [iOS development](<https://devfeed.tech/topics/ios-development.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [badoo](<https://devfeed.tech/tags/badoo.md>), [bff](<https://devfeed.tech/tags/bff.md>), [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [modules](<https://devfeed.tech/tags/modules.md>), [swift](<https://devfeed.tech/tags/swift.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

The first article in a three-part series explains the challenges of scaling iOS production apps at Bumble Inc. It introduces the company's medium-scale iOS development context, including dozens of engineers, hundreds of modules, more than 100 feature workspaces, millions of lines of Swift, and extensive custom tooling.

### Source excerpt

Scaling iOS at Bumble: Part 1/3 -- The ChallengesIntroduction This article is the first in a series of three. We'll be presenting work undertaken during 2022 and 2023 aimed at tackling the challenges of scaling our iOS production apps. Who are we? Bumble Inc. is the parent company of Bumble, Badoo, Fruitz and Official. The Bumble platform enables people to build healthy and equitable relationships, through kind connections. Founded by CEO Whitney Wolfe Herd in 2014, Bumble was one of the first dating apps built with women at the centre and connects people across dating (Bumble Date), friendship (Bumble BFF) and professional networking (Bumble Bizz). Badoo, which was founded in 2006, is one of the pioneers of web and mobile dating products. Fruitz, founded in 2017, encourages open and honest communication of dating intentions through playful fruit metaphors. Official is an app for couples that promotes open and honest communication between partners and was founded in 2020. Who is this for? This blog post series is aimed squarely at teams operating at scales similar to ours. So what is our scale? Scale at Bumble Inc. iOS development at Bumble Inc. is certainly not small! We have: Dozens of engineers Hundreds of modules 100+ feature workspaces Millions of lines of Swift, with a dusting of ObjectiveC for old time's sake 🙃 Tens of thousands of lines of custom tooling code Lots of modularity, and of a quite high standard Just a tiny section of our module graph This might seem to readers as a pretty large scale. However in this article series we'll be considering Bumble Inc. as a medium scale team. So why is that? "Medium" sized teamsWe've chosen this medium terminology to emphasise the "in-between" state that teams can fall into in the iOS ecosystem. On one hand you have the small team; the startup, the individual Developer. Apple's Developer marketing often seems oddly focussed on these kinds of teams! They're very happy with the out-of-the-box Developer experience (and w

## Webinar Recap: iOS Development with Kotlin Multiplatform

DevFeed: [Webinar Recap: iOS Development with Kotlin Multiplatform](<https://devfeed.tech/articles/webinar-recap-ios-development-with-kotlin-multiplatform-tips-tricks-and-team-triumphs-touchlab-engineering-38347.md>)

Original publisher: [Read original article](<https://touchlab.co/webinar-ios-development-with-kmp>)

Published: 2023-12-05T00:00:00Z

Content type: article

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [iOS development](<https://devfeed.tech/topics/ios-development.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Swift](<https://devfeed.tech/topics/swift.md>)

Tags: [ios-development](<https://devfeed.tech/tags/ios-development.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [swift](<https://devfeed.tech/tags/swift.md>)

### AI overview

A webinar recap covering iOS development with Kotlin Multiplatform, including Swift/Kotlin interoperability and related tools and resources.

### Source excerpt

In this webinar, Touchlab's own Tadeas Kriz and JetBrains' Pamela Hill guided us through iOS development with Kotlin Multiplatform. They explored the current state of Swift/Kotlin interop and highlighted tools and resources that may make your journey easier.

## iOS development with JetBrains Fleet

DevFeed: [iOS development with JetBrains Fleet](<https://devfeed.tech/articles/ios-development-with-jetbrains-fleet-22862.md>)

Original publisher: [Read original article](<https://medium.com/kodein-koders/ios-development-with-jetbrains-fleet-fa83e5b0be96?source=rss----f311f45ef54---4>)

Author: Romain Boisselle

Published: 2023-11-26T19:17:05Z

Content type: tutorial

Language: en

Sources: [Kodein Koders - Medium](<https://devfeed.tech/sources/kodein-koders-medium.md>)

Topics: [jetbrains](<https://devfeed.tech/topics/jetbrains.md>), [ide](<https://devfeed.tech/topics/ide.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [iOS development](<https://devfeed.tech/topics/ios-development.md>), [User interface design](<https://devfeed.tech/topics/ui-design.md>)

Tags: [appcode](<https://devfeed.tech/tags/appcode.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ide](<https://devfeed.tech/tags/ide.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-app-development](<https://devfeed.tech/tags/ios-app-development.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [jetbrains-toolbox](<https://devfeed.tech/tags/jetbrains-toolbox.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A tutorial on using JetBrains Fleet for iOS development with SwiftUI. It explains how Fleet supports code navigation, refactoring, collaboration, and running iOS applications, while noting that Xcode remains necessary for tasks such as project configuration, signing, and dependency management.

### Source excerpt

Farewell, AppCode; we've found a worthy replacement. This article is intended to demonstrate how to use JetBrains Fleet for the development of Swift/UI applications, including SwiftUI previews. For those who may not know about JetBrains, it is an amazing company that builds tools for developers, such as IntelliJ IDEA or Kotlin. To me, JetBrains has always provided tools that exceeded my developer expectations, even when those tools are considered "not stable." A year ago, JetBrains announced Fleet, a brand new distributed and polyglot IDE. While many people saw it as just another VSCode IDE, I knew it would become more than that. Bringing collaborative work for remote developers and providing multiple language support out-of-the-box is a real game-changer. And if you've already tried a JetBrains IDE, you know that they are serious about developer productivity! In the meantime, a year ago, they discontinued AppCode, an underrated IDE for working within the Apple ecosystem. AppCode was particularly helpful for developers who found it challenging to adjust to alternative IDE workflows, such as XCode. With Fleet, you will experience easy code navigation, refactoring, collaboration, and support for a wide range of languages and project types, including SwiftUI applications. Let's be honest, you won't completely escape from Xcode -- there are still essential tasks like project configuration, signing, and package dependency management that require its user interface. However, for the majority of your coding sessions, you'll find that you won't need it anymore. Edit and run your iOS app from Fleet Let's start by installing Fleet using the JetBrains Toolbox. This is the easiest way to manage and upgrade your JetBrains IDEs in one place. JetBrains Toolbox -- IDE version management Once Fleet installed, you can either use your own SwiftUI project or clone the following GitHub project created for this article's purpose. https://github.com/KodeinKoders/playground-fleet-swiftui Jet

## Creating a macOS app with Haskell and Swift

DevFeed: [Creating a macOS app with Haskell and Swift](<https://devfeed.tech/articles/creating-a-macos-app-with-haskell-and-swift-27913.md>)

Original publisher: [Read original article](<http://alt-romes.github.io/posts/2023-11-10-creating-a-macos-app-with-haskell-and-swift.html>)

Published: 2023-11-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [Romes' Musings](<https://devfeed.tech/sources/romes-musings.md>)

Topics: [Haskell](<https://devfeed.tech/topics/haskell.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [Development](<https://devfeed.tech/topics/development.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [Library](<https://devfeed.tech/topics/library.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [iOS development](<https://devfeed.tech/topics/ios-development.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>)

Tags: [development](<https://devfeed.tech/tags/development.md>), [haskell](<https://devfeed.tech/tags/haskell.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [library](<https://devfeed.tech/tags/library.md>), [macos](<https://devfeed.tech/tags/macos.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This tutorial series explains how to build a native Apple-platform application with a SwiftUI interface and Haskell-based data and logic. The first part covers setting up a Haskell foreign library, exposing a function through the C FFI, compiling and linking it with a Swift executable, and calling it from a SwiftUI app.

### Source excerpt

Contents 1 Hello, Swift, it's Haskell! 1.1 Setting up the SwiftUI app 1.2 Setting up a Haskell foreign library 1.3 Linking the Haskell library with the executable 1.4 The RTS must be initialized 2 Remarks 2.1 Further Reading This is the first part of an in-depth guide into developing a native applications for Apple platforms (macOS, iOS, etc.) using Haskell with Swift and SwiftUI. This is the first in a series of blog posts - covering the set-up required to call Haskell functions from Swift in an XCode project using SwiftUI. In future installements of the series, I intend to at least discuss calling functions with idiomatic Haskell types with Swift ones (both with and without marshaling), SwiftUI observation, and iOS development which requires GHC to produce code for the iOS compilation target. At the time of writing I'm using XCode 15, Cabal 3.10, and GHC 9.8. There will be some features I use that are only available in these recent versions, however, the general idea of interoperability between Haskell and Swift stands on its own regardless - the now 7 year old swift-haskell-tutorial is still similarly relevant and greatly informed my approach, despite the end result being considerably different. The end goal is to create a multi-(apple)-platform application whose UI is programmed in Swift using SwiftUI while the data and logic of the application is implemented in Haskell which is called from Swift. The series of blog posts is further accompanied by a github repository where each commit matches a step of this tutorial. If in doubt regarding any step, simply checking the matching commit for absolute confidence you are understanding the practical step correctly. Visit this link to the haskell-x-swift-project-steps repository! Furthermore, I'm writing a build tool that will facilitate setting up and building a project like this without having to go through all the manual steps: haskell-swift. This write-up has been cross-posted to Well-Typed's Blog. 1 Hello, Swift, i

## Managing Massive View Controllers in iOS MVC Applications

DevFeed: [Managing Massive View Controllers in iOS MVC Applications](<https://devfeed.tech/articles/mvc-many-view-controllers-39511.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2020-02-20-mvc-with-sugar>)

Published: 2020-02-20T18:00:00Z

Content type: opinion

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [mvc](<https://devfeed.tech/topics/mvc.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [iOS development](<https://devfeed.tech/topics/ios-development.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [app-architecture](<https://devfeed.tech/tags/app-architecture.md>), [apple](<https://devfeed.tech/tags/apple.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [testing](<https://devfeed.tech/tags/testing.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>)

### AI overview

The article discusses problems that arise when iOS MVC applications develop massive view controllers, tightly coupled screens, and difficult-to-write unit tests. It considers how to split view controllers while supporting older iOS versions and UIKit alongside SwiftUI.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## SwiftUI's iOS 13 requirement creates adoption and fragmentation challenges

DevFeed: [SwiftUI's iOS 13 requirement creates adoption and fragmentation challenges](<https://devfeed.tech/articles/is-ios-starting-to-get-fragmented-25269.md>)

Original publisher: [Read original article](<https://kau.sh/blog/ios-might-be-fragmented/>)

Author: Kaushik Gopal

Published: 2019-06-13T07:00:00Z

Content type: opinion

Language: en

Sources: [Kaushik Gopal's Site](<https://devfeed.tech/sources/kaushik-gopal-s-site.md>)

Topics: [iOS development](<https://devfeed.tech/topics/ios-development.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Android](<https://devfeed.tech/topics/android.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Jetpack](<https://devfeed.tech/topics/jetpack.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-jetpack](<https://devfeed.tech/tags/android-jetpack.md>), [fragmentation](<https://devfeed.tech/tags/fragmentation.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

The article argues that SwiftUI's requirement for iOS 13 creates a lengthy adoption lag and limits support for older iPhones, producing short-term challenges for iOS developers. It compares this with Android's historical fragmentation and discusses Jetpack's backward-compatibility approach.

### Source excerpt

I've been dipping my toes into some iOS development recently. Nothing too crazy, just pairing with some colleagues and trying to see how we can jointly improve the technical design on both platforms .1 It so happens that Apple just finished it's annual conference WWDC, so I've been following the announcements closer this timer around. In that process, I ran across a tweet (from Jeff Nadeau who's a developer working at Apple): Sort of blown away by the take that a min OS target is harmful to a new framework. It's absurdly small-minded; one or two years of adoption lag is nothing when the arc of such a system is measured in decades. To set a little more context: the system Jeff talks about here is SwiftUi, a new framework library that will truly change the way iOS developers write their UI code. The niggle here is that SwiftUI is limited to just adopters of iOS 13. This basically means: Since the adoption rate for new OS updates is about 2 years for iOS, iOS 13 (newest version) will take 2 years to roll out to most iPhones iPhones 6 and below will never be able to run apps built with SwiftUi (as iOS 13 will run on iPhone 6S and later only) I found this bizarrely familiar since this was the exact same problem Google had with Android2 for the longest time. It was frustrating for Android developers because we would come back all excited from Google I/O, only to have the winds promptly taken out of our sails after we reviewed the horrendous state of OS adoption. It would be pretty irresponsible to start using SwiftUi right now for app developers building apps today. I do want to make it clear: this is not what Jeff is saying. He's not suggesting everyone start using SwiftUi right now. The latter part of the tweet clarifies this: ... when the arc of such a system is measured in decades 2 years might just be the cost to pay for iOS developers to have an amazing framework like SwiftUi that will eventually make development cycles 4x better. Especially since a sea of change is m

## The Monkey and the Apple

DevFeed: [The Monkey and the Apple](<https://devfeed.tech/articles/the-monkey-and-the-apple-38779.md>)

Original publisher: [Read original article](<https://steve-yegge.blogspot.com/2016/11/the-monkey-and-apple.html>)

Author: Steve Yegge (noreply@blogger.com)

Published: 2016-11-17T07:11:00Z

Content type: opinion

Language: en

Sources: [Steve Yegge](<https://devfeed.tech/sources/steve-yegge.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [iOS development](<https://devfeed.tech/topics/ios-development.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [cloud](<https://devfeed.tech/tags/cloud.md>), [google](<https://devfeed.tech/tags/google.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [open-source](<https://devfeed.tech/tags/open-source.md>)

### AI overview

The author describes turning an older game into a mobile MMORPG with a cloud backend. The project required substantial work involving cloud development, iOS APIs, and open-source technologies, and was opened for beta testing on supported iOS devices.

### Source excerpt

It's been a while! I took a couple of years off blogging because I felt I didn't have much left in the way of interesting things to say. So I've been just been programming, and studying, and learning this and that. I've been doing a bit of Cloud development, and I taught myself iOS development, and after years in the Google cocoon I poked my head out and learned how people do things in the real world with open source technologies. And lo at long last, after some five years of tinkering, I finally have something kind of interesting to share. I wrote a game! Well, to be more precise, I took an old game that I wrote, which I've perhaps mentioned once or twice before, and I turned it into a mobile game, with a Cloud backend. It has been waaaay more work than I expected. Starting with a more-or-less working game, and tweaking it to work on Cloud and mobile -- I mean, come on, how hard can it be, really? Turns out, yeah, yep, very hard. Stupidly hard. Especially since out of brand loyalty I chose Google's cloud platform, which 3 or 4 years ago was pretty raw. And let's face it, iOS APIs have evolved a ton in that timeframe as well. So even as "recently" as 2013 I was working with some pretty immature technology stacks, all of which have come leaps and bounds since then. And now I have all sorts of stuff to share. Definitely enough for a series of blog posts. But I also have less time than before, because it's all happening in my non-copious spare time, all late nights and weekends. And running an MMORPG is a fearsome task in its own right. Incidentally, I've just opened the game up for beta testing. So if you want to try it out while you read along, visit http://ghosttrack.com to request an invite. (Edit, 12/13/16 -- BETA IS NOW CLOSED.) You'll need an iPhone, iPad, or iPod running iOS 10.2 (Edit: 9.2!) or later. I'd love to do Android and PC, but there's only one of me. For now. So where do I start? I guess the logical thing to do would be to start at the beginning, but

## MVVM-C A simple way to navigate

DevFeed: [MVVM-C A simple way to navigate](<https://devfeed.tech/articles/mvvm-c-a-simple-way-to-navigate-27947.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2016-08-26-mvvmc/>)

Author: Susann Proszak Follow

Published: 2016-08-26T00:00:00Z

Content type: tutorial

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [iOS development](<https://devfeed.tech/topics/ios-development.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [reusable code](<https://devfeed.tech/topics/reusable-code.md>)

Tags: [architectures](<https://devfeed.tech/tags/architectures.md>), [business-logic](<https://devfeed.tech/tags/business-logic.md>), [design-patterns](<https://devfeed.tech/tags/design-patterns.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [mvvm](<https://devfeed.tech/tags/mvvm.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [reusable-code](<https://devfeed.tech/tags/reusable-code.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

An introduction to the MVVM-C design pattern for iOS development. The article explains how coordinators handle application navigation and flow while view models contain business logic, using a small demo app to illustrate the approach.

### Source excerpt

When thinking about design patterns and architectures in iOS development, MVC might be the first thing that comes to mind for most of you. But throughout the last years, MVC got a really bad reputation. Probably a lot of you heard about MVC as the massive view controller.

## Beginning iOS Development With Swift

DevFeed: [Beginning iOS Development With Swift](<https://devfeed.tech/articles/beginning-ios-development-with-swift-37502.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2014/12/02/beginning-ios-development-with-swift/>)

Author: Matt Long

Published: 2014-12-02T19:35:06Z

Content type: tutorial

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [iOS development](<https://devfeed.tech/topics/ios-development.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [beginner](<https://devfeed.tech/tags/beginner.md>), [developers](<https://devfeed.tech/tags/developers.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [swift](<https://devfeed.tech/tags/swift.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A beginner tutorial introduces iOS development concepts involving outlets and actions, using an application updated for Xcode 6 and Swift.

### Source excerpt

Many years ago now, I wrote a tutorial for the beginner to learn how to use outlets and actions as this is often one of the least familiar aspects for new developers who are wanting to learn iOS. It's simple once you've seen it, but until then, there's a gap. This time around I'm presenting [...]