This documentation is currently available in Portuguese. English and other languages are on the way.
Learn — CrossFly Fundamentals
A guided, sequential course that builds a complete app while teaching every CrossFly fundamental.
The mental model before the code — Java+OpenGL, paint thread, everything is a Component, no imposed architecture.
Window, onShow(), the LIFO stack (show/hide), passing data through the constructor and returning values.
Component as the base, lifecycle (onAdd/onRemove), composition, and a custom component with bind.
The six layouts, add(LAY_AUTO/LAY_FILL/fraction) and the technique of nesting layouts for real screens.
ComponentStyle per state, ARGB colors, Skin, and switching light/dark at runtime without recreating the UI.
onAction vs onActionThread, focus, TextField/TextArea and the touch/gesture handlers.
No reactive binding — state in fields/ViewModel, the View translates state→components by hand.
I/O off the paint thread (Thread + onUI) and efficient large lists with VirtualListView.
SQLite (SqliteDb/SqliteCursor) behind a repository — 1-based bind, 0-based getters.
Relative, Gap, LAY_FILL, Screen.minSize as a breakpoint and onReposition() to swap the arrangement.
The testing framework (TestCase), tap simulation and visual comparison via screenshot.
Package and run on each platform from the Gradle modules — the end of the cycle.