Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add .NET samples #20

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Add .NET samples #20

wants to merge 1 commit into from

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