Skip to content

Instantly share code, notes, and snippets.

@hsluoyz
Created January 2, 2021 16:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hsluoyz/88240cded73b8f8c0de895974a7ad367 to your computer and use it in GitHub Desktop.
Save hsluoyz/88240cded73b8f8c0de895974a7ad367 to your computer and use it in GitHub Desktop.
Chat with Tomas on Casbin-Dart
Tomás Arias @KNawm Apr 08 2020 22:27
Hi Yang, I submitted a proposal for porting Casbin for Dart, do you happen to know if someone other than me had some interest in the project?
Tomás Arias @KNawm Apr 08 2020 22:35
It is a very interesting project and regardless if I'm selected or not I would love to work on the project in my free time, if there's some interest I think a org-wide repo would be better for that so other people can contribute more easily
What do you think?
Yang Luo @hsluoyz Apr 08 2020 22:37
Hi Tomas, you can ask in Casbin's dev and gsoc channel for Dart interest
What progress has you got?
I personally think if you have working ACL and RBAC at least, I can create such a repo under casbin org
Tomás Arias @KNawm Apr 08 2020 22:47
No code yet as haven't got much free time this week but I've researched the code from all the different implementations and have a clear path on how to begin porting it. My proposal wasn't as thorough as I wanted and I feel that I didn't show enough, I'll start coding and update you.
Hoping that will put me in a better position than where I stand now.
Yang Luo @hsluoyz Apr 09 2020 00:09
OK. Show me the code if possible
Tomás Arias @KNawm Apr 16 2020 20:39
Hi Yang, I'll be making progress here: https://github.com/KNawm/casbin-dart
Tomás Arias @KNawm Apr 16 2020 20:47
If you do have any questions, especially regarding GSoC, please just ask. Thanks
Tomás Arias @KNawm Apr 21 2020 00:16
Hi Yang, I need some guidance, some functions have a variable number of arguments, Dart doesn't have vargars so I've been thinking how it should be implemented, obviously, my first 2 thoughts were just a string as parameter or an array of strings. Language-wise I think the better option is an array of strings, it is programmatically better and it's more powerful than a string, also less error-prone. I'm implementing it that way but wanted your input as the API it's very important.
Yang Luo @hsluoyz Apr 21 2020 22:57
ok
I have a question. Who will use casbin-dart?
Tomás Arias @KNawm Apr 22 2020 03:50
Hi Yang, a Dart version of Casbin has potential for a lot of users, not only for pure Dart backends but my idea is that it is compatible with Flutter too, Flutter is a cross-platform framework for mobile, web and desktop. You can see some examples here https://flutter.dev/showcase
The thing is while the mobile platform is stable and gaining a lots of users, web and desktop support are in beta and alpha respectively, I think there is a lot of potential here
Tomás Arias @KNawm Apr 22 2020 03:55
So potentially a lot of users for Casbin.
Another thing that I really like about it, it's that the Dart ecosystem is generally self-contained, you can check the packages directory here so in future releases of casbin-dart it can be extended with adapters, watchers and more extensions that are popular Dart packages thus increasing the amount of potential users.
Tomás Arias @KNawm Apr 22 2020 04:05
I think Casbin is a great addition to the Dart ecosystem and especially to the Flutter ecosystem because in Flutter, for example, the only way to implement RBAC is using Firestore, the only way other than doing it yourself obviously, so pretty limiting if you don't want to use Firestore or reinvent the wheel doing it yourself.
Many people for cases like this uses a Flutter frontend with a backend in JS or their language of choice, where they can implement things like that. But as we're approaching more and more projects only with pure Dart it is necessary to have something like Casbin in the Dart ecosystem.
I think it will be very valuable for Casbin, let me know what you think.
Yang Luo @hsluoyz Apr 22 2020 16:52
We can continue the chat in GitHub
You can AT me in your repo
This conversation is very valuable, and I want it to be useful to other people
Tomás Arias @KNawm Apr 22 2020 20:39
Will do 👍
Tomás Arias @KNawm Apr 25 2020 23:05
Hi Yang, did you take a look at the code? I'll be making more progress this week. Also in regards to GSoC, I just wanted to let you know if there is anything that can improve my proposal before the final selection please let me know, hoping we can work together soon.
Tomás Arias @KNawm Apr 26 2020 00:09
@hsluoyz
Yang Luo @hsluoyz Apr 26 2020 09:01
I have reviewed
Tomás Arias @KNawm May 05 2020 03:46
Hi Yang, I'm sorry we couldn't work together this year, could you provide some feedback about my application? Thanks
@hsluoyz
Yang Luo @hsluoyz May 05 2020 08:38
Hi Tomas, we're sorry for this result. This is our first year to apply for GSoC and we only have 3 slots. But Dart is definitely something we are interested in future. The good point is that we already setup an official Casbin-Dart repo and you have your commits merged. Most of our core members are becoming core members because they have implemented Casbin in 1-2 languages. If you still have interest to work on it and make it towards production-ready, you are very likely to become one of them too. In next year's GSoC, you can even work as a mentor. Of course, if you are still a student next year's summer, you can still aplly as a GSoC student. I don't think Google forbids this.
If a Casbin core member is a student and he/she wishes to work under the umbrella of GSoC for the first time, he/she is more likely to be chosen.
Tomás Arias @KNawm May 05 2020 11:14
Yeah I figured that was the case, as I said before Casbin it's a very interesting project and I will try to work on it in my spare time, right now I'll focus on other projects for a bit because I'm not very stable economically right now with this situation but feel free to ping me if there is progress in the casbin-dart repo and you need a reviewer or whatever, I'll try to help and hope that I can continue working on it soon
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment