Native all the way, until you need text

TL;DR

A seasoned macOS/iOS developer highlights persistent limitations in native SDKs for complex text and Markdown rendering. Despite familiarity with SwiftUI, AppKit, and TextKit, building feature-rich, performant chat interfaces remains difficult, pushing developers toward web-based solutions like Electron.

A seasoned macOS/iOS developer has publicly detailed the persistent challenges in implementing complex text and Markdown rendering using native SDKs, leading to a reliance on web-based solutions like Electron for chat applications. This development underscores ongoing limitations in native tools despite extensive platform knowledge, raising questions about native development viability for rich text interfaces.

The developer, with nearly twenty years of experience, attempted to build a simple chat app with Markdown support solely using Swift and SwiftUI. They found SwiftUI adequate for basic screens but inadequate for complex text selection and interaction, especially with Markdown documents. Moving to NSTextView and TextKit 2 introduced performance issues, streaming problems, and visual artifacts like blinking cells, which are by design. Further attempts to use lower-level TextKit 2 proved similarly problematic, especially with streaming text.

Switching to WebKit, the developer found that rendering Markdown, managing typography, and performance all worked better out of the box. WebKit provided a more mature, reliable, and feature-rich environment, allowing for quick development of advanced features like Git diffs and rich text rendering. The realization emerged that native SDKs, despite extensive expertise, are insufficient for building feature-complete, performant chat interfaces with complex text interactions. This has led to a broader trend: most modern chat-heavy apps rely on web-based frameworks, as native options fall short in handling long-form, richly formatted text efficiently.

Why It Matters

This situation highlights a fundamental challenge in native app development for complex text interfaces. Despite the advantages of native SDKs, their current limitations in performance, streaming, and feature parity with web-based solutions make it difficult to build rich, interactive chat applications. As a result, developers may increasingly turn to Electron or similar frameworks, impacting the future landscape of macOS and iOS app development. This shift could influence platform strategies, developer choices, and the evolution of native SDKs.

Amazon

macOS Markdown rendering tools

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Background

Over the past decade, native Apple SDKs like SwiftUI, AppKit, and TextKit have been promoted as the best tools for building high-performance, integrated macOS and iOS apps. However, recent experiences shared by an experienced developer reveal that these tools struggle with advanced text rendering, especially when streaming large or complex documents like Markdown. Historically, native SDKs excel in simple UI components but falter with long-form, richly formatted content, leading to a reliance on web technologies for complex interfaces.

The developer’s journey illustrates that, despite familiarity and expertise, native SDKs do not yet fully support the needs of modern, chat-heavy applications with complex text interactions, pushing the industry toward web-based solutions that offer better performance and flexibility out of the box.

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

— Anonymous developer

“SwiftUI is fine for simple screens, but you can get most of that performance from Electron or React Native almost for free.”

— Developer’s reflection

Amazon

native text editing SDKs for macOS

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

What Remains Unclear

It is not yet clear whether Apple will address these limitations in future SDK updates or if third-party tools will fill the gap. The long-term viability of native development for complex text and chat interfaces remains uncertain, and industry trends may continue to favor web technologies for these use cases.

Amazon

Electron-based chat app components

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

What’s Next

Developers will likely continue exploring hybrid approaches, combining native and web components. Monitoring SDK updates from Apple and the evolution of web-based frameworks will be key to understanding future development strategies. Further reports from industry insiders may shed light on whether native SDKs will improve or if reliance on web technologies will grow.

Dear Editor

Dear Editor

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Key Questions

Why are native SDKs struggling with complex text rendering?

Native SDKs like SwiftUI, AppKit, and TextKit are optimized for simple and moderate UI components but lack the performance, streaming capabilities, and feature parity needed for long-form, richly formatted text such as Markdown in chat applications.

Does this mean native development is obsolete for chat apps?

Not necessarily, but current native SDKs are insufficient for building fully featured, high-performance chat interfaces with complex text interactions. Developers may need to rely on web-based solutions or hybrid approaches until native SDKs improve.

Are there alternatives to native SDKs for building rich text chat apps?

Yes, frameworks like Electron, React Native, or web-based solutions with WebKit provide more mature, flexible, and performant environments for complex text rendering and interactions, as demonstrated by recent developer experiences.

Will Apple improve native SDKs for text rendering?

It is uncertain. While Apple regularly updates its SDKs, the recent challenges suggest that native tools may need significant enhancements to meet modern demands for complex, streaming, and interactive text interfaces.

You May Also Like

U.S. DOJ demands Apple and Google unmask over 100k users of car-tinkering app

The US DOJ subpoenaed Apple and Google for data on over 100,000 users of EZ Lynk’s Auto Agent app amid a legal battle over emissions controls and vehicle modifications.

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.8MP stacked sensor, improved autofocus, and a $4,500 price, marking a significant upgrade for high-resolution shooters.

Windows Update will soon revert problematic drivers automatically

Microsoft introduces ‘Cloud-Initiated Driver Recovery’ to automatically revert problematic drivers during Windows updates, enhancing stability and user control.

Android’s latest AI feature predicts what you’ll do next

Google is rolling out a new AI feature on Android that predicts user actions based on habits and location, now available on Pixel 10 devices.