🌖 Bonsplit – SwiftUI 原生 macOS 分割分頁標籤列
➤ 開箱即用的 SwiftUI macOS 多窗格分頁管理方案
✤ https://bonsplit.alasdairmonk.com
Bonsplit 是一款專為 macOS SwiftUI 應用程式打造的客製化分頁標籤列與分割窗格佈局庫。它開箱即用,支援 120fps 動畫、拖曳排序、SwiftUI 整合及鍵盤導航。開發者可透過 `BonsplitController` 輕鬆管理分頁與窗格,包含建立/關閉/更新分頁、水平/垂直分割窗格、焦點導航等操作。該庫提供完整的 API 參考與委託協定,允許深度自訂行為與外觀,例如是否允許分割、自動關閉空窗格、內容視圖生命週期管理等,讓開發者能快速建構類似程式碼編輯器或檔案總管的多窗格介面。
+ 這個庫看起來很適合拿來做程式碼編輯器或檔案管理工具,尤其是支援 120fps 動畫和鍵盤導航,操作起來應該會很流暢。
+ 透過委託協定可以接收各種事件回調,這對於需要複雜互動的應用來說非常實用,而且配置選項也很豐富。
#SwiftUI 開發工具 macOS 介面元件
Uncovered one last issue in yesterday's tests, and I’m still stumped haha. Tomorrow night, let's take another stab at trying to understand where it's going wrong. See you then!
🔜 Tomorrow’s stream: https://youtube.com/live/sUMGlxGp9rM
⏮️ Playlist so far: https://www.youtube.com/playlist?list=PLRxjf93xotuofCtaxtGOcWeuxVZYJyY-m
📲 Download Jiiiii: https://apps.apple.com/app/apple-store/id6472801548?pt=14724&ct=MastodonCCStreams&mt=8
#Jiiiii #DevStream #tvOS #visionOS #macOS #iOS #iPadOS #Anime #Swift #SwiftUI #Vapor #WebAuthn #BuildInPublic #TestFlight #PWA #WebPush
I'm making a seasonal anime guide app, in the open for all to experience and learn from.
Let’s start integrating yesterday's fix back into Jiiiii!
#Jiiiii #DevStream #tvOS #visionOS #macOS #iOS #iPadOS #Anime #SwiftLang #SwiftUI #Vapor #WebAuthn #BuildInPublic #TestFlight #PWA #WebPush
Come chill with me: https://youtube.com/live/t7tykY4120g
New fun #swiftui #metalshaders project: CMYK separation, with gesture controllable per-separation-layer offsets. Bonus: using my mask manager AND paper-construction libraries together to create halftone masks on each layer.
Note: this exploration started as a way to emulate Xerox, but ended up here.

Textual 0.3.0 is out, introducing a new overflow table style.
Tables can now overflow their container and scroll horizontally, making wide content much nicer to read in SwiftUI.
https://github.com/gonzalezreal/textual
After spending around 2 years building a quite large scale app in SwiftUI I think I can say it: SwiftUI is a piece of garbage. It really sucks. The idea is actually good, but Apple's execution of it is amazingly terrible. There are so many bugs, undocumented behaviors, memory leaks, just so much bullshit you have to deal with. AppKit an UIKit are not much better either. Is such a rotten development experience that I everyday I wish I had never started with this project. #SwiftUI #Swift #Apple
🎉 Twelve chapters are now available for my book "SwiftUI Architecture: Patterns and Practices for Building Scalable Applications".
https://azamsharp.school/swiftui-architecture-book.html

Anyway, been using NSTableView for my #SwiftUI version of #PDXTransit since it is far more customizable and powerful than `Table`.

Image(systemImage: "translate")
instead of
Image(systemName: "translate")
wouldn't have hurt, if you ask me. #consistency #swiftui
SwiftUIs Environment, EnvironmentObject and even State are as bad as Bindings were in AppKit: lacking build time checks, invisible and bad to debug 🤷♂️ #swiftui
Finally got to a satisfactory place with backpressure stream cancellation, no locks required! Tomorrow, let's integrate back into Jiiiii and make sure everything works. See you then!
🔜 Tomorrow’s stream: https://youtube.com/live/t7tykY4120g
⏮️ Playlist so far: https://www.youtube.com/playlist?list=PLRxjf93xotuofCtaxtGOcWeuxVZYJyY-m
📲 Download Jiiiii: https://apps.apple.com/app/apple-store/id6472801548?pt=14724&ct=MastodonCCStreams&mt=8
#Jiiiii #DevStream #tvOS #visionOS #macOS #iOS #iPadOS #Anime #Swift #SwiftUI #Vapor #WebAuthn #BuildInPublic #TestFlight #PWA #WebPush
Folks, I wrote about Triton, my native #macOS client for omg.lol [1].
And there's a second post where I cover the technical lessons I learned building it [2].
[1] https://otaviocc.url.lol/triton-app
[2] https://otaviocc.url.lol/building-triton