Recombine
By ReSwift
swift-parsing
A library for turning nebulous data into well-structured data, with a focus on composition, performance, generality, and ergonomics. (by pointfreeco)
Recombine | swift-parsing | |
---|---|---|
7 | 8 | |
69 | 818 | |
- | 1.7% | |
3.4 | 4.0 | |
3 months ago | 29 days ago | |
Swift | Swift | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
Recombine
Posts with mentions or reviews of Recombine.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-03-29.
-
SwiftUI architecture
Although I used MVVM-style architectures before, I’m now preferring the centralised store Redux-like architectures. However, The Composable Architecture feels too overbearing for me, and feels more like a framework than a library. I’d advise using more lightweight libraries like Recombine which are easily extensible if you need any additional functionality, or even making your very own store architecture to perfectly fit your needs.
-
My first app is now up on the App Store, Damage Calculator for Pokemon!
Yeah, app architecture in SwiftUI can be really difficult. I’d advise you check out this library - Recombine. It provides a really elegant and lightweight solution to app architecture which I really really enjoy.
-
A blogpost on MVVM Paradigm. Any feedback is appreciated :) Trying to learn swift and was intrigued with this architecture pattern :)
Nice article! I love MVVM, but I find it really hard to auto-discipline with it. In a larger app, I tend to get lost with it quite easily, resulting in spaghetti code where I don’t know what’s modifying what and why such thing isn’t working as it’s supposed to be. Recently, I’ve really been enjoying lightweight Redux-like libraries like Recombine (or direct implementations of it like in Swift with Majid’s articles - they incentivise (not force, unlike something like Swift Composable Architecture which can feel a little overbearing) well-structured and clear code. I’d love to hear your thoughts on it in a blog post!
-
Does everybody just not use MVVM or am I just missing something?
How is Swift Composable Architecture in terms of performance with bigger apps - on the Swift forums I’m always seeing posts about bad performance. Also, with The Composable Architecture, you have side effects in the reducer, which seems counterintuitive. What do you think of a library like ReCombine, which seems a bit cleaner and simpler? I’m interested in these Elm-inspired Redux architectures, but don’t want to jeopardise the user experience. And I still haven’t found one which cleanly integrates with SwiftUI’s Core Data.
- Recombine 1.0: An Elm architecture for SwiftUI
-
I just released version 1.0 of Recombine, a built-for-SwiftUI architecture based on Elm’s that takes type-safety to the max
I agree, I think lensing is a super cool feature – it also makes us want to structure our app state and actions even more (who would want to write @EnvironmentObject var lensedStore: SubStore, when you could write @EnvironmentObject var lensedStore: SubStore?). Lensed states are also required to be equatable in Recombine and discard unnecessary UI updates, so you alleviate SwiftUI's diffing and get those sweet performance benefits.
swift-parsing
Posts with mentions or reviews of swift-parsing.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-06-06.
- Swift Ownership Manifesto
-
Does anyone know of a well-maintained Swift libraries that focus specifically on parsing and evaluating mathematical expressions from strings.
No idea about parsing and evaluating in the same library, but there’s an excellent parser library from PointFree.
-
Tour of Parser-Printers: Introduction
Sorry about that, broken links have been fixed in the episode and here's a link to the library: https://github.com/pointfreeco/swift-parsing.
-
Parsing & Formatting Imperial Measurements
If you want to do parsing, I strongly recommend Point-Free's Parsing library!
-
Validating urls in Swift with regex.
Honestly I still have a difficult time understanding Regex’s, and maintaining them can be hard since once small change can completely change how the Regex works. I would instead opt for a real parsing library, like for instance PointFree’s swift-parsing, who’s clear and idiomatic API makes it easy to understand what’s really going on. It’s also very, very performant - almost as performant as making a custom hand-rolled parser.
-
Getting multiple strings and extracting the word within special characters
Personally, I would pull out my parser library and use that (the documentation is lacking, so if you're just starting out it can be hard to figure out what's going on, but you could use Point Free's parser library to do it like so:
-
SwiftUI architecture
I’m currently using the composable architecture. TCA is the result of video series by Point Free that discusses what Apple provides with SwiftUI, in detail, and iterates though the of the evolution of the architecture, to fill in the gaps. Most of the content is available by subscription, but there is free content as well, which includes a four part overview on the architecture itself. I highly recommend subscribing as the detailed walkthrough of building the architecture is extremely useful and helps clarify some of the more complicated aspects of its use.
- Parsing: turn nebulous data into well-structured data, with a focus on composition, performance, & generality
What are some alternatives?
When comparing Recombine and swift-parsing you can also consider the following projects:
swift-composable-architecture - A library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind.
SwiftState - Redux-Like unidirectional data flow for SwiftUI with a Redux-Saga-like side effect model
swift-math-parser - Math expression parser built with Point•Free's swift-parsing package
swift-evolution - This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.
swift - The Swift Programming Language
Swift-ParserKit - A standalone monadic parser-combinator library