🚧 Pre-release: Public version currently lacks most documented features

0d
0h

DCFlight

Build native mobile apps with Dart. No platform views, no abstractions. Just pure native UI with React-like development experience.

One Codebase, Multiple Platforms

Write once in Dart, render native UI everywhere. DCFlight brings React-like development to native mobile.

main.dart
DCFView(
  children: [
    DCFText(
      "Hello DCFlight!"
    ),
    DCFButton(
      title: "Click me",
      onPress: () {
        // Native action
      }
    )
  ]
)
9:41100%
Hello DCFlight!
Click me
iOS
9:41100%
Hello DCFlight!
Click me
Android
localhost:3000
Hello DCFlight!
Click me
Web
One codebase, all platforms
🚀

Native Performance

Renders actual native UI components. No bridge overhead, no compromise on performance.

⚛️

Best of Flutter DX and React

Familiar development experience with hooks, state management, and component lifecycle.

🎨

No Abstractions

Direct access to native views. No platform views or unnecessary abstractions.

Rich Component Library

Build with a comprehensive set of native components, from basic UI to advanced interactions.

DCFView

Container component

DCFView(children: [...])

DCFButton

Interactive buttons

DCFButton(title: 'Click me')

DCFModal

Native modals

DCFModal(visible: true)

DCFAlert

Alert dialogs

DCFAlert(title: 'Alert')
8+
Basic Components
View, Text, Button, Image...
4+
Input Components
TextInput, Toggle, Checkbox...
5+
Advanced Components
Modal, Alert, Slider...
4+
Interaction & Animation
Gestures, Animations...

Simple, Powerful API

Build complex UIs with intuitive Dart syntax

main.dart
void main() {
  DCFlight.start(app: MyApp());
}

class MyApp extends StatefulComponent {
  @override
  DCFComponentNode render() {
    final counter = useState(0);
    
    return DCFView(
      layout: LayoutProps(
        flex: 1,
        justifyContent: YogaJustifyContent.center,
        alignItems: YogaAlign.center,
      ),
      children: [
        DCFText(
          content: "Count: ${counter.value}",
          textProps: DCFTextProps(fontSize: 24),
        ),
        DCFButton(
          buttonProps: DCFButtonProps(title: "Increment"),
          onPress: () => counter.setValue(counter.value + 1),
        ),
      ],
    );
  }
}

🚧 Under Active Development

DCFlight is currently in rapid development. Expect bugs and breaking changes as we work towards stability.

Contributions are welcomed! Help us build the future of cross-platform development.