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

AppKitNavigation #200

Draft
wants to merge 14 commits into
base: main
Choose a base branch
from
Draft

AppKitNavigation #200

wants to merge 14 commits into from

Conversation

Mx-Iris
Copy link
Contributor

@Mx-Iris Mx-Iris commented Aug 14, 2024

Hello everyone, I love AppKit. I am very pleased to see that UIKit has such an excellent framework available.

I have also watched videos from pointfreeco, where it is mentioned more than once that domain modeling is the most important thing, and using tools can make any platform serve the model.

I spent some time porting part of the API, and most of the NSControl can be use. Next, I will add some AppKit-specific navigation, such as sheet, modal, and some macOS-specific controls, and a lot of documentation still needs to be refined, as well as example projects and tests.

This PR is not yet complete, so please do not merge it yet!

For those who are interested, you can try running the example project

@Mx-Iris Mx-Iris changed the title AppKit support AppKitNavigation Aug 14, 2024
@stephencelis stephencelis marked this pull request as draft August 14, 2024 17:55
@stephencelis
Copy link
Member

Awesome work! We're looking forward to diving into it soon 😄 I've converted things to a draft for now, so just tap the "Ready for review" button whenever you think things are in a good place.

@stephencelis
Copy link
Member

@Mx-Iris Thanks again for your work on this! We took it for a spin and are definitely excited to incorporate things back into the library.

I think to start it would be nice to break things down into smaller PRs in order to progressively ship things. This PR is still great to leave open as a "full vision" of things that folks can take for a spin. And now we could start isolating smaller chunks of work that can land in main independently.

Some potential steps/chunks:

  1. A PR that adds the AppKit-specific observe helper and AppKit-specific UITransaction infrastructure. This could include the animations, as well, or animations could be split off into their own PR..
  2. A PR that adds the base NSControl binding infrastructure.
  3. PR(s?) that add the individual binding helpers. You could do all the simple helpers in a single PR, and any helpers that are more complex could land in their own PRs.
  4. A PR that adds the navigation helpers.

If there are any obvious ways of breaking any step down further, it's appreciated, and should make it easier to review each PR and also get each PR merged more quickly rather than have any giant PR sit around for too long.

Excited for this!

@stephencelis
Copy link
Member

Oh, and another note: let's not worry about documentation or case studies at all right now. Those are typically things we save till the end when we're close to release, and we can discuss how we may want to approach that when things are further along and everything else has landed in main.

@Mx-Iris
Copy link
Contributor Author

Mx-Iris commented Aug 15, 2024

@stephencelis I understand your point now. This branch is mainly for quickly implementing my ideas and verifying if they're effective. I'll follow your suggestion and break them down into smaller units, then submit PRs for each one individually.​​​​​​​​​​​​​​​​

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.

2 participants