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.

OMOTON Wired Keyboard for Mac Devices ONLY with Dual Interface, Comfortable Typing Angle & Stable Connection, Compatible with MacBook, iMac, Mac mini, PC-White

OMOTON Wired Keyboard for Mac Devices ONLY with Dual Interface, Comfortable Typing Angle & Stable Connection, Compatible with MacBook, iMac, Mac mini, PC-White

The Wire Keyboard Compatible with macOS ONLY (version 11.3 +). Not fully functional with non-Mac devices. For Mac/…

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

Dear Editor

Dear Editor

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.

MixPad Multitrack Recording Software for Sound Mixing and Music Production Free [Mac Download]

MixPad Multitrack Recording Software for Sound Mixing and Music Production Free [Mac Download]

Mix an audio, music and voice tracks

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.

Kaisi Professional Electronics Opening Pry Tool Repair Kit with Metal Spudger Non-Abrasive Nylon Spudgers and Anti-Static Tweezers for Cellphone iPhone Laptops Tablets and More, 20 Piece

Kaisi Professional Electronics Opening Pry Tool Repair Kit with Metal Spudger Non-Abrasive Nylon Spudgers and Anti-Static Tweezers for Cellphone iPhone Laptops Tablets and More, 20 Piece

Kaisi 20 pcs opening pry tools kit for smart phone,laptop,computer tablet,electronics, apple watch, iPad, iPod, Macbook, computer, LCD…

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

Bear spray is exploding in the trash near Yellowstone National Park

Incidents of bear spray cans exploding in trash near Yellowstone have increased, posing risks to workers and highlighting disposal challenges amid rising park visitors.

Australia takes aim at rising fuel prices with annual budget

Australia’s new budget commits 14.8 billion AUD to boost fuel and fertilizer supplies amid global energy shocks, aiming to address rising fuel costs.

Reddit stock drops 6% after Meta launches standalone app for online forums / Reddit’s stock is now down almost 40% this year despite a strengthening online ad business

Reddit stock falls nearly 6% following Meta’s test launch of Forum, a new app aimed at competing with Reddit for online discussions.

Avi Kaplan's Secret Relationship Unveiled

Keen to unravel the mystery behind Avi Kaplan's concealed relationship with Mariana Strahan? Prepare to be swept away by their captivating journey.