SnapKit
RxSwift
Our great sponsors
SnapKit | RxSwift | |
---|---|---|
12 | 9 | |
19,767 | 24,154 | |
0.3% | 0.3% | |
5.4 | 5.9 | |
23 days ago | 7 days ago | |
Swift | Swift | |
MIT License | NOASSERTION |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
SnapKit
-
FixFlex alternatives - Stevia and SnapKit
3 projects | 12 Jan 2024
-
Storyboard vs Programmatic UI
I’ve been using Xcode for the last 13 years or so, and my advice is - us whatever is comfortable and makes sense to you. I use all 3: code*, storyboard and interface builder (xib). They all have their strengths and weaknesses. Storyboards are nice for quick simple screens with table/collection views and cell templates, but sucks when working in a team (merge conflicts on xml files is not fun). Interface builder has the advantage of being really quick for standalone viewcontrollers and views (after some code that takes away the boilerplate part of loading views from nibs) and minimized the git issues. And code is fun when you’re using anchors and frameworks like snapkit (https://github.com/SnapKit/SnapKit) but even when I was doing visual constrains using strings it was fine. Anyway, just try to learn a bit of everything and see what resonates with you. There are no right answers, just preferences.
-
I’ve never thought about what it actually does
If you need to use Auto Layout, I recommend using a wrapper SDK like SnapKit https://github.com/SnapKit/SnapKit that is less verbose and less error-prone and assigns translatesAutoResizingMaskIntoConstraints and isActive automatically.
-
why is UIKit much harder than SwiftUI?
With a library like SnapKit, you can still have the terse, declarative coding style of UIKit. Hell, I once wrote my own poor-man's version of SnapKit on a whim because writing out constraint code manually got tedious.
-
📌 Pin — a tiny library that makes working with AutoLayout easier
SnapKit (19k⭐️) has been providing almost the same thing for years. It is already a standard for many companies.
-
What can be done with UIKit that can't be done with SwiftUI?
With something like SnapKit (I actually rolled my own poor man's version in like 10 minutes, before learning that SnapKit existed), SwiftUI no longer appeals to me because of it's declarative-style DSL.
-
Cracking the iOS Interview
SnapKit - Autolayout DSL for iOS & OS X
-
When looking for SwiftUI information, can I learn by looking at the equivalant UIKit solution, or are they too different?
This. And if you want to learn AutoLayout without the verbosity/complexity of Apple's own APIs, I would look into using SnapKit.
-
Awesome macOS Libraries List
SnapKit - A Swift Autolayout DSL. Language: Swift.
- What are some good UI libraries for UIKit/Appkit?
RxSwift
- RxSwift – Reactive Extensions for Swift
- Reactive Programming in Swift
-
For UIKit apps, what is best practice for VC listening for updates from a service?
I use RxSwift/RxCocoa and The Binder Architecture. That way View Controllers always show the most recent data from the service.
- Rxswift - Reactive Programming in Swift
-
Awesome macOS Libraries List
RxSwift - Reactive Programming in Swift. Language: Swift.
-
Xcode double segue
I do this with RxSwift and my CLE library. Using those you can do something like this:
-
Anyone have a clever way of using third party packages in Swift Playgrounds?
I've tried going to RxSwift's source and copying the RxSwift folder into my playground file's Source folder but no dice, it complains about a source file not being found. I tried flattening all the files into one folder and had the same problem.
-
DispatchGroup in Swift
We have defined what async code is, and two basic issues we could have when working with it: running tasks serially and in parallel. For running tasks in parallel we saw that DispatchGroup can be a simple solution for that. I will recommend using a library for this though. What I taught you here is basic async knowledge, but in real world scenarios, this won't be this straightforward, so using a battle tested library is always an advantage when working in production. I personally recommend using Apple's Combine if you can (it is supported in iOS 13 and above) or using RxSwift otherwise Finally, I can't finish this article without mentioning async-await. With async-await, probably all of this discussion will be a thing of the past. It lets us write async code that can be written like sync code. You can see the proposal (already implemented and that will be released in the next version of swift) here, and even try it in your code following a tutorial like this one.
-
RxSwift - easy, yet not obvious, tips
I think this is the most important thing to understand with all your heart. All subjects, relays and operators might seem scary, especially with Rx-hermetic jargon. But simplifying it in your head to a simple collection will help you to understand all concepts easily. For me it was a sudden click. If you want to learn more, official docs are great source and emphasize this concept: https://github.com/ReactiveX/RxSwift/blob/main/Documentation/GettingStarted.md#observables-aka-sequences
What are some alternatives?
PinLayout - Fast Swift Views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. [iOS/macOS/tvOS/CALayer]
ReSwift - Unidirectional Data Flow in Swift - Inspired by Redux
PureLayout - The ultimate API for iOS & OS X Auto Layout — impressively simple, immensely powerful. Objective-C and Swift compatible.
PromiseKit - Promises for Swift & ObjC.
TinyConstraints - Nothing but sugar.
Bond - A Swift binding framework
FlexLayout - FlexLayout adds a nice Swift interface to the highly optimized facebook/yoga flexbox implementation. Concise, intuitive & chainable syntax.
ReactiveKit - A Swift Reactive Programming Kit
Cartography - A declarative Auto Layout DSL for Swift :iphone::triangular_ruler:
ReactiveSwift - Streams of values over time
Stevia - :leaves: Concise Autolayout code
ReactiveCocoa - Cocoa framework and Obj-C dynamism bindings for ReactiveSwift.