FLUTTER

Învață Flutter: comenzi explicate cu exemple

19 comenzi 9 categorii

Flutter, creat și dezvoltat de Google, este cel mai popular framework de interfețe grafice multiplatformă din lume. Spre deosebire de tehnologiile hibride clasice care depind de punți de comunicare webview sau de maparea componentelor native ale sistemului de operare, Flutter desenează fiecare pixel direct pe ecran folosind propriul său motor grafic de mare performanță (Impeller), garantând un aspect vizual și o viteză identice pe iOS, Android, Web, macOS, Windows și Linux dintr-o singură bază de cod scrisă în Dart.

Principiul definitoriu al framework-ului este: „În Flutter, totul este un Widget!”. De la butoane și texte, până la structurile de layout (Row, Column), spațieri (Padding) și animații complexe, fiecare element al interfeței este descris declarativ într-un arbore imutabil optimizat.

Arhitectura celor Trei Arbori în Motorul Flutter
# 1. Widget Tree (Declarativ & Ieftin):
#    - Obiecte imutabile ușoare recreate la fiecare rebuild
#    - Descriu doar configurația dorită a interfeței
#         │
#         ▼ (Instanțiere)
# 2. Element Tree (Ciclul de Viață & Memorie):
#    - Gestionează starea persistentă și identitatea pe ecran
#    - Compară nodurile vechi cu cele noi (Diffing)
#         │
#         ▼ (Montare)
# 3. RenderObject Tree (Grafică Nativă):
#    - Calculează geometria (Layout, Size) și apelează motorul Impeller
#    - Desenează fizic pixelii pe ecran la 60 / 120 FPS!

Pilonii Tehnologici ai Framework-ului Flutter

Concept Fundamental Mecanism Intern Impact Direct în Aplicație
Motorul Impeller Motor grafic modern bazat pe Metal (iOS) și Vulkan (Android) cu shadere pre-compilate. Elimină complet temutul *Shader Compilation Jank*, oferind tranziții fluide de 120 Hz.
Stateful Hot Reload Injectează modificările de cod direct în mașina virtuală Dart în sub 500 ms. Păstrează starea completă a ecranului (formulare completate, navigare) în timpul editării.
State Management Modern Arhitecturi reactive precum Riverpod, BLoC sau Signals. Decuplează logica de afaceri de widget-urile vizuale, facilitând testarea automată.
Platform Channels & FFI Canale asincrone de mesaje și apeluri C FFI directe către API-urile native ale platformei. Acces complet la hardware (cameră, Bluetooth, senzori, plăți native) fără limitări.
Exemplu Concret: Aplicație Flutter cu Widget Declarativ
import 'package:flutter/material.dart';

void main() => runApp(const DexblogApp());

class DexblogApp extends StatelessWidget {
  const DexblogApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const CounterScreen(),
    );
  }
}

class CounterScreen extends StatefulWidget {
  const CounterScreen({super.key});

  @override
  State createState() => _CounterScreenState();
}

class _CounterScreenState extends State {
  int _counter = 0;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Flutter Enterprise Counter')),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            const Text('Numărul de apăsări:', style: TextStyle(fontSize: 18)),
            Text('$_counter', style: Theme.of(context).textTheme.headlineLarge),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () => setState(() => _counter++),
        tooltip: 'Incrementează',
        child: const Icon(Icons.add),
      ),
    );
  }
}

Widget-uri & Arhitectură 1 comandă

State Management 1 comandă

Grafică & Performanță 1 comandă

Platform Channels & Nativ 1 comandă

Widget-uri de Layout & Structură 5 comenzi

Structură de Ecran & Navigare 2 comenzi

Liste & Scroll 3 comenzi

Componente Interactive & Input 3 comenzi

Conținut Vizual & Animații 2 comenzi