Parse-SDK-iOS-OSX
Parse-SDK-iOS-OSX copied to clipboard
Remove ParseUI
New Feature / Enhancement Checklist
- [x] I am not disclosing a vulnerability.
- [x] I am not just asking a question.
- [x] I have searched through existing issues.
Current Limitation
Building a UI has become a lot easier over the years, especially with SwiftUI; ParseUI today looks like an obsolete convenience that could be dropped from the Parse SDK.
Feature / Enhancement Description
Remove ParseUI
Thanks for opening this issue!
- 🎉 We are excited about your ideas for improvement!
Seems like a lot of users are using the Sign in with Apple UI feature and other interfaces. This is based on the number of open issues related to it. I don't know if they are still relevant.
The Parse UI demo can be considered Facebook and Twitter utils integration tests. We can move the integration as described here https://github.com/parse-community/Parse-SDK-iOS-OSX/issues/1729#issuecomment-1780489123
ParseUI today looks like an obsolete convenience that could be dropped from the Parse SDK.
Having just removed Parse UI from my project, I completely agree with this assessment. I originally used Parse UI as a means of getting my app shipped quicker by not having to worry about building onboarding / login flows. I think this ended up being a mistake as a proper onboarding/branded experience is quite necessary and makes for a better user experience.
I also think the Parse SDK should be entirely focused on one thing, and thats being a great SDK for interacting with Parse Server. Any sort of "extra conveniences" is just a distraction, resulting in more code that then needs to be maintained. As an example with ParseUI, someone will need to provide appropriate updates so that this legacy code works appropriately with the new trait collection system.
Rather than doing that, Parse UI should just be deprecated as soon as possible, and removed in the next major version.
Seems like a lot of users are using the Sign in with Apple UI feature and other interfaces.
@dplewis I am utilizing Sign in With Apple myself after removing the Parse UI. I think transitioning away from having ParseUI handle that should be straightforward enough for a developer. Just make the method call to retrieve the Sign in with Apple button from the framework, place it in their UI, and implement appropriate delegate methods.
What I ended up doing was in my authorizationController:didCompleteWithAuthorization: delegate function, I call +[PFUser logInWithAuthTypeInBackground:authData:] passing in "apple" for the Auth Type.
I think it should also be up to the 3rd party developers to manage their refresh tokens and such accordingly, which would be needed should one of their users wish to delete their account. Those tokens are needed to provide to Apple's revoke API upon account deletion. I tried looking around, but I found no docs regarding Parse Server's handling of this. If Parse Server is handling the revocation of Sign in with Apple tokens upon account deletion, I think it should be documented much better.
I'd be happy to help get the process of removing Parse UI going. I can definitely help review a PR or help write documentation as my limited time allows.
@mtrezza @JohnCaccavale I agree with removing ParseUI. We should update the documentation to include 3rd party linking.