Native all the way, until you need text

TL;DR

A long-standing native development approach for macOS/iOS struggles with advanced text and Markdown features. Developers are increasingly turning to web-based frameworks like Electron for better performance and flexibility, despite native SDKs being mature and well-understood.

A seasoned macOS/iOS developer has publicly shared that native SDKs, including SwiftUI, AppKit, and TextKit, are insufficient for building complex, feature-rich chat applications with Markdown support, leading many developers to adopt web-based frameworks like Electron.

The developer recounts attempting to implement a simple chat app with Markdown in SwiftUI, only to encounter significant limitations in text selection, streaming, and performance. Moving to NSTextView and TextKit 2 improved some aspects but introduced new issues such as flickering cells and poor streaming performance. Efforts to leverage AppKit and lower-level TextKit 2 prototypes revealed persistent problems, especially with streaming and feature parity.

Eventually, the developer turned to WebKit for rendering Markdown, which proved to be more reliable, performant, and easier to control. Surprisingly, using Electron for the same task yielded even better results, with native-like performance, excellent typography, and seamless integration with macOS features. This experience has led to the realization that native SDKs, despite their maturity, are not practical for complex, long-form, rich text applications, especially those involving dynamic content like chat messages.

Why It Matters

This development highlights a growing challenge for native macOS and iOS app developers: native SDKs are increasingly unable to meet the demands of modern, feature-rich, real-time text applications. As a result, many are opting for web-based frameworks, which offer better performance, flexibility, and ease of use for complex text rendering. This shift could influence future development practices and platform strategies, especially for applications heavily reliant on advanced text features.

Amazon

MacBook Pro external keyboard

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Background

For nearly two decades, developers have relied on Apple’s native SDKs—SwiftUI, AppKit, TextKit—for building macOS and iOS apps. While these tools excel at simple interfaces, their limitations become apparent when implementing complex features like Markdown rendering, rich text editing, and streaming responses. The recent experiences shared on platforms like Hacker News reflect a broader frustration among developers, which is increasingly leading to the adoption of web technologies such as Electron, despite their non-native nature.

“I still cannot make a simple thing work properly: a chat with Markdown & the ability to select a whole message.”

— Anonymous developer

“WebKit just works. Performance is good. Typography is almost perfect. You have a proper level of control.”

— Developer in the article

Amazon

Markdown editor for Mac

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

What Remains Unclear

It remains unclear whether Apple plans to address these limitations in future SDK updates or if native frameworks will ever fully support the advanced text features now common in modern applications. The extent to which this trend will influence native development practices is also uncertain.

Amazon

Rich text editing software Mac

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

What’s Next

Developers are likely to continue experimenting with hybrid approaches, combining native and web technologies. Future updates from Apple may improve native SDKs, but the current consensus suggests a significant shift towards web-based solutions for complex text and chat applications. Monitoring SDK updates and community discussions will be crucial to understanding the evolving landscape.

Amazon

Electron app development tools

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Key Questions

Why are native SDKs insufficient for complex chat and text apps?

Native SDKs like SwiftUI and TextKit struggle with features such as smooth streaming, text selection, and rendering complex Markdown content, especially in real-time applications.

What advantages do web-based frameworks like Electron offer?

Electron and similar frameworks provide better performance, more flexible rendering, and easier implementation of features like Markdown support, with out-of-the-box compatibility with macOS features.

Does this mean native development is obsolete for rich text applications?

Not necessarily, but it indicates that native SDKs currently have significant limitations for complex, long-form, dynamic text features, leading developers to prefer web solutions for such use cases.

Will Apple improve native SDKs to better support these features?

It is not yet clear if future updates will address these gaps, as the current trend suggests native SDKs are not keeping pace with the demands of modern, feature-rich applications.

You May Also Like

Anduril raises $5B, doubles valuation to $61B

Anduril secures a $5 billion Series H funding round, boosting its valuation to $61 billion, amid rising defense tech investments and expanding contracts.

Sony ups its new A7R VI to 66.8 megapixels and jumps the price to $4,500

Sony unveils the A7R VI with a 66.8-megapixel stacked sensor, improved features, and a $4,500 price, marking a significant upgrade for high-resolution shooters.

Detailing Every Senator’S Stance on the Robert F. Kennedy Jr. Nomination Vote

Join us as we explore each senator’s position on Robert F. Kennedy Jr.’s nomination vote, revealing unexpected alliances and contentious debates. What influenced their decisions?

Hot Topic: No One Born After 1989 Can Identify 12/18 Of These ’80s Animated Movies From A Single Screenshot

Struggling to recognize iconic ’80s animated films? Discover which classics might stump a generation and explore their lasting impact on childhoods everywhere.