Skip to content

Conversation

@tirth
Copy link

@tirth tirth commented Oct 7, 2022

Hi - here's a first pass at some .NET samples.

I've tried to show the same functionality as the existing ones, let me know what you think!

@rjbs
Copy link
Member

rjbs commented Oct 10, 2022

Heya, @tirth !

I'm not much of a .NET programmer at all, but would be happy to have C# samples. I'll look into someone giving this a proper review, but just glancing at them: these seem to use an external dependency on a JMAP client, which I think nothing else in the repository does, and so those samples show building JMAP from whole cloth, rather than from client libraries. We'll have to think about what's best, generally speaking!

@tirth
Copy link
Author

tirth commented Oct 13, 2022

Hi @rjbs!

Yup I totally see your point, and I wasn't quite sure how to approach that myself, so happy to think it through.

The referenced JMAP library is one that I've just started developing. It provides a very thin layer of strongly-typed C# goodness for JMAP, via some data model classes and JSON converters.

It also builds higher level helper methods on top of the raw request-response functionality, which I included as an extra for the "top ten" example.

I could look at including the required code with the sample project directly, akin to the "tiny_jmap" clients in some of the other examples, but that would pretty much just include all the JmapNet files, as there's not much more to it!

@itsthejoker
Copy link
Contributor

itsthejoker commented Aug 6, 2023

@rjbs the Python client does require an external dependency as written: https://github.com/fastmail/JMAP-Samples/blob/main/python3/requirements.txt

@rjbs
Copy link
Member

rjbs commented Aug 7, 2023

@rjbs the Python client does require an external dependency as written: https://github.com/fastmail/JMAP-Samples/blob/main/python3/requirements.txt

Yes, there are a few external requirements in the sample code, but none is on a JMAP client. My point was "this shows how to implement JMAP requests, not how to use someone else's implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants