# SwiftUI

SwiftUI is a declarative framework and set of tools and APIs for building apps across Apple platforms using Swift.

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

## SwiftUI Agent Skill: Install and use with AI coding tools

DevFeed: [SwiftUI Agent Skill: Install and use with AI coding tools](<https://devfeed.tech/articles/swiftui-agent-skill-install-and-use-with-ai-coding-tools-17429.md>)

Original publisher: [Read original article](<https://www.avanderlee.com/ai-development/swiftui-agent-skill-build-better-views-with-ai/>)

Author: Antoine van der Lee

Published: 2026-09-14T11:49:33Z

Content type: article

Language: en

Sources: [SwiftLee](<https://devfeed.tech/sources/swiftlee.md>)

Topics: [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Agent Skill](<https://devfeed.tech/topics/agent-skill.md>), [ai-coding](<https://devfeed.tech/topics/ai-coding.md>), [Code quality](<https://devfeed.tech/topics/code-quality.md>), [context window](<https://devfeed.tech/topics/context-window.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [agent-skill](<https://devfeed.tech/tags/agent-skill.md>), [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [ai-development](<https://devfeed.tech/tags/ai-development.md>), [cli](<https://devfeed.tech/tags/cli.md>), [code-quality](<https://devfeed.tech/tags/code-quality.md>), [context-window](<https://devfeed.tech/tags/context-window.md>), [installation](<https://devfeed.tech/tags/installation.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>)

### AI overview

This article introduces an open-source SwiftUI Agent Skill for AI coding tools. The skill helps agents build or refactor SwiftUI views, improve generated code quality, and load focused references only when they are relevant to a task. It also explains installation, updates, and compatibility considerations for the skills command-line tool.

### Source excerpt

A SwiftUI Agent Skill that helps you build better views or refactor existing ones. It's the reality we're in today, and I honestly can't live without it anymore myself. Several skills helped me improve the code quality produced by agents, and I'm happy to introduce you to my open-source skill for SwiftUI. Before reading this ... -> The post SwiftUI Agent Skill: Install and use with AI coding tools appeared first on SwiftLee.

## jetc.dev Newsletter Issue #330

DevFeed: [jetc.dev Newsletter Issue #330](<https://devfeed.tech/articles/jetc-dev-newsletter-issue-330-22962.md>)

Original publisher: [Read original article](<https://jetc.dev/issues/330.html>)

Author: CommonsWare

Published: 2026-09-08T14:00:00Z

Content type: article

Language: en

Sources: [jetc.dev | Issues](<https://devfeed.tech/sources/jetc-dev-issues.md>)

Topics: [compose-multiplatform](<https://devfeed.tech/topics/compose-multiplatform.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [tvOS](<https://devfeed.tech/topics/tvos.md>), [Android](<https://devfeed.tech/topics/android.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Ktor](<https://devfeed.tech/topics/ktor.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [android](<https://devfeed.tech/tags/android.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [dev](<https://devfeed.tech/tags/dev.md>), [ios](<https://devfeed.tech/tags/ios.md>), [newsletter](<https://devfeed.tech/tags/newsletter.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [testing](<https://devfeed.tech/tags/testing.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

Newsletter Issue #330 covers Compose Multiplatform support for Apple tvOS, lessons from Android foldables for potential foldable iPhone development, testing and recomposition issues, image-loading test techniques, animated number transitions, and related Compose tools and libraries.

### Source excerpt

Apple TV! Apple foldables! Microsoft Office! And other topics not necessarily involving gigantic firms!

## Migrating Doximity's iOS Newsfeed to SwiftUI Without Disrupting Users or Development

DevFeed: [Migrating Doximity's iOS Newsfeed to SwiftUI Without Disrupting Users or Development](<https://devfeed.tech/articles/migrating-doximity-s-ios-newsfeed-to-swiftui-without-disrupting-users-or-development-20037.md>)

Original publisher: [Read original article](<https://technology.doximity.com/articles/migrating-doximity-s-ios-newsfeed-to-swiftui-without-disrupting-users-or-development>)

Author: Doximity

Published: 2026-09-04T10:50:00Z

Content type: tutorial

Language: en

Sources: [Doximity](<https://devfeed.tech/sources/doximity.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Development](<https://devfeed.tech/topics/development.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [bridge](<https://devfeed.tech/tags/bridge.md>), [development](<https://devfeed.tech/tags/development.md>), [incremental](<https://devfeed.tech/tags/incremental.md>), [ios](<https://devfeed.tech/tags/ios.md>), [migration](<https://devfeed.tech/tags/migration.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>)

### AI overview

This article describes Doximity's incremental migration of its iOS Newsfeed from UIKit to SwiftUI. The team moved one section at a time, kept UIKit and SwiftUI compatible, continuously measured behavior, and made each step reversible. The feed's server-driven card and section architecture, with state and logic managed in The Composable Architecture, provided the migration boundary.

### Source excerpt

The Newsfeed is one of the most-used features in the Doximity iOS app. It is the first thing many users see when they open the app. For doctors checking in between patients or residents catching up during a break, it has to be fast and efficient. Those expectations defined success for the migration. Feature work had to continue, analytics had to remain reliable, and the experience had to remain familiar to users even as the underlying implementation changed. We approached the migration less like a rewrite and more like a controlled rollout. We moved one section at a time, kept the UIKit and SwiftUI implementations compatible, measured behavior continuously, and made each step reversible. The technical bridge enabled the migration, but this incremental approach reduced the risk to the product. The Newsfeed brings several types of content together in a single scrolling experience. Here are a few examples of the different cards users may encounter: The Architecture Behind the Newsfeed Before discussing the migration, it helps to understand the architecture that made our incremental approach possible. The Newsfeed is not one large custom view. It is a server-driven list built from cards, with each card assembled from smaller sections. The server controls the composition of the feed. It tells the app which cards should appear, which sections belong inside each card, and the order in which those sections should render. The iOS app owns the rendering and behavior of each known section type. This separation makes the feed flexible. Rather than relying on a fixed set of hardcoded card types, the server can compose cards from reusable sections such as headlines, authors, summaries, media, polls, and social actions. By combining and ordering those sections differently, the server can create different card layouts without requiring a new implementation in the app. This is roughly what the model looks like: Server-driven feed response Newsfeed ├─ Card │ ├─ Section: author │ ├─ S

## MVVM in SwiftUI: Using view models without overengineering

DevFeed: [MVVM in SwiftUI: Using view models without overengineering](<https://devfeed.tech/articles/mvvm-in-swiftui-using-view-models-without-overengineering-11488.md>)

Original publisher: [Read original article](<https://www.avanderlee.com/swiftui/mvvm-architectural-coding-pattern-to-structure-views/>)

Author: Antoine van der Lee

Published: 2026-08-31T13:10:23Z

Content type: tutorial

Language: en

Sources: [SwiftLee](<https://devfeed.tech/sources/swiftlee.md>)

Topics: [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [developers](<https://devfeed.tech/tags/developers.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>)

### AI overview

This tutorial explains how to use the MVVM architectural pattern in SwiftUI. It describes separating views from presentation state and actions through view models, while emphasizing that view models should be introduced when they provide meaningful organization or testability rather than added to every view.

### Source excerpt

MVVM in SwiftUI separates a view's presentation from the state and actions behind it. A view model exposes the values a view displays and handles work such as loading, validation, or deletion, while the view remains focused on rendering. SwiftUI already provides powerful tools for state management, so not every view needs a view model. I ... -> The post MVVM in SwiftUI: Using view models without overengineering appeared first on SwiftLee.

## Consuming SKIE Flows in SwiftUI - Gustavo Fão Valvassori

DevFeed: [Consuming SKIE Flows in SwiftUI - Gustavo Fão Valvassori](<https://devfeed.tech/articles/consuming-skie-flows-in-swiftui-gustavo-fao-valvassori-38317.md>)

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

Published: 2026-08-29T00:00:00Z

Content type: tutorial

Language: en

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

Topics: [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Extension](<https://devfeed.tech/topics/extension.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [community](<https://devfeed.tech/tags/community.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [interop](<https://devfeed.tech/tags/interop.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [skie](<https://devfeed.tech/tags/skie.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>)

### AI overview

This tutorial explains how to consume Kotlin Flows in SwiftUI using SKIE. It covers enabling SKIE extensions in Gradle and collecting StateFlow values through an async collect approach, a modifier, or a view wrapper to reduce repetitive UI-layer code.

### Source excerpt

SKIE already makes the interop between Kotlin and Swift smooth, but SwiftUI adds a layer of complexity. We've included a series of extensions in SKIE to enable easy KMP usage from SwiftUI

## @StateObject vs. @ObservedObject: The differences explained

DevFeed: [@StateObject vs. @ObservedObject: The differences explained](<https://devfeed.tech/articles/stateobject-vs-observedobject-the-differences-explained-11489.md>)

Original publisher: [Read original article](<https://www.avanderlee.com/swiftui/stateobject-observedobject-differences/>)

Author: Antoine van der Lee

Published: 2026-08-24T14:05:36Z

Content type: article

Language: en

Sources: [SwiftLee](<https://devfeed.tech/sources/swiftlee.md>)

Topics: [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [framework](<https://devfeed.tech/tags/framework.md>), [ios](<https://devfeed.tech/tags/ios.md>), [model](<https://devfeed.tech/tags/model.md>), [observedobject](<https://devfeed.tech/tags/observedobject.md>), [propertywrapper](<https://devfeed.tech/tags/propertywrapper.md>), [published](<https://devfeed.tech/tags/published.md>), [rebuilds](<https://devfeed.tech/tags/rebuilds.md>), [stateobject](<https://devfeed.tech/tags/stateobject.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>)

### AI overview

This article explains the difference between SwiftUI's @StateObject and @ObservedObject property wrappers. Use @StateObject when a view creates and owns an ObservableObject, and use @ObservedObject when the object is supplied by another view. It also explains how inline object creation can reset view models, contrasts these wrappers with the ObservableObject protocol, and recommends the Observation framework for new code targeting iOS 17 and later.

### Source excerpt

@StateObject and @ObservedObject both connect an ObservableObject to a SwiftUI view. The key difference is ownership: use @StateObject when the view creates the object and @ObservedObject when the view receives it from elsewhere. Choosing the wrong wrapper can cause your model to be recreated whenever SwiftUI rebuilds a view. I made this mistake myself because both wrappers initially appeared to produce the same result. ... -> The post @StateObject vs. @ObservedObject: The differences explained appeared first on SwiftLee.

## Watch Apps: One Codebase, Two Real Applications

DevFeed: [Watch Apps: One Codebase, Two Real Applications](<https://devfeed.tech/articles/watch-apps-one-codebase-two-real-applications-19666.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/watch-apps-phone-channel/>)

Author: Shai Almog

Published: 2026-08-22T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Android](<https://devfeed.tech/topics/android.md>), [media3](<https://devfeed.tech/topics/media3.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [apk](<https://devfeed.tech/tags/apk.md>), [apple](<https://devfeed.tech/tags/apple.md>), [apple-watch](<https://devfeed.tech/tags/apple-watch.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [files](<https://devfeed.tech/tags/files.md>), [release](<https://devfeed.tech/tags/release.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [state](<https://devfeed.tech/tags/state.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [watchos](<https://devfeed.tech/tags/watchos.md>)

### AI overview

Codename One can build Apple Watch companion applications and Wear OS applications from a shared watch entry point. The article explains separate application runtimes and storage, platform-specific rendering, and asynchronous communication for live messages, replicated state, and file transfers.

### Source excerpt

Codename One now builds Apple Watch companions and standalone Wear OS products from one watch entry point, with a portable asynchronous API for messages, state, and files.

## Add native AuthKit sign-in to your iOS app with the WorkOS iOS SDK

DevFeed: [Add native AuthKit sign-in to your iOS app with the WorkOS iOS SDK](<https://devfeed.tech/articles/add-native-authkit-sign-in-to-your-ios-app-with-the-workos-ios-sdk-16021.md>)

Original publisher: [Read original article](<https://workos.com/blog/ios-sdk-authkit-sign-in-tutorial>)

Author: WorkOS

Published: 2026-08-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [WorkOS Blog](<https://devfeed.tech/sources/workos-blog.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [pkce](<https://devfeed.tech/topics/pkce.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [browser](<https://devfeed.tech/topics/browser.md>)

Tags: [authorization](<https://devfeed.tech/tags/authorization.md>), [browser](<https://devfeed.tech/tags/browser.md>), [guide](<https://devfeed.tech/tags/guide.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [pkce](<https://devfeed.tech/tags/pkce.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [sign-in](<https://devfeed.tech/tags/sign-in.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A step-by-step tutorial for adding native AuthKit sign-in to a SwiftUI iOS app using the WorkOS iOS SDK and its PublicClient. It explains configuring redirect URIs, adding the SDK, and starting a PKCE flow without embedding an API key or client secret in the app.

### Source excerpt

A step-by-step guide to PKCE-based sign-in with the WorkOS iOS SDK's PublicClient.

## Codename One Tests Statically Linked UI Against iOS 26 and Material 3 References

DevFeed: [Codename One Tests Statically Linked UI Against iOS 26 and Material 3 References](<https://devfeed.tech/articles/own-your-pixels-native-fidelity-on-your-schedule-19430.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/pixel-perfect-is-a-test/>)

Author: Shai Almog

Published: 2026-07-17T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [ui](<https://devfeed.tech/topics/ui.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Compose](<https://devfeed.tech/topics/compose.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [component](<https://devfeed.tech/tags/component.md>), [design](<https://devfeed.tech/tags/design.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-26](<https://devfeed.tech/tags/ios-26.md>), [native](<https://devfeed.tech/tags/native.md>), [os](<https://devfeed.tech/tags/os.md>), [simulator](<https://devfeed.tech/tags/simulator.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [test](<https://devfeed.tech/tags/test.md>), [ui](<https://devfeed.tech/tags/ui.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

The article explains how Codename One statically links its UI components into native apps so operating-system updates cannot replace their widget implementations. It covers native-fidelity testing against iOS 26 and Material 3, Metal-based rendering, accessibility work, and the tradeoff that Codename One must reproduce design changes itself.

### Source excerpt

Codename One now tests its statically linked UI against native iOS 26 and Material 3 references, so themes can move forward without an OS update changing your shipped app.

## Monitor watchOS and visionOS apps with Datadog RUM

DevFeed: [Monitor watchOS and visionOS apps with Datadog RUM](<https://devfeed.tech/articles/monitor-watchos-and-visionos-apps-with-datadog-rum-2299.md>)

Original publisher: [Read original article](<https://www.datadoghq.com/blog/monitor-watchos-visionos-datadog-rum/>)

Author: Jessica Manheimer; Maël Lilensten

Published: 2026-07-06T00:00:00Z

Content type: article

Language: en

Sources: [Datadog | The Monitor blog](<https://devfeed.tech/sources/datadog-the-monitor-blog.md>)

Topics: [real user monitoring](<https://devfeed.tech/topics/real-user-monitoring.md>), [visionOS](<https://devfeed.tech/topics/visionos.md>), [watchOS](<https://devfeed.tech/topics/watchos.md>), [error tracking](<https://devfeed.tech/topics/error-tracking.md>), [Traces](<https://devfeed.tech/topics/traces.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [observability](<https://devfeed.tech/topics/observability.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [apple-watch](<https://devfeed.tech/tags/apple-watch.md>), [digital-experience-monitoring](<https://devfeed.tech/tags/digital-experience-monitoring.md>), [error-tracking](<https://devfeed.tech/tags/error-tracking.md>), [net-11-preview-7](<https://devfeed.tech/tags/net-11-preview-7.md>), [observability](<https://devfeed.tech/tags/observability.md>), [real-user-monitoring](<https://devfeed.tech/tags/real-user-monitoring.md>), [traces](<https://devfeed.tech/tags/traces.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>), [vision](<https://devfeed.tech/tags/vision.md>)

### AI overview

Datadog RUM extends crash reporting, error tracking, deobfuscated stack traces, and session-level observability to watchOS and visionOS apps. The article explains how teams can investigate failures and understand user interactions without a separate SDK.

### Source excerpt

Monitor crashes, errors, and user sessions on watchOS and visionOS by using Datadog RUM with fully deobfuscated stack traces and no separate SDK required.

## Building Native Apple Watch Apps with Codename One

DevFeed: [Building Native Apple Watch Apps with Codename One](<https://devfeed.tech/articles/just-watch-19389.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/native-apple-watch-and-wear/>)

Author: Shai Almog

Published: 2026-06-21T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [watchOS](<https://devfeed.tech/topics/watchos.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Code](<https://devfeed.tech/topics/code.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Android](<https://devfeed.tech/topics/android.md>), [Java](<https://devfeed.tech/topics/java.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [apple](<https://devfeed.tech/tags/apple.md>), [code](<https://devfeed.tech/tags/code.md>), [ios](<https://devfeed.tech/tags/ios.md>), [native](<https://devfeed.tech/tags/native.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [watchos](<https://devfeed.tech/tags/watchos.md>)

### AI overview

This article explains how Codename One supports Apple Watch and Wear OS applications from a shared Java or Kotlin codebase. It describes the watchOS port's dedicated Core Graphics backend, SwiftUI shell, generated watch application target, and handling of watch-specific input and UI constraints.

### Source excerpt

The new native Apple Watch port runs real Codename One UI on watchOS through a dedicated Core Graphics backend inside a SwiftUI shell, while Wear OS rides the existing Android pipeline. The same code base, branched with CN.isWatch(), reaches both platforms, seamlessly!

## WWDC 2026 Viewing Guide

DevFeed: [WWDC 2026 Viewing Guide](<https://devfeed.tech/articles/wwdc-2026-viewing-guide-21089.md>)

Original publisher: [Read original article](<https://useyourloaf.com/blog/wwdc-2026-viewing-guide/>)

Author: Keith Harrison

Published: 2026-06-15T09:16:45Z

Content type: tutorial

Language: en

Sources: [K. Harrison](<https://devfeed.tech/sources/k-harrison.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [gRPC](<https://devfeed.tech/topics/grpc.md>), [MLX](<https://devfeed.tech/topics/mlx.md>), [NumPy](<https://devfeed.tech/topics/numpy.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [apple](<https://devfeed.tech/tags/apple.md>), [auto-layout](<https://devfeed.tech/tags/auto-layout.md>), [comparison](<https://devfeed.tech/tags/comparison.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios27](<https://devfeed.tech/tags/ios27.md>), [macos27](<https://devfeed.tech/tags/macos27.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>), [wwdc](<https://devfeed.tech/tags/wwdc.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A guide to planning and watching WWDC 2026 sessions, highlighting platform themes and selected updates in Swift, SwiftUI, Xcode, WebAssembly, gRPC, and MLX.

### Source excerpt

My WWDC 2026 viewing guide to help you plan the sessions you want to watch. Where Do I Start? The two big themes for the year are again Liquid Glass and Apple Intelligence. Start by watching the Platforms State of the Union (SOTU) for a summary of what's new this year. If you only have five minutes try the SOTU recap. You don't have to learn everything new today! There are over 100 sessions and a lot of new stuff to learn. You may feel like you're getting left behind. Don't let it overwhelm you. You've got time. Don't burn yourself out trying to keep up. Watching The Sessions I watch the videos using the Apple Developer app. It's available on macOS and iOS. The video player supports from 0.5x to 2x playback, most videos have transcripts and summaries, and allow copying of the onscreen sample code. You can also watch on YouTube. There are a lot of sessions, but many are short (15-20 minutes). There's no padding and Apple's engineers get to the point quickly. Swift Swift 6.4 is here with some quality of life improvements: What's new in Swift Condense long @available attributes with anyAppleOS, @diagnose to control compiler deprecation warnings. Double-colon module selector. Standard Library task cancellation shield, dictionary mapKeyedValues, new FilePath type. XCTest interop with Swift Testing. Subprocess 1.0. New ProgressManager. @C attribute for Swift-C interop. Compile to WebAssembly. New @inline(always) and @specialized attributes. Iterable protocol for noncopyable elements. Build real-time apps and services with gRPC and Swift gRPC Swift package to generate and deploy network code for remote procedure call services. Explore numerical computing in Swift with MLX NumPy-like API. Examples of computing the Mandlebrot set, heat distribution, and curve fitting. SwiftUI Liquid Glass changes and some welcome improvements: What's new in SwiftUI Liquid Glass is now mandatory. Minimal menu icons by default. Resize live previews in Xcode. Prominent tab role. Toolbar visibil

## How The New York Times Games Team Delivered Accessible, Cross-Platform Dark Mode

DevFeed: [How The New York Times Games Team Delivered Accessible, Cross-Platform Dark Mode](<https://devfeed.tech/articles/how-the-new-york-times-games-team-delivered-accessible-cross-platform-dark-mode-39153.md>)

Original publisher: [Read original article](<https://open.nytimes.com/implementing-dark-mode-in-the-games-app-be7241ddb7ba?source=rss----51e1d1745b32---4>)

Author: The NYT Open Team

Published: 2026-04-16T15:35:45Z

Content type: article

Language: en

Sources: [New York Times](<https://devfeed.tech/sources/new-york-times.md>)

Topics: [Dark Mode](<https://devfeed.tech/topics/dark-mode.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Design system](<https://devfeed.tech/topics/design-system.md>), [XML](<https://devfeed.tech/topics/xml.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>)

Tags: [accessible](<https://devfeed.tech/tags/accessible.md>), [android](<https://devfeed.tech/tags/android.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [dark-mode](<https://devfeed.tech/tags/dark-mode.md>), [design](<https://devfeed.tech/tags/design.md>), [design-system](<https://devfeed.tech/tags/design-system.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [ios](<https://devfeed.tech/tags/ios.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>)

### AI overview

The New York Times Games team describes implementing accessible, brand-consistent dark mode across its mobile app. The work coordinated design and engineering across Android and iOS, including XML and Jetpack Compose screens, legacy and modern interfaces, shared assets, external libraries, and testing.

### Source excerpt

Bringing accessible, brand-consistent dark mode to life in The New York Times Games app through cross-platform design and engineering collaboration.Illustration by Allie Sullberg By Vanessa Johnson, Daniel Falokun, Michael Ingber and Oleksandr Zabiiako The Games Mobile App introduced dark mode back in October. This seamless implementation was a collaborative effort, requiring careful planning and management of design, cross-platform coordination, and engineering work across both legacy and modern user interface systems. The process to implement dark mode across the app included consideration on the visuals, colors, and icons that are mode specific to maintain legibility and brand consistency. The New York Times Games team is excited to have delivered this feature before the end of 2025, and thrilled to be able to roll out a feature that continues to make our app accessible for all. Development Work on Mobile On the development side, the mobile and web engineers synchronized assets which were colors, fonts, and images to ensure that hybrid screens showed the correct styles and colors. This was possible since our design system across mobile was constructed in a way that encouraged consistency and scalability across platforms. With clear and easy to follow designs supported by our internal design system, Android and iOS could ensure consistency on both platforms. Screens in dark mode From an Android perspective, it required separate approaches for XML (Extensive Markup Language) based screens which use an imperative, hierarchical approach and Jetpack Compose screens that use a more modern declarative approach. XML and Jetpack Compose are different ways the UI can be constructed. To ensure dark mode compatibility, all features were revisited to make sure they were adapted, especially the additions that were being worked on during the dark mode project. Another aspect of this development was updating external libraries that required making pull requests, creating a versi

## Когда данных от Apple недостаточно: собираем метрики производительности UI

DevFeed: [Когда данных от Apple недостаточно: собираем метрики производительности UI](<https://devfeed.tech/articles/apple-ui-30697.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/hh/articles/988322/>)

Author: hurmavbatone (hh.ru)

Published: 2026-01-26T14:02:45Z

Content type: tutorial

Language: ru

Sources: [HeadHunter RU](<https://devfeed.tech/sources/headhunter-ru.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [fps](<https://devfeed.tech/tags/fps.md>), [ios](<https://devfeed.tech/tags/ios.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [tag-b92bf5906bbd](<https://devfeed.tech/tags/tag-b92bf5906bbd.md>), [tag-c6d5400b7d88](<https://devfeed.tech/tags/tag-c6d5400b7d88.md>), [tag-cb5ff012b3f0](<https://devfeed.tech/tags/tag-cb5ff012b3f0.md>), [ui](<https://devfeed.tech/tags/ui.md>), [uikit](<https://devfeed.tech/tags/uikit.md>)

### AI overview

An iOS developer from hh.ru describes building custom UI performance metrics collection after Apple's default data proved insufficient for investigating user-reported freezes and slowdowns. The article discusses the company's SwiftUI- and UIKit-based applications and metrics such as Hitch Rate, Hang Rate, and FPS.

### Source excerpt

Привет, Хабр! Меня зовут Виталий Барабанов, я iOS-разработчик в hh.ru. Недавно мы столкнулись с проблемой: пришёл фидбэк от пользователей о тормозах и фризах в мобильном приложении. Но чтобы установить их причину, нам не хватило данных, которые по дефолту собирает Apple. Что делать в такой ситуации? А запилить собственный сбор метрик: с какой угодно фильтрацией, сбором любой информации, интеграцией со своей аналитикой и наблюдением в дебаг-панели! В статье я хочу поделиться с Хабром, как мы это сделали, сколько времени потратили и как интерпретировали результаты. Читать далее

## SwiftUI Custom URL Schemes

DevFeed: [SwiftUI Custom URL Schemes](<https://devfeed.tech/articles/swiftui-custom-url-schemes-21088.md>)

Original publisher: [Read original article](<https://useyourloaf.com/blog/swiftui-custom-url-schemes/>)

Author: Keith Harrison

Published: 2025-10-27T11:26:47Z

Content type: tutorial

Language: en

Sources: [K. Harrison](<https://devfeed.tech/sources/k-harrison.md>)

Topics: [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [WebView](<https://devfeed.tech/topics/webview.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [WebKit](<https://devfeed.tech/topics/webkit.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [auto-layout](<https://devfeed.tech/tags/auto-layout.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-26](<https://devfeed.tech/tags/ios-26.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [scheme](<https://devfeed.tech/tags/scheme.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [web](<https://devfeed.tech/tags/web.md>), [webview](<https://devfeed.tech/tags/webview.md>), [wwdc](<https://devfeed.tech/tags/wwdc.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This tutorial explains how to create a custom URL scheme handler for SwiftUI WebViews in iOS 26. It covers implementing URLSchemeHandler, loading local HTML resources from an app bundle, registering the handler in a WebPage configuration, and displaying the page in a WebView.

### Source excerpt

Create a custom URL scheme handler for SwiftUI WebViews. Custom URL schemes Apple introduced both WebView and WebPage SwiftUI views in iOS 26. These provide similar WebKit functionality to the UIKit WKWebView APIs. This includes being able to register custom URL schemes to load local resources. Suppose I have an App that loads quotations from the local App bundle. My URL scheme uses the format: quotes://001.html There are a few steps to support a custom URL scheme: Create a custom URL scheme handler that knows how to load the local resources. Register the scheme handler in a WebPage configuration. Have the WebView load and display the web page. Let's look at each of those steps. URLSchemeHandler (iOS 26) The URLSchemeHandler is a protocol with a reply method to return an async sequence of results. The AsyncSequence expects us to either yield a URLResponse and some data or throw an error. struct QuoteSchemeHandler: URLSchemeHandler { static let scheme = "quotes" func reply(for request: URLRequest) -> some AsyncSequence< URLSchemeTaskResult, any Error > { AsyncThrowingStream { continuation in ... } } } The reply method provides us with the URLRequest. I start by extracting the URL and checking it matches our quotes scheme: guard let url = request.url else { continuation.finish(throwing: QuoteError.missingURL) return } guard url.scheme == QuoteSchemeHandler.scheme else { continuation.finish(throwing: QuoteError.invalidScheme) return } To construct the URL response I need the mime type and length of the data. I first extract the filename from the URL, determine the mime type from the file extension, and then load the data: do { let file = try filename(for: url) let mimeType = try mimeType(for: file) let data = try Data(contentsOf: file) I can then build the URLResponse: let response = URLResponse( url: url, mimeType: mimeType, expectedContentLength: data.count, textEncodingName: "utf-8" ) If nothing has gone wrong I then add the response and the data to the AsyncSequenc

## Swift Default Value in String Interpolations

DevFeed: [Swift Default Value in String Interpolations](<https://devfeed.tech/articles/swift-default-value-in-string-interpolations-21087.md>)

Original publisher: [Read original article](<https://useyourloaf.com/blog/swift-default-value-in-string-interpolations/>)

Author: Keith Harrison

Published: 2025-09-07T08:51:46Z

Content type: tutorial

Language: en

Sources: [K. Harrison](<https://devfeed.tech/sources/k-harrison.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Localization (l10n)](<https://devfeed.tech/topics/localization.md>)

Tags: [auto-layout](<https://devfeed.tech/tags/auto-layout.md>), [ios](<https://devfeed.tech/tags/ios.md>), [learn](<https://devfeed.tech/tags/learn.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swift-6-2](<https://devfeed.tech/tags/swift-6-2.md>), [wwdc](<https://devfeed.tech/tags/wwdc.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

Swift 6.2 adds a default value parameter for string interpolation, allowing optional values of any type to use a specified fallback string. The article also notes that this parameter does not currently work with LocalizedStringKey.

### Source excerpt

Swift 6.2 makes it easier to interpolate strings with optional values. What's The Problem? In this SwiftUI view I need to create a text string from an optional integer value: struct CounterView: View { let count: Int? var body: some View { Text("The count is \(count)") } } The compiler warns about the optional value: String interpolation produces a debug description for an optional value; did you mean to make this explicit? The compiler suggests either providing a default value or to use String(describing:) to silence the warning. Using the nil-coalescing operator to provide a default value removes the warning but is not ideal. The default value has to match the type of the optional value. That can work when dealing with an optional string. In this example I have an optional Int and there may not be a sensible default value for the nil case. For example, I could use zero: // The count is 0 Text("The count is \(count ?? 0)") The alternative of using the String(describing:) approach is both clumsy and ends up showing the nil value: // The count is nil Text("The count is \(String(describing: count))") What I want is a way to provide a default string regardless of the type of the optional value. Default Value Parameter In Swift 6.2, String interpolation has a new default value parameter that accepts a string regardless of the type of the optional value: // The count is not set Text("The count is \(count, default: "not set")") That's an improvement over outputting nil. Localization One issue is that I've been unable to get this to work with localization. The problem seems to be that LocalizedStringKey doesn't support the default value parameter. So this doesn't work: // Not Supported let key = LocalizedStringKey("The count is: \(count, default: "not set")") Learn More SE-0477 Default Value in String Interpolations Swift Default Value in String Interpolations was originally posted 07 Sep 2025 on useyourloaf.com. Want this direct to your inbox? Sign up and get my free WWDC

## Apple Intelligence

DevFeed: [Apple Intelligence](<https://devfeed.tech/articles/apple-intelligence-11533.md>)

Original publisher: [Read original article](<https://www.kodeco.com/ios/programs/apple-intelligence>)

Published: 2024-09-20T00:00:00Z

Content type: article

Language: en

Sources: [Kodeco | High quality programming tutorials: iOS, Android, Swift, Kotlin, Unity, and more](<https://devfeed.tech/sources/kodeco-high-quality-programming-tutorials-ios-android-swift-kotlin-unity-and-more.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [AI Development](<https://devfeed.tech/topics/ai-development.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [ChatGPT](<https://devfeed.tech/topics/chatgpt.md>), [Front end](<https://devfeed.tech/topics/frontend.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-apis](<https://devfeed.tech/tags/ai-apis.md>), [apple](<https://devfeed.tech/tags/apple.md>), [chatgpt](<https://devfeed.tech/tags/chatgpt.md>), [git](<https://devfeed.tech/tags/git.md>), [ios](<https://devfeed.tech/tags/ios.md>), [program](<https://devfeed.tech/tags/program.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [vision](<https://devfeed.tech/tags/vision.md>)

### AI overview

A program description for an eight-week course on integrating Apple Intelligence into iOS apps. The curriculum covers Genmoji, Siri integration, Apple machine-learning models for translation and computer vision, and third-party tools such as ChatGPT, with prerequisites in SwiftUI, networking, concurrency, APIs, Git, and GitHub.

### Source excerpt

Discover the multitude of ways to integrate Apple Intelligence into your apps, from creating amazing user experiences through Genmoji and deep integration with Siri, through leveraging Apple's ML models for translation and computer vision, to building on third-party tools such as ChatGPT.

## Getting Started with SwiftUI

DevFeed: [Getting Started with SwiftUI](<https://devfeed.tech/articles/getting-started-with-swiftui-11525.md>)

Original publisher: [Read original article](<https://www.kodeco.com/ios/paths/getting-started-swiftui>)

Published: 2024-06-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Kodeco | High quality programming tutorials: iOS, Android, Swift, Kotlin, Unity, and more](<https://devfeed.tech/sources/kodeco-high-quality-programming-tutorials-ios-android-swift-kotlin-unity-and-more.md>)

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

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [badge](<https://devfeed.tech/tags/badge.md>), [course](<https://devfeed.tech/tags/course.md>), [getting-started](<https://devfeed.tech/tags/getting-started.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ios](<https://devfeed.tech/tags/ios.md>), [learning](<https://devfeed.tech/tags/learning.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [user-interface](<https://devfeed.tech/tags/user-interface.md>), [user-interfaces](<https://devfeed.tech/tags/user-interfaces.md>)

### AI overview

A beginner learning path that introduces SwiftUI, Apple's declarative user interface framework for iOS development. It covers views, view hierarchies, custom views, adaptive interfaces, and navigation.

### Source excerpt

This course introduces the fundamental concepts of SwiftUI, Apple's declarative user interface framework for building iOS applications. You'll delve into the world of SwiftUI, learning how to create responsive user interfaces with ease. The course covers essential topics such as views, hierarchies and navigation providing a solid foundation for developing iOS apps.

## Networking & Concurrency in SwiftUI

DevFeed: [Networking & Concurrency in SwiftUI](<https://devfeed.tech/articles/networking-concurrency-in-swiftui-11527.md>)

Original publisher: [Read original article](<https://www.kodeco.com/ios/paths/networking-concurrency-swiftui>)

Published: 2024-06-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Kodeco | High quality programming tutorials: iOS, Android, Swift, Kotlin, Unity, and more](<https://devfeed.tech/sources/kodeco-high-quality-programming-tutorials-ios-android-swift-kotlin-unity-and-more.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [networking](<https://devfeed.tech/topics/networking.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [concurrency](<https://devfeed.tech/tags/concurrency.md>), [course](<https://devfeed.tech/tags/course.md>), [http](<https://devfeed.tech/tags/http.md>), [ios](<https://devfeed.tech/tags/ios.md>), [json](<https://devfeed.tech/tags/json.md>), [memory](<https://devfeed.tech/tags/memory.md>), [networking](<https://devfeed.tech/tags/networking.md>), [performance](<https://devfeed.tech/tags/performance.md>), [programming](<https://devfeed.tech/tags/programming.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>)

### AI overview

A beginner-oriented learning path covering networking and concurrency in SwiftUI for iOS development. It teaches network protocols, HTTP requests and responses, URLSession, JSON parsing, asynchronous programming, multithreading, performance optimization, and memory management.

### Source excerpt

In this course, you'll delve into the fundamentals of networking and concurrency in iOS development. You'll gain a thorough understanding of network communication protocols, asynchronous programming techniques, and best practices for building high-performance iOS apps. This course is designed for beginners who want to gain confidence in the intricacies of networking and concurrency in the context of iOS development.

## Beginning iOS & Swift

DevFeed: [Beginning iOS & Swift](<https://devfeed.tech/articles/beginning-ios-swift-11534.md>)

Original publisher: [Read original article](<https://www.kodeco.com/ios/programs/beginning-ios>)

Published: 2024-06-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Kodeco | High quality programming tutorials: iOS, Android, Swift, Kotlin, Unity, and more](<https://devfeed.tech/sources/kodeco-high-quality-programming-tutorials-ios-android-swift-kotlin-unity-and-more.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [User Interfaces](<https://devfeed.tech/topics/user-interfaces.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Data Management](<https://devfeed.tech/topics/data-management.md>), [Persistence](<https://devfeed.tech/topics/persistence.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [networking](<https://devfeed.tech/topics/networking.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [apps](<https://devfeed.tech/tags/apps.md>), [building](<https://devfeed.tech/tags/building.md>), [developer](<https://devfeed.tech/tags/developer.md>), [guide](<https://devfeed.tech/tags/guide.md>), [ios](<https://devfeed.tech/tags/ios.md>), [program](<https://devfeed.tech/tags/program.md>), [programming](<https://devfeed.tech/tags/programming.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [tools](<https://devfeed.tech/tags/tools.md>), [ui](<https://devfeed.tech/tags/ui.md>), [user-interfaces](<https://devfeed.tech/tags/user-interfaces.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A 15-week Kodeco program for learning iOS app development with Swift, SwiftUI, and Xcode. It covers user interfaces, navigation, data management, persistence, networking, and performance optimization through structured content, projects, and mentor feedback.

### Source excerpt

The Kodeco Beginning iOS & Swift program provides a comprehensive learning experience guided by experienced industry professionals. Gain the in-demand skills you need to excel in building modern iOS apps using Apple's revolutionary UI framework, SwiftUI. You'll begin with an introduction to Apple's Swift programming language, Xcode, and version control. Once you have the fundamental concepts you will learn SwiftUI and craft captivating user interfaces. You'll effortlessly guide users through your apps with built-in navigation tools. As the program progresses you'll navigate your way towards the power of data management, including passing data, state management, and data persistence for dynamic apps. Take a step further with networking and performance optimization techniques, ensuring your apps run smoothly. With the help of your mentor you can progress with confidence, ensuring you have a firm grasp of each concept. This program provides you with the tools to maximize your learning potential towards becoming a sought after iOS developer.

## Sharing & State Management in SwiftUI

DevFeed: [Sharing & State Management in SwiftUI](<https://devfeed.tech/articles/sharing-state-management-in-swiftui-11529.md>)

Original publisher: [Read original article](<https://www.kodeco.com/ios/paths/sharing-state-management-swiftui>)

Published: 2024-06-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Kodeco | High quality programming tutorials: iOS, Android, Swift, Kotlin, Unity, and more](<https://devfeed.tech/sources/kodeco-high-quality-programming-tutorials-ios-android-swift-kotlin-unity-and-more.md>)

Topics: [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [data](<https://devfeed.tech/topics/data.md>), [Persistence](<https://devfeed.tech/topics/persistence.md>), [User Interfaces](<https://devfeed.tech/topics/user-interfaces.md>)

Tags: [course](<https://devfeed.tech/tags/course.md>), [data](<https://devfeed.tech/tags/data.md>), [learning](<https://devfeed.tech/tags/learning.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [techniques](<https://devfeed.tech/tags/techniques.md>), [user-interfaces](<https://devfeed.tech/tags/user-interfaces.md>)

### AI overview

A SwiftUI learning path covering data flow, data binding, state management, and data persistence techniques using SwiftData and UserDefaults.

### Source excerpt

In this course, you will delve into the intricacies of data flow and data binding in SwiftUI, gaining an understanding of how to seamlessly transfer information between different views. You will also explore state management strategies and data persistence techniques.

## Publishing a Kotlin Multiplatform Android, iOS, and macOS app with GitHub Actions

DevFeed: [Publishing a Kotlin Multiplatform Android, iOS, and macOS app with GitHub Actions](<https://devfeed.tech/articles/publishing-a-kotlin-multiplatform-android-ios-and-macos-app-with-github-actions-25577.md>)

Original publisher: [Read original article](<https://www.marcogomiero.com/posts/2024/kmp-app-ci/>)

Author: Marco Gomiero

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

Content type: tutorial

Language: en

Sources: [Posts on Marco Gomiero](<https://devfeed.tech/sources/posts-on-marco-gomiero.md>)

Topics: [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Android](<https://devfeed.tech/topics/android.md>), [compose-multiplatform](<https://devfeed.tech/topics/compose-multiplatform.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [ci](<https://devfeed.tech/tags/ci.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [ios](<https://devfeed.tech/tags/ios.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [macos](<https://devfeed.tech/tags/macos.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>)

### AI overview

This article introduces a series of posts about using GitHub Actions CI to publish the FeedFlow Kotlin Multiplatform app to Google Play, the iOS and macOS App Stores, and GitHub Releases. FeedFlow targets Android, iOS, and macOS, using Jetpack Compose, Compose Multiplatform, and SwiftUI.

### Source excerpt

It's been almost a year since I started working on FeedFlow, an RSS Reader available on Android, iOS, and macOS built with Jetpack Compose for the Android app, Compose Multiplatform for the desktop app, and SwiftUI for the iOS app. To be faster and "machine-agnostic" with the deployments, I decided to have a CI (Continuous Integration) on GitHub Actions to quickly deploy my application to all the stores (Play Store, App Store for iOS and macOS, and on GitHub release for the macOS app).

## How to publish a Kotlin Multiplatform iOS app on App Store with GitHub Actions

DevFeed: [How to publish a Kotlin Multiplatform iOS app on App Store with GitHub Actions](<https://devfeed.tech/articles/how-to-publish-a-kotlin-multiplatform-ios-app-on-app-store-with-github-actions-25579.md>)

Original publisher: [Read original article](<https://www.marcogomiero.com/posts/2024/kmp-ci-ios/>)

Author: Marco Gomiero

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

Content type: tutorial

Language: en

Sources: [Posts on Marco Gomiero](<https://devfeed.tech/sources/posts-on-marco-gomiero.md>)

Topics: [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [compose-multiplatform](<https://devfeed.tech/topics/compose-multiplatform.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [app](<https://devfeed.tech/tags/app.md>), [ci](<https://devfeed.tech/tags/ci.md>), [compose](<https://devfeed.tech/tags/compose.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ios](<https://devfeed.tech/tags/ios.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [macos](<https://devfeed.tech/tags/macos.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A tutorial showing how to deploy a Kotlin Multiplatform iOS app to the App Store using GitHub Actions. It covers release triggers, Xcode version selection, JDK setup, and Gradle setup with caching.

### Source excerpt

SERIES: Publishing a Kotlin Multiplatform Android, iOS, and macOS app with GitHub Actions. Part 1: How to publish a Kotlin Multiplatform Android app on Play Store with GitHub Actions Part 2: How to publish a Kotlin Multiplatform iOS app on App Store with GitHub Actions Part 3: How to publish a Kotlin Multiplatform macOS app on GitHub Releases with GitHub Actions Part 4: How to publish a Kotlin Multiplatform macOS app on App Store with GitHub Actions It's been almost a year since I started working on FeedFlow, an RSS Reader available on Android, iOS, and macOS, built with Jetpack Compose for the Android app, Compose Multiplatform for the desktop app, and SwiftUI for the iOS app.

## Jetpack Compose for iOS: Interoping with native Components - Gustavo Fão Valvassori

DevFeed: [Jetpack Compose for iOS: Interoping with native Components - Gustavo Fão Valvassori](<https://devfeed.tech/articles/jetpack-compose-for-ios-interoping-with-native-components-gustavo-fao-valvassori-38229.md>)

Original publisher: [Read original article](<https://touchlab.co/jetpack-compose-ios-interop>)

Published: 2024-04-25T00:00:00Z

Content type: tutorial

Language: en

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

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [compose](<https://devfeed.tech/tags/compose.md>), [compose-ios](<https://devfeed.tech/tags/compose-ios.md>), [compose-mp](<https://devfeed.tech/tags/compose-mp.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [ios](<https://devfeed.tech/tags/ios.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [migration](<https://devfeed.tech/tags/migration.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [uikit](<https://devfeed.tech/tags/uikit.md>)

### AI overview

A tutorial explaining how Jetpack Compose for iOS interoperates with SwiftUI and UIKit. It covers embedding Compose elements in native iOS views, embedding SwiftUI views in Compose, and sharing data between Swift and Kotlin.

### Source excerpt

One of the best features of Compose is its interoperability. With Compose iOS, you can interop with both UIKit and Swift UI.

[Next page](<https://devfeed.tech/topics/swiftui.md?cursor=WyIyMDI0LTA0LTI1VDAwOjAwOjAwKzAwOjAwIiwgImZkYTg2MzU2LTc1NDYtNDIxZC05YWU5LTgwMzQ1Mzk5NjRlMyJd>)