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 gomobile #178

Merged
merged 5 commits into from
Sep 1, 2022
Merged

Add gomobile #178

merged 5 commits into from
Sep 1, 2022

Conversation

nrobi144
Copy link
Contributor

@nrobi144 nrobi144 commented Aug 31, 2022

Description

It opens the door for generating Java and Obj-C bindings. Ultimately my goal is to continuously provide feedback about the usability of the SSI-SDK on mobile.

My next steps would be a greenfield app with examples that demonstrate all of the standards contained by the SSI-SDK (for ex. resolving identifiers, encrypting/decrypting, signing, etc...)

Here's an example using gomobile bind to convert the crypto package to Java and Obj-C
Screenshot 2022-08-31 at 12 06 41

Screenshot 2022-08-31 at 12 30 56

@decentralgabe
Copy link
Member

Great start @nrobi144. Do you think it's worth adding a Mage script (e.g. mage mobile) to run the generation command?
And perhaps adding a doc or section to the README about using this functionality?

@codecov-commenter
Copy link

codecov-commenter commented Aug 31, 2022

Codecov Report

Merging #178 (15dff0d) into main (4ec1e8b) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #178   +/-   ##
=======================================
  Coverage   55.10%   55.10%           
=======================================
  Files          40       40           
  Lines        4368     4368           
=======================================
  Hits         2407     2407           
  Misses       1565     1565           
  Partials      396      396           

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@nrobi144
Copy link
Contributor Author

nrobi144 commented Sep 1, 2022

Great start @nrobi144. Do you think it's worth adding a Mage script (e.g. mage mobile) to run the generation command? And perhaps adding a doc or section to the README about using this functionality?

@decentralgabe 💯 will do that today

@nrobi144
Copy link
Contributor Author

nrobi144 commented Sep 1, 2022

@decentralgabe I've added the ios, android and mobile commands to Mage. This is my first exposure to Go and Mage, so any suggestions are welcome (especially on the error handling part).

FYI: I'm currently building the crypto, cryptosuite and did packages (those seemed good candidates for the API). So far only crypto seems to have exported names, is that because of the early stage of the SDK?

@decentralgabe
Copy link
Member

@decentralgabe I've added the ios, android and mobile commands to Mage. This is my first exposure to Go and Mage, so any suggestions are welcome (especially on the error handling part).

FYI: I'm currently building the crypto, cryptosuite and did packages (those seemed good candidates for the API). So far only crypto seems to have exported names, is that because of the early stage of the SDK?

I'm open to making more of the methods exported! I tried to keep the public API minimal and useful; however if there is utility to be had by making more public methods let's do it.

Copy link
Member

@decentralgabe decentralgabe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

excellent work!

@decentralgabe decentralgabe merged commit a425ff6 into TBD54566975:main Sep 1, 2022
@decentralgabe decentralgabe added this to the Milestone 2 milestone Sep 1, 2022
@ALRubinger
Copy link
Contributor

@nrobi144 Thank you so much! This is awesome!

@nrobi144 nrobi144 deleted the nrobi144/gomobile branch September 2, 2022 10:46
@nrobi144
Copy link
Contributor Author

nrobi144 commented Sep 2, 2022

That makes sense. I'd start with mirroring the ssi-sdk example package on mobile with a simplified UI. @decentralgabe what do you think? I assume examples will demo the API layer of the SSI-SDK so that could guide us what needs to be exported? 🤔

@decentralgabe
Copy link
Member

That makes sense. I'd start with mirroring the ssi-sdk example package on mobile with a simplified UI. @decentralgabe what do you think? I assume examples will demo the API layer of the SSI-SDK so that could guide us what needs to be exported? 🤔

yes I agree with that, and if you run into issues in your work, please open an issue here outlining which APIs you'll need to be made public and for which purpose and I can help get that done.

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.

None yet

4 participants