Comments (3)
You might find https://github.com/TokamakUI/Tokamak interesting, which is a Swift declarative UI framework that supports custom platform-specific renderers.
from epoxy-ios.
Hi Michael, first off thanks for submitting an issue to Epoxy!
In terms of supporting an alternate renderer, I would say that Epoxy is most definitely tightly coupled to UIKit for rendering, so something like an alternate renderer would be out of scope for this project as it would dramatically increase the scope of Epoxy beyond being a set of declarative adapters written atop UIKit APIs like UICollectionView
, UIStackView
, etc.
We've found UIKit to meet our needs in terms of performance despite rendering occurring on the main thread. Auto Layout has had a number of great performance improvements over the years, and UIKit's ability to hand off most animations to the render server gives us a smooth 60 FPS in most cases.
from epoxy-ios.
To elaborate, I agree that scrolling performance is a fairly solved problem. My concern is more around creating the views for a new screen, especially during startup. This is a case where I think everyone is dropping frames. But I understand not wanting to try a whole new renderer for this as well.
from epoxy-ios.
Related Issues (20)
- Are there any plans to implement `ZGroup` ? HOT 2
- Explain in detail the logic of cell reuse in `EpoxyCollectionView`? HOT 2
- Release Bump? HOT 3
- What is the equivalent of distribution for GroupItem (If you want fillEqual, equalSpacing, equalCentering) HOT 1
- Create `ZGroup` HOT 2
- SwiftUI views don't get reused properly
- Add accessibilityAlignment support to VGroup items
- Use reconfigure API to apply updates CollectionView on iOS 15 HOT 1
- VGroup stretched items when given absolute size in UICollectionViewCompositionalLayout. HOT 2
- {V|H}Group not updating when styles of inside items change. (i.e update textColor for a label groupItem in VGroupView) HOT 4
- How to combine Epoxy and flexLayout? HOT 1
- BarContainerInsetBehavior not able to set through installer. HOT 3
- just curious how much airbnb app has migrated to Swift ? Is airbnb going to transfer to swift totally in the future? HOT 1
- HGroupItem does not respect reflowsForAccessibilityTypeSizes in the style
- What is the best practice for passing variables between controllers? HOT 4
- How should the child view be horizontally aligned with the parent view? HOT 1
- When using EpoxyCollectionView, how to know that the Cell is reused? HOT 5
- It is recommended to make `Content` following `Equatable` optional. HOT 2
- iOS 9 supporting issues HOT 1
- How to refresh the data in the list? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from epoxy-ios.