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.
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
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.
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.
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.