Skip to content

oengmengthong/fluttercoreshowcase

Repository files navigation

Flutter Core Showcase

A comprehensive demonstration of Flutter's built-in capabilities, showcasing 44 essential widget patterns that represent ~75% of real-world Flutter usage—all without any external dependencies.

🎯 Project Overview

This app serves as a practical reference for engineers evaluating Flutter or coming from React Native, demonstrating what Flutter can accomplish using only the core SDK. With approximately 590 public widgets in Flutter's ecosystem, this showcase focuses on the most impactful patterns that developers actually use in production.

Key Features

  • 44 Interactive Demos covering 9 essential widget categories
  • Zero External Dependencies - Pure Flutter SDK only
  • Cross-Platform - Runs on iOS, Android, macOS, Windows, Linux, and Web
  • Material Design 3 with dark/light theme support
  • Complete Cupertino Experience - 10 dedicated iOS-style demos
  • Strategic Coverage - Focus on 75% of real-world usage patterns

📱 Platform Support

Platform Status Min Version
iOS 12.0
Android API 21 (5.0)
macOS 10.14
Windows Windows 10
Linux Ubuntu 18.04+
Web Chrome 90+

🏗️ Architecture

Widget Categories Covered

Category Demos Coverage Examples
Material Design 7 Core patterns NavigationDrawer, MenuAnchor, InputChip
Cupertino (iOS) 10 Comprehensive Complete iOS experience
Basic Widgets 8 Foundation Layout, text, images, async patterns
Scrolling & Lists 3 Essential UI ListView, slivers, nested scrolling
Animation & Motion 3 Key patterns Implicit, explicit, transitions
Input & Forms 3 User interaction Forms, focus, text selection
Painting & Effects 4 Visual polish Custom painting, clipping, effects
Platform Services 4 System integration Accessibility, localization, channels
Performance 2 Optimization RepaintBoundary, KeepAlive

Demo Structure

lib/
├── main.dart              # App entry point with navigation
├── demo_registry.dart     # Central registry of all demos
└── demos/
    ├── material_*.dart    # Material Design demos
    ├── cupertino_*.dart   # iOS-style demos
    ├── *_widgets_demo.dart # Base widget demos
    └── *_demo.dart        # Specialized demos

🚀 Getting Started

Prerequisites

  • Flutter SDK 3.22+ (latest stable)
  • Dart 3.0+
  • Platform-specific development tools (Xcode, Android Studio, etc.)

Installation

# Clone the repository
git clone https://github.com/oengmengthong/fluttercoreshowcase.git
cd fluttercoreshowcase

# Get dependencies
flutter pub get

# Run on your preferred platform
flutter run                    # Debug mode
flutter run --release         # Release mode

Building for Distribution

# Android APK
flutter build apk --release

# iOS IPA (requires macOS and Xcode)
flutter build ipa --release

# macOS app
flutter build macos --release

# Windows executable
flutter build windows --release

# Web build
flutter build web --release

📊 Demo Highlights

Material Design 3 Demos

  • Actions: ElevatedButton, FilledButton, FloatingActionButton, IconButton
  • Navigation: NavigationDrawer, NavigationRail, TabBar, AppBar
  • Selection: InputChip, MenuAnchor, DatePicker, Slider
  • Communication: Badge, ProgressIndicator, SnackBar

Cupertino (iOS) Demos

  • Complete iOS Experience: 10 comprehensive demos
  • Navigation: CupertinoTabBar, CupertinoNavigationBar
  • Input: CupertinoTextField, CupertinoSlider, CupertinoPicker
  • Advanced: CupertinoContextMenu, CupertinoPageTransition

Advanced Features

  • Custom Painting: Canvas drawing, gradients, animations
  • Platform Services: Clipboard, haptics, system integration
  • Performance: RepaintBoundary, KeepAlive optimization
  • Accessibility: Full semantics support

🎨 Design Principles

Strategic Coverage Philosophy

Rather than attempting to showcase all 590 Flutter widgets, this app focuses on:

  • Core Patterns: Layout, scrolling, input, state management
  • Real-World Usage: The 75% of widgets developers actually use
  • Practical Value: Patterns that solve common development challenges
  • Production Ready: Examples that can be adapted for real apps

Quality Standards

  • Performance: ≥60 FPS on mid-range devices
  • Responsive: Adapts to phones, tablets, and desktop
  • Accessible: Full semantics and screen reader support
  • Themed: Light/dark mode with Material 3 theming

🔄 Flutter vs React Native Comparison

Feature Flutter Core Showcase React Native Equivalent
UI Components 44 built-in widget demos Requires external libraries
Navigation Built-in Navigator React Navigation package
State Management InheritedWidget, ValueNotifier Redux, Context API
Animations Rich animation APIs Animated API + Reanimated
Platform Services Comprehensive built-in Native module bridges
Theming Material 3, Cupertino built-in Styled-components, etc.

📈 Performance Metrics

Build Sizes (Release)

  • Android APK: ~15MB (arm64)
  • iOS IPA: 40.3MB
  • Web: ~2MB (gzipped)

Key Performance Features

  • Tree-shaking for minimal bundle size
  • Efficient widget rebuilding
  • 60+ FPS animations
  • Memory-efficient scrolling

🤝 Contributing

This project demonstrates Flutter's core capabilities without external dependencies. Contributions should focus on:

  1. New Core Widget Demos - Following the strategic coverage approach
  2. Performance Improvements - Optimizations using built-in Flutter features
  3. Accessibility Enhancements - Better semantics and screen reader support
  4. Platform Adaptations - Responsive design improvements

Development Guidelines

  • Use only Flutter SDK widgets (no external packages)
  • Follow Material Design 3 and Cupertino design principles
  • Maintain cross-platform compatibility
  • Include comprehensive widget documentation

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🔗 Resources

📞 Support

For questions about Flutter development or this showcase:


Flutter Core Showcase - Demonstrating the power of Flutter's built-in capabilities. Perfect for developers evaluating Flutter or seeking comprehensive widget examples.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published