Replies: 7 comments 7 replies
-
As promised: @yonaskolb @tuxi7x |
Beta Was this translation helpful? Give feedback.
-
To kick things off, @tuxi7x raised a great point regarding the current handling of Alias’ in #152 |
Beta Was this translation helpful? Give feedback.
-
One pain point we have is build times for the generated file for a large graph. Our generated file is 74 thousand lines long, and Xcode even has trouble scrolling through it. I've thought about 2 possible solutions for this that are useful in their own right:
|
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
I wanted to contribute my own personal pain points as a (recently) first-time user of the library. Query buildingFor me, the query builders feel unintuitive at first. Especially I guess because of the term "builder" having a slightly different meaning in Swift these days. I think part of the reason for this design is to enable the library to automatically construct the "query" and only "select" the appropriate parts. However at the calcite, I feel like it goes against Swift principles like "clarity at the callsite" and approachability (especially for new users). I'd love to explore a more Error handlingWhile I understand the history and purpose of using Combine, I feel this is a fairly large barrier in most projects, but even more so here. While it can provide for some more advanced workflows, I feel like it also over-complicates the simpler (and arguably more common) use-cases. I'd love to invert this, providing a scalable approach that solves more for the common use-cases, and still allows (even if more involved) for he more advanced workflows. Improving error propagation would go a long way to enabling the API consumer to implement those more advanced workflows IMO. DocumentationThere's a ton of great documentation from the website, to header docs in this project which is great! However I did find it problematic (and in some cases out-dated) as a first-time user, to understand how to get setup. I feel we could have a better onboarding experience, as well as ensure header docs – particularly on primary APIs – have far more detail and demo code included, avoiding the need to reach out to another source (README, website, source-code). Additionally, the README doesn't show even one simple example to help a user quickly get started. They are essentially forced to visit the website AFAICT. This is less than ideal. LimitationsOne of the biggest limitations I hit initially was needing support for multiple queries in a single network call: query {
foo
}
query {
bar
} I found this particularly difficult to overcome, and while this could just be my (current) limited understanding of the library, I'm sure others would encounter this at some point and have similar concerns. Again, I won't go into too much solutionising here, but I wonder again if SummaryOverall, my personal findings have led me to believe a larger design update is required that could bring substantial improvements to the consumer API, approachability and likely even the maintainability over time. |
Beta Was this translation helpful? Give feedback.
-
@pokryfka in #177 you raised some great points regarding release notes. As I mentioned in my experience these have not been as valuable in open source as I'd hope. However I do agree they can be useful at times. To that end, I have a suggestion I'd love to get your input on. Currently we have an action that runs when we merge branches into What if we update that action to include an update to the README that kind of "pins" the latest release notes near the top of the README. We could delimit this with markdown dividers making it easy to parse and replace. This way the README (including in Xcode) would include the latest release notes and therefore any associated links to issues etc. Would love input on this – I think it could be a nice solution? |
Beta Was this translation helpful? Give feedback.
-
Just a quick note, I've broken out the Consumer API portion of this discussion here: #194 for anyone interested 👍 |
Beta Was this translation helpful? Give feedback.
-
Developer Experience
Overview
The current developer experience, particularly for a new library consumer, is less than ideal. While its a great library and simplifies much of the GraphQL experience, it can still be fairly cumbersome and non-intuitive at times.
To address this we’re opening this discussion, not to discuss potential solutions (yet), but rather to discuss pain points and current developer experiences. This should cover areas such as:
Ultimately its important to better understand the current experience from existing users, before we can explore solutions to these problems.
We would appreciate any and all feedback, however critical, to enable us to provide a better experience as a part of our v6 release plans
Beta Was this translation helpful? Give feedback.
All reactions