-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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 source for EpoxyCore library to support open-source SwiftUI view implementation #2086
Conversation
This PR is ready for review @airbnb/lottie-ios-maintainers |
82e7246
to
11d5021
Compare
- uses: ./.github/actions/setup | ||
- name: Lint Embedded Libraries | ||
run: bundle exec rake lint:EmbeddedLibraries |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -0,0 +1,39 @@ | |||
## EpoxyCore |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added some discussion about why we include the source of EpoxyCore
, plus instructions on how to update this in the future if necessary
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This LGTM @calda - the point about macOS does seem pretty important, especially given that SwiftUI's main conceit is that it can work across all platforms. I wonder how much work it would be to add support for macOS in the future
This PR adds the source of EpoxyCore 0.9.0 to this repo.
Airbnb has a Lottie
SwiftUI.View
implementation which is built using APIs inEpoxyCore
. Making that dependency available in this library would let us open source this existing implementation.Embedding the source of EpoxyCore into this repo feels reasonable and has existing precedent (we already integrate the ZipFoundation library in this way). EpoxyCore is only 3000 LOC, so does not meaningfully increase the size of this repo or the size of compiled binaries.
The only downside of this approach I can think of is that EpoxyCore doesn't currently support macOS. If the Lottie SwiftUI implementation uses EpoxyCore it will only be available on iOS and tvOS. I think this is probably an acceptable tradeoff, given the benefits of using the existing high-quality implementation. Thoughts?