ZipZap
RxSwift
ZipZap | RxSwift | |
---|---|---|
2 | 9 | |
1,217 | 24,158 | |
- | 0.1% | |
0.0 | 7.4 | |
over 2 years ago | 3 days ago | |
Objective-C | Swift | |
BSD 3-clause "New" or "Revised" 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.
ZipZap
-
Awesome macOS Libraries List
ZipZap - zip file I/O library. Language: Objective-C.
-
Python – Create large ZIP archives without memory inflation
Streaming zip file is going to have issues when compression ratio is not 0 for some implementations (such as ZipFileStream from Java / Android). I fixed this a few years ago for ZipZap: https://github.com/pixelglow/ZipZap/pull/155
Particularly, the local header (per file) is written before the file content, and you cannot get accurate compressed size prior to actual compression. Central file header is at the end of the file, so there is no problem to get accurate compressed size, but some zip reader implementations (such as ZipFileStream) cannot use central file header (because it is at the end), and will use the wrong compressed size.
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?
ZipArchive - ZipArchive is a simple utility class for zipping and unzipping files on iOS, macOS and tvOS.
ReSwift - Unidirectional Data Flow in Swift - Inspired by Redux
Zip Foundation - Effortless ZIP Handling in Swift
PromiseKit - Promises for Swift & ObjC.
KZFileWatchers - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools.
Bond - A Swift binding framework
FileExplorer - FileExplorer is a powerful iOS file browser that allows its users to choose and remove files and/or directories
ReactiveKit - A Swift Reactive Programming Kit
AppFolder - 🗂 Never use NSSearchPathForDirectoriesInDomains again
ReactiveSwift - Streams of values over time
Ares - Zero-setup P2P file transfer between Macs and iOS devices
ReactiveCocoa - Cocoa framework and Obj-C dynamism bindings for ReactiveSwift.