Sins of Carthage: #RxSwift Re-Entrancy, Undetected https://christiantietze.de/posts/2025/01/sins-of-carthage-rxswift-re-entrancy-undetected/

I mixed ReSwift (which doesn't mind if you dispatch an action that updates the state from within a subscription) with RxSwift (to manage observable subscription lifetimes) in a naive way -- and only now got the bill handed to me.

Reentrancy!

Sins of Carthage: RxSwift Re-Entrancy, Undetected

Where I realize that building dependencies in DEBUG mode can offer insights.

Christian Tietze
I still believe that Reactive Extensions (as in: #rxswift) were a great idea, and that Combine is an amazing 1st party framework, and that async/await is not cutting it

🎉 Just created two versions of my Dessertly project to showcase the difference b/t Swift Concurrency & RxSwift with SwiftUI, including networking & unit tests!

🍰 Swift Concurrency: https://github.com/scotteg/Dessertly
🍰 RxSwift: https://github.com/scotteg/Dessertly-RxSwift

#iOSDev #Swift #SwiftUI #RxSwift

GitHub - scotteg/Dessertly

Contribute to scotteg/Dessertly development by creating an account on GitHub.

GitHub

I've been using #RxSwift for a couple of years. Anything that's really complex, like combining multiple streams, then thottling them by uniquing parts of one stream, is not *that* straightforward and easy to understand and follow.

All of programming is hard, no matter the tool.

#Swift concurrency question:

Do y'all migrate #RxSwift view-updating closures (e.g. RxCocoa.Binder's blocks) to MainActor-isolated closures, or do you do something different entirely?

Marco Sanna zeigt in seinem Vortrag "Von UIKit zu SwiftUI - Eine Refactoring Reise" auf der #Macoun23 am Beispiel einer aktiv genutzten Produktivapp, wie eine komplexe Änderung der Architektur ohne Einschränkungen für Benutzer und Entwicklungsteam umgesetzt werden kann.

Sei dabei: https://macoun.de/anmelden

#SwiftUI #Storyboards #RxSwift #CleanArchitecture #AsyncAwait #macounFFM

Currently refactoring my entire #swift app from #RxSwift to Combine is far more easy than expected. Most painful parts are type safety weirdness (hello CombineLatest!) and tests relying on test scheduler that need some revamp. Oh. By the way, that’s also a nice opportunity to properly split in #SwiftPackage for modularity. Still far from complete but in pretty good shape for now. #iosdev #refactoring

Converted another library to #SwiftPM compatibility.
https://github.com/CleanCocoa/Omnibar

With that, I could likely transition my #RxSwift code to use SPM instead of Carthage.

GitHub - CleanCocoa/Omnibar: Text field component that supports term auto-completion and keyboard navigation

Text field component that supports term auto-completion and keyboard navigation - GitHub - CleanCocoa/Omnibar: Text field component that supports term auto-completion and keyboard navigation

GitHub

Dependency 2/N updated!

This time a #RxSwift file monitor extension.

--------------
🎉 Congrats

🚀 RxFileMonitor (4.0.0) successfully published
📅 December 22nd, 16:23
🌎 https://cocoapods.org/pods/RxFileMonitor
👍 Tell your friends!

RxFileMonitor

RxSwift reactive wrapper for Mac file system events.

CocoaPods
以下のタグの Qiita 記事がこの1時間に投稿されました。
➖➖➖➖➖➖➖➖➖➖
#android
#androidstudio
#aws
#aws_cli
#boto3
#channel
#concurrent
#cordova
#cron
#crossbeam
#deeplearning
#delphi
#dialoguesystem
#docker
#ebs
#ec2
#echo
#http
#ifttt
#install
#ios
#lstm
#mac
#nodejs
#php
#php56
#pytorch
#raspberrypi
#reinforcementlearning
#rnn
#rust
#rxswift
#skills
#timezone
#tutorial
#typescript
➖➖➖➖➖➖➖➖➖➖
各 Qiita 記事へのリンクは、このトゥートのスレッドに「非公開」もしくは「未収載」でトゥートされています。
スレッドを見るにはこのトゥートをクリックしてください。