# 79 - Microsoft Tightens Plugin Restrictions, Google Pushes for the Cloud and What's Next for Xcode?

Published on

Article Image

Photo by Ferenc Almasi on Unsplash

Not long ago, Microsoft significantly enhanced GitHub Copilot’s functionality. In addition to adding support for MCP, it also introduced an Agent mode for AI interaction similar to that of Cursor. As a result, GitHub Copilot has significantly closed the gap with the leading AI code tools. Given its lower pricing strategy (only $10 per month), it is clear that Microsoft is poised to fully enter the commercial AI assistance market and services.

For developers, healthy competition means better products and more cost-effective services. However, many current AI coding tools share identical or very similar underlying implementations with VSCode and often use similar large model combinations. This indicates that, in time, the differences between these tools will become even smaller. Consequently, offering more cost-effective and uniquely valuable features will become the main way for these tools to attract users.

Perhaps to maintain VSCode’s uniqueness, some crucial plugins developed by Microsoft within the VSCode ecosystem—such as Remote SSH, Pylance, Python Debugger, and C/C++—can no longer be used in editors other than VSCode in their latest versions. Although these plugins are closed source, third-party editors had always been allowed to use them; now, they suddenly display a message stating “Only available on Microsoft products”. While this does not violate Microsoft’s licensing during the development of these plugins, this abrupt restriction has inconvenienced many users of other editors. Considering that Microsoft offers a plethora of excellent plugins throughout the VSCode ecosystem, if a significant portion of these can only run on VSCode in the future, it will undoubtedly enhance VSCode’s competitive edge among these editor tools and influence many developers’ choices.

In response to this challenge, the Cursor team quickly rolled out an emergency fix and plans to develop a long-term solution by gradually shifting towards supporting community-driven open-source alternatives. This incident essentially reflects that Microsoft now considers Cursor a serious competitor—a challenger whose AI capabilities can, in some scenarios, surpass the experience of VSCode.

Meanwhile, last week, Google launched Firebase Studio, pushing AI editors into a new realm. This platform, which integrates Project IDX, Genkit, and Gemini, not only supports rapid prototyping using natural language but also allows iterative app development through AI chat, and even provides one-click deployment to Firebase App Hosting. With deep integration into Google’s cloud services, it not only accelerates development and debugging but also significantly lowers deployment difficulties. It is foreseeable that Microsoft, with its own advantages in cloud services, will soon offer similar experiences in VSCode. Much like today’s browsers and search engines, AI development tools will gradually transition from being mere desktop utilities for developers to becoming gateways tightly bound to major corporations.

From a purely commercial perspective, this poses no inherent problem. However, it means that the window of opportunity for small companies and teams developing AI editors will shrink even further. They will have to choose between two paths: either truly differentiate the AI coding experience or rely on community support to maintain an ecosystem as a truly independent development tool. A market that gradually loses its vibrancy will stifle creativity—even though history shows that almost every sector tends to follow a similar trajectory, it is surprising how swiftly and decisively major companies are acting in the AI era.

Amid this wave of transformation in development tools, Apple’s Xcode seems to have yet to demonstrate a clear strategy for AI integration. As the core development tool within the Apple ecosystem, Xcode has long been the top choice for Apple developers due to its seamless integration with the platform. However, with AI reshaping the development experience at an unprecedented speed, adopting a wait-and-see approach is no longer wise. Without significant breakthroughs in the next one to two years, not only will the developer experience lag, but the innovative ecosystem may also suffer. What answer will Apple provide at WWDC 2025? This will determine its platform’s status in the next generation of development paradigms.

This Week’s Sponsor

Need to debug HTTPS on your iPhone?

Try Proxyman! The best-in-class macOS that helps you capture/debug HTTP(s) with a few clicks. Support iOS devices and Simulator.

🚀 Get Started Now →

Original

Building WASM Applications with Swift

With the official release of Swift 6.1, SwiftWasm has received a major upgrade. This milestone marks the first time SwiftWasm is built entirely on top of the official open-source Swift toolchain — no more custom patches. This greatly simplifies installation, reduces system storage usage, and most importantly, lowers maintenance costs across platforms, injecting new energy into the Swift ecosystem. In this article, we explore how to build WebAssembly applications using Swift, showcasing the cross-platform potential of the language.

Recent Recommendations

Rules of Structured Concurrency

Tasks in Swift Concurrency fall into two categories: structured and unstructured. The key difference lies in whether they form parent-child relationships, and whether they support automatic lifecycle, cancellation, and error propagation handling. In this article, Vitaly Batrakov introduces the concept of a task tree and summarizes three key rules for structured concurrency — Error, Group Completion, and Group Cancellation (a.k.a. EGG 🥚). This post is a great read for anyone building mental models for Swift Concurrency.

The Limits of swift-markdown Customization

swift-markdown is Apple’s official Markdown parsing and construction library. It provides a clean API and a Visitor-based traversal model. In this article, Christian Tietze shares the limitations he encountered when building a Markdown processing pipeline with it: while traversal and reading work well, inserting nodes, restructuring the tree, or extending the format are severely restricted. The inability to define new node types, inject subtrees, or extend formatters makes this a textbook case of “looks flexible, but isn’t.” Still, the article also reflects thoughtfully on the boundaries of AST tool design.

Distribute Your Swift CLIs for macOS

Many Swift CLI tools still rely on Mint or Mise for installation, which builds from source. While convenient for maintainers, it leads to slow and fragile installations for users. Pedro Piñera suggests a better approach: distribute precompiled binaries via GitHub Releases + UBI, and integrate with Mise for smooth versioning and installation. In this post, Pedro walks through a reusable release script that handles fat binary creation, compression, signing, and CI-compatible deployment.

Should You SwiftData?

SwiftData has sparked debate since its debut, and many developers are still unsure whether to adopt it. In this post, Leo G Dion shares his experience from building Bushel, and outlines his reasoning. If you favor official Apple frameworks, prefer ORM-style data access, and want to align with modern technologies like SwiftUI, Swift 6, and macros — SwiftData might be the right tool. The article also lists notable alternatives, including GRDB, CoreStore, and Boutique.

Why I Never Subclass UITableViewCell or UICollectionViewCell

While building a shopping app, Srđan Stanić followed the standard pattern of subclassing UITableViewCell and UICollectionViewCell to display product items — until design changes required the same UI to appear in various containers: horizontal scroll, pop-ups, and even static lists. This led to duplication, inflexibility, and unnecessary container overhead. Srđan chose to reverse course: extract layout logic into a standalone UIView, embed it into whichever cell or context is needed, and simplify further using generics. The result? Greater reusability, easier maintenance, and even SwiftUI compatibility.

WWDC25 Wishes

It’s wishlist season again! Majid Jabrayilov shares his hopes for WWDC25 — and they focus squarely on developer tooling:

  • Swift Assist & AI Tooling: Calls for Apple to catch up on AI-powered development support and suggests introducing a dedicated Xcode MCP server to offer Copilot-style assistance.
  • Project.swift for project configuration: Proposes a Swift-native configuration file akin to Package.swift, making version control friendlier and enabling editing in VS Code and other tools.
  • Recycling views in SwiftUI: Hopes SwiftUI will gain a recycling mechanism for efficient rendering of large datasets — something UIKit has long supported via UITableView and UICollectionView.

Every one of Majid’s points resonated with me — especially the push for modern project configuration in a multi-IDE world.

TextRenderer Examples Collection – Prismic

Starting in iOS 18, developers can implement the TextRenderer protocol to transform text appearance before rendering in SwiftUI’s Text component. Paul Hudson created Prismic, an open-source showcase of such effects — from simple Swift-based animations to advanced distortions using Metal shaders. Paul encourages contributors to share creative text renderers via the project.

Want to learn how to build these effects yourself? Check out Creating Stunning Dynamic Text Effects with TextRenderer

Event

AdventureX 2025 Now Open for Global Applications

AdventureX 2025 will take place in Hangzhou, China, from July 23 to 27. This year’s event is set to break records for hackathon scale in China, offering 800 participant slots, along with free accommodation, meals, and travel subsidies. Applications are now open to creators from all around the world.

Participants from countries including the United States, Canada, Japan, Singapore, the United Kingdom, and India have already signed up — the youngest of whom is just 15 years old. Our vision for AdventureX 2025 is to create an open, inclusive space that welcomes people of different cultures and backgrounds. United by their passion for creation, makers from across the globe will gather here to use technology to build a better world.

Weekly Swift & SwiftUI highlights!