Issue #119

Building AI Moats: Anthropic’s Crackdown and the Apple-Google Alliance

Cover for Weekly Issue 119

As 2026 begins, the AI world has already been hit with two blockbuster announcements.

First, Anthropic took drastic measures to ban third-party command-line interfaces (CLIs) and “wrapper” software from accessing personal Claude subscription accounts (Pro/Max). The official intent is clear: to plug the loophole where users were arbitraging low-cost subscriptions against high-value API usage, and to consolidate this efficient coding experience into an exclusive moat for their official tool, Claude Code.

Close on its heels, Apple officially confirmed a deep partnership with Google. Gemini serves as the cornerstone for Siri and Apple Intelligence, handling backend reasoning and logic. This signifies that in Apple’s AI landscape, Google has secured its status as “infrastructure”—thanks to its profound accumulation of cloud computing and TPU computing power—while OpenAI’s role has been repositioned as an optional “premium add-on.”

These two seemingly unrelated events reveal a significant trend for the AI industry in 2026: as the marginal returns on model capability diminish, raw “intelligence” is no longer the sole barrier to entry. Companies are now aggressively constructing their own differentiated moats.

Anthropic has chosen “vertical integration”, cementing model capabilities into an irreplaceable workflow experience by tightly bundling Claude Code with its subscription plans. Google, on the other hand, has won through “economies of scale”, leveraging the extreme cost control and stability of its TPU clusters to secure a ticket to Apple’s billion-user ecosystem.

In 2025, we were still frequently switching subscriptions based on “which model is smarter.” While each service had its merits, they were highly substitutable. Entering 2026, the window for this kind of “homogeneous competition” is rapidly closing.

In the cash-burning race of AI, time is running out for the “good but mediocre” middle ground. Whether you possess extreme cost advantages (like Google) or an exclusive, killer workflow (like Anthropic), you must possess a “trait” that competitors cannot easily replicate.

I currently subscribe to four different AI services. I believe that before the year is out, retaining just two will likely suffice for all my needs.

The main theme of 2026 will no longer be the numbers game of benchmark leaderboards. Instead, it will be about providing a compelling reason for existence that truly resonates with both business and consumer users—whether through price barriers or ultimate user experiences.

This Week’s Sponsor

AI moves fast. So should your builds

With build caching, selective testing, and actionable insights, your builds, test runs, and CI workflows fly, so your agents get faster feedback and more reliable results.

See it in action →

Recent Recommendations

Surviving tvOS: An Engineering Log of an Atypical Media Player

Within Apple’s vast hardware ecosystem, Apple TV often occupies a somewhat awkward position: it possesses a stable and loyal user base in the living room context, yet it is rarely a priority target for most developers, with the uncertainty of investment versus return deterring many. Ronnie Wong uses an atypical media player as an entry point to review her real-world experiences during tvOS development—ranging from platform limitations and interaction differences to engineering trade-offs and compromises. This article does not attempt to glamorize tvOS, but rather honestly presents how a developer can make rational choices and “survive” under realistic conditions on this “niche but unique” platform.


@_exported import vs. public import

Swift 6 introduced an inconspicuous yet profound new feature: Access-level modifiers on import declarations. This proposal requires developers to explicitly declare access levels when using import to reduce accidental dependency leaks and avoid “silent pollution” of module interfaces. In this article, Alexander Weiß systematically explains the design intent and usage caveats of this mechanism, focusing on the practical differences between public import and @_exported import in terms of module interface exposure, dependency transitivity, and API design. He explains why the former often does not achieve the “re-export” effect that developers intuitively expect. This has strong practical significance for developers who are building SDKs, Swift Packages, or wishing to clarify module boundaries.

After reading this article, I enabled InternalImportsByDefault in my current project and some third-party libraries, and was immediately greeted by a batch of compilation errors, somewhat reliving the experience of first encountering strict concurrency. However, compared to concurrency-related issues, these errors are usually more intuitive and easier to fix. I suggest you turn this setting on as early as possible to avoid facing larger-scale migration costs when it becomes the official default in the future.


The principles and implementation of Universal Links are not complex in themselves, which often gives the illusion of them being “simple and elegant.” However, once introduced into real-world scenarios involving large-scale applications, multiple domains, complex routing, and long-term evolution, the complexity reveals itself rapidly. In this article, Alberto De Bortoli combines his practical experience in large projects to systematically outline the issues often overlooked when using Universal Links at scale: the maintenance cost of AASA files, the uncertainty of caching and activation timing, risks under multi-environment and multi-team collaboration, and the reality that there is almost no “safety net” for debugging and rollback. Alberto reminds developers that when designing deep link solutions, they must prepare for “scale effects” in advance.


Swift Modules and Code/Assets Duplication

As Swift modularization deepens, resource (CodeAssets) management has gradually become an area that is easily overlooked but can cause actual problems in large-scale projects. Paulo Andrade analyzes the problem of duplicate packaging and volume inflation caused by Swift modules and CodeAssets in multi-module dependency scenarios through specific examples. He explains the underlying build and linking mechanisms and discusses feasible avoidance strategies under the current toolchain. Paulo reminds developers: modularization is not just about the design of APIs and dependency relationships; the boundaries and ownership of resources need to be treated just as seriously.


Crafting document-based apps in SwiftUI

Document-Based Apps are a form of application that is both common yet whose complexity is often underestimated. Compared to ordinary applications, their file lifecycle management, permissions and security scopes, and synergy with the system document browsing experience are unfamiliar to many developers. In this article, Alfonso Tarallo uses SwiftUI as the core to systematically outline the key components required to build document-based apps, including the division of responsibilities between FileDocument and DocumentGroup, and how SwiftUI works in synergy with system file mechanisms.


State of Swift 2026

This is a deep observation and trend analysis surrounding the Swift ecosystem. The article defines 2025 as a “year of transformation” for Swift, detailing the evolutionary path of the concurrency model from “strict” to “approachable,” as well as substantial breakthroughs in server-side (such as the Apple Password Service migration case) and Android development. The author does not shy away from community controversies regarding the architecture of SwiftUI versus AppKit, but objectively analyzes the opportunities and challenges within. Rather than a simple technical list, this article serves more as a strategic report, helping developers see the macro picture of Swift’s metamorphosis from a single “App language” to an all-scenario safe language, beyond daily technical details.

Tools

Axiom: Claude Code Agents for iOS Development

Axiom is a knowledge system of Claude Code Agents and Skills for iOS developers maintained by Charles Wiltgen. It systematically organizes development tasks, troubleshooting processes, and best practices that recur in real-world projects into reusable Skills, Agents, and Commands. It covers multiple directions including Swift 6, SwiftUI, concurrency, data persistence, debugging, accessibility, and Apple Intelligence.

Axiom attempts to answer another question: How to systematically entrust experienced engineering judgment to AI assistants. The author also encourages users to exchange practical experiences and feedback in the axiomdev subreddit.


BibTeXKit: Type-Safe BibTeX Parsing Library

BibTeX files are a text-based bibliographic database format widely used in the LaTeX document system to manage references. By maintaining independent .bib files, users can centrally store and reuse citation metadata, with tools automatically handling citation and formatting during the typesetting stage.

BibTeXKit, developed by Ezequiel Santos, is a BibTeX parsing and modeling library written in Swift with a clear objective: to provide a set of type-safe, scalable BibTeX processing capabilities for Swift projects. It maps entries, fields, and citation relationships in BibTeX files to clear Swift data structures, avoiding the complexity of staying at the string level for repeated parsing and manual processing. It is well-suited as a foundational component for bibliography management tools or research-oriented applications.


MirageKit: High-Performance Streaming and Remote Control Framework for Apple Platforms

MirageKit is a streaming framework dedicated to Apple platforms developed by Ethan Lipnik, aimed at achieving low-latency screen casting and control from macOS to iOS, visionOS, or another Mac.

The framework fully utilizes Apple’s latest system features (requires iOS 26+ / macOS 26+), with a core built on ScreenCaptureKit and Metal. It uses UDP for video streaming and supports AWDL peer-to-peer connections, achieving extremely low latency while ensuring image quality (supports 1 virtual display pixel-perfect rendering). Beyond simple screen transmission, MirageKit also enables input reverse control, supporting the forwarding of client-side mouse, keyboard, gestures, and even native menu bar interactions back to the host. For developers looking to build high-performance remote desktops, secondary screen apps, or Vision Pro productivity tools, this is a solution with significant potential.

Please note that MirageKit is still in an early and active stage of development, and breaking changes to the API may occur. The video shown in the tweet is a demonstration of an application Ethan is building based on MirageKit, which is also still under development.

Related Weekly

Subscribe to Fatbobman

Weekly Swift & SwiftUI highlights. Join developers.

Subscribe Now