Using Skia, Yoga to build a simple Flexbox-UI framework for iOS.
steps:
- Compile skia https://skia.org/docs/user/build/
- Using Skia Metal context.
- Two threads: ui-thread & render-thread.
- Only support FlexboxLayout. Measure/Layout/Draw are triggered by Vsync.
- TouchEvents: dispatchTouchEvent/interceptTouchEvent/onTouchEvent.
- TouchEvents: dispatchTouchEvent/interceptTouchEvent/onTouchEvent.
- Animations support scale/rotate/translate,and will be performed before measure.
- Dirty-Render: markDirty if next draw is necessary.
- Supported Widgets:
View, ImageView, TextView, Icon, ProgressBar, SVGView, ShaderView, Lottie, YUVVideoView, ScrollView, MovingArea, RecyclerView, Swiper, Loading, Switch, Radio, Picker, LyricView, FlexboxLayout, Page... - PlatformView:
TODO! - Development:
C++: See CppTest.cpp.
React: https://github.com/tanpuer/skia-ui-react.
SwiftUI: TODO! - Cross Platform
Android: https://github.com/tanpuer/SkiaUI2