Skip to content
CrossFly is 100% open sourceFollow us on GitHub
CrossFlyCrossFly
Get started

This documentation is currently available in Portuguese. English and other languages are on the way.

Best Practices

Best Practices

Doing it right at scale in CrossFly — responsiveness, performance, architecture, testing, accessibility, errors and security, with the reasoning.

How-to🟡
Accessibility (a11y)

Generous touch targets, contrast, text that scales, and multisensory feedback in CrossFly.

How-to🔴
App architecture (MVVM, repository, service locator)

How to structure an app when CrossFly imposes no architecture, DI, or reactive binding.

How-to🟡
Internationalization (i18n)

LocaleFormats handles formatting; text translation is manual — where the framework helps and where it doesn't.

How-to🔴
Performance and large lists

Keeping 60 fps with lots of data — virtualization (VirtualListView), pagination, and cheap onPaint.

How-to🟡
Responsiveness: one UI for every screen

Screens that adapt on their own to size, density, font scale, and orientation — without media queries.

How-to🔴
Security

Encrypted database (SQLite3MC), biometrics as an access gate, and care with local data.

How-to🟡
Automated UI testing

TestCase/TestSuite running on the graphics runtime, with visual screenshot comparison (golden images).

How-to🟡
Error handling and logging

Debug.handle as an exception funnel, reacting to specific errors, and showing failures to the user.