
Curs de programare Flutter
Stăpânește Flutter de la zero și lansează aplicații reale atât pe App Store, cât și pe Google Play. Acest curs acoperă totul, de la fundamentele Dart și compunerea widget-urilor până la gestionarea stării, lucrul în rețea, animații și pipeline-uri CI/CD. Dacă vrei să construiești aplicații mobile cross-platform cu un singur codebase, aici începi.
Ce vei învăța:
Vei învăța sintaxa Dart și programarea orientată pe obiecte înainte de a trece la sistemul de widget-uri, layout-uri și tematică al Flutter. Apoi, vei implementa fluxuri de navigare, vei gestiona starea aplicației cu Provider, Riverpod și BLoC și vei conecta aplicațiile la REST API-uri și Firebase. Vei gestiona persistența locală a datelor, vei construi animații fluide și vei scrie teste unitare, de widget și de integrare. Cursul acoperă, de asemenea, profilarea performanței, arhitectura curată, accesibilitatea, localizarea și practicile de codare securizată. La final, vei avea competențele necesare pentru a arhitecta, construi, testa și face deployment aplicațiilor Flutter profesionale.
Cum studiezi practic Curs de programare Flutter
Cum exersezi Curs de programare Flutter
Pentru tine, care reprezinți o companie și vrei să îți instruiești echipa
La Dedika pentru companii, cursul vine cu exerciții și exemple adaptate afacerii tale și exact așa cum are nevoie compania ta.
Conținutul cursului
8 Capitole • 38 LecțiiDurata între 4 și 360 ore (tu decizi)
Capitolul 1AscundeAscunde detaliiVezi detaliiFlutter și Fundamentele Dart
Flutter și Fundamentele Dart
Lecția 1 • Prezentare Generală a Arhitecturii Flutter
Examinează arborele de widget-uri, pipeline-ul de randare și canalele de platformă. Conectează codul Dart la modul în care Flutter produce pixeli pe ecran.
Lecția 2 • Crearea Primei Tale Aplicații Flutter
Creează un proiect nou, rulează-l pe un dispozitiv și inspectează codul generat. Validează mediul și introduce modelul punctului de intrare principal.
Lecția 3 • Concepte de Bază ale Limbajului Dart
Acoperă sistemul de tipuri al Dart, fluxul de control și funcțiile. Oferă fundația lingvistică necesară înainte de a scrie orice cod de widget Flutter.
Lecția 4 • Configurarea Mediului de Dezvoltare
Instalează SDK-ul Flutter, configurează un IDE și conectează un dispozitiv sau emulator. Stabilește lanțul de instrumente de care depinde fiecare capitol ulterior.
Lecția 5 • Programare Orientată pe Obiecte în Dart
Aplică clase, moștenire, mixins și interfețe în Dart. Pregătește cursanții să înțeleagă ierarhia claselor de widget-uri din Flutter.
Capitolul 2AscundeAscunde detaliiVezi detaliiWidget-uri: Elementele de Bază
Widget-uri: Elementele de Bază
Lecția 1 • Widget-uri Stateless vs. Stateful
Distinge când să folosești fiecare tip de widget și implementează-le corect pe ambele. Fundamental pentru fiecare decizie UI luată în capitolele următoare.
Lecția 2 • Widget-uri de Layout și Compoziție
Folosește Row, Column, Stack și Expanded pentru a construi layout-uri responsive. Modelele de compoziție de aici stau la baza fiecărui ecran construit în cadrul cursului.
Lecția 3 • Widget-uri Derulabile și Liste
Randare liste dinamice cu ListView, GridView și CustomScrollView. Pregătește cursanții pentru UI-urile bazate pe date introduse în capitolul de gestionare a stării.
Lecția 4 • Widget-uri de Intrare (Input) și Formulare
Capturează intrarea utilizatorului cu TextField, Checkbox, Switch și validarea formularelor. Permite direct crearea ecranelor interactive construite în capitolele ulterioare.
Lecția 5 • Text, Imagini și Pictograme (Icons)
Afișează și stilizează textul, încarcă imagini locale și din rețea și folosește seturi de pictograme. Acoperă cele mai comune elemente de conținut vizual din orice aplicație.
Capitolul 3AscundeAscunde detaliiVezi detaliiStilizare, Teme (Theming) și Design Responsiv
Stilizare, Teme (Theming) și Design Responsiv
Lecția 1 • ThemeData și Material Design
Configurează schemele de culori globale, tipografia și temele componentelor prin ThemeData. Asigură coerența vizuală pe toate ecranele dintr-o aplicație.
Lecția 2 • Pictură Personalizată și Decorațiuni
Desenează forme personalizate și gradienți folosind BoxDecoration și CustomPainter. Permite controlul la nivel de pixel dincolo de stilizarea standard a widget-urilor.
Lecția 3 • Layout-uri Responsive și Adaptive
Folosește MediaQuery, LayoutBuilder și breakpoint-uri pentru a adapta UI-ul la dimensiunea ecranului. Leagă designul mobile-first de țintele tabletă și desktop.
Lecția 4 • Fonturi și Pictograme Personalizate
Integrează familii de caractere și pachete de pictograme personalizate într-un proiect Flutter. Extinde paleta Material implicită pentru a se potrivi cerințelor de brand.
Capitolul 4AscundeAscunde detaliiVezi detaliiNavigare și Rutare
Navigare și Rutare
Lecția 1 • Fundamentele Navigator 1.0
Împinge și extrage rute imperativ folosind Navigator.push și rute denumite. Stabilește modelul de navigare de bază înaintea abordărilor declarative.
Lecția 2 • Navigare Inferioară și Bare cu File (Tab Bars)
Combină BottomNavigationBar și TabBar cu rutarea pentru aplicații cu mai multe secțiuni. Acoperă cel mai comun model de navigare în aplicațiile mobile de producție.
Lecția 3 • Rutare Declarativă cu GoRouter
Definește rute bazate pe URL cu GoRouter pentru navigare compatibilă cu web. Înlocuiește modelele imperative cu un arbore de rute scalabil și declarativ.
Lecția 4 • Drawere, Dialoguri și Suprapuneri (Overlays)
Afișează UI contextual cu Drawer, AlertDialog, BottomSheet și Snackbar. Completează setul de instrumente de navigare pentru ecranele complete ale aplicației.
Capitolul 5AscundeAscunde detaliiVezi detaliiGestionarea Stării (State Management)
Gestionarea Stării (State Management)
Lecția 1 • Modelul BLoC cu flutter_bloc
Separă logica de business de UI folosind clasele Cubit și Bloc cu tranziții de stare bazate pe evenimente. Potrivit pentru aplicații enterprise complexe și testabile.
Lecția 2 • Pachetul Provider în Profunzime
Folosește ChangeNotifier, Consumer și Selector pentru a partaja și reacționa la stare. Provider este soluția de nivel introductiv care introduce concepte de injecție de dependențe.
Lecția 3 • Fundamentele Gestionării Stării
Contrastă starea locală, ridicată (lifted) și globală și identifică când este potrivită fiecare. Încadrează spațiul problemei înainte de a introduce soluții specifice.
Lecția 4 • Gestionarea Stării Asincrone și a Stream-urilor
Gestionează future-urile și stream-urile în stratul UI folosind FutureBuilder și StreamBuilder. Conectează gestionarea stării la capitolul de rețelistică care urmează.
Lecția 5 • Riverpod pentru Stare Scalabilă
Declară provider-e, folosește ref.watch și ref.read și gestionează starea asincronă cu AsyncValue. Riverpod elimină dependența de context și îmbunătățește testabilitatea.
Capitolul 6AscundeAscunde detaliiVezi detaliiRețelistică și Persistență a Datelor
Rețelistică și Persistență a Datelor
Lecția 1 • Serializare JSON și Modele de Date
Parsează JSON manual și cu generare de cod json_serializable pentru a crea modele tipizate. Previne erorile de runtime și îmbunătățește mentenanța contractelor API.
Lecția 2 • Dio pentru Rețelistică Avansată
Folosește interceptoare Dio, anularea cererilor și încărcări de fișiere pentru rețelistică de nivel production. Extinde HTTP de bază cu capabilități de middleware și logging.
Lecția 3 • Stocare Locală și Baze de Date
Persistă date cheie-valoare cu SharedPreferences și date structurate cu SQLite prin Drift. Permite funcționalități offline-first și stocarea preferințelor utilizatorului.
Lecția 4 • Strategii de Cache și Offline
Implementează cache-ul răspunsurilor, modelele stale-while-revalidate și detectarea conectivității. Produce aplicații care degradează elegant fără conexiune la rețea.
Lecția 5 • Cereri HTTP și API-uri REST
Trimite cereri GET, POST, PUT și DELETE folosind pachetul http și gestionează răspunsurile. Stabilește fundația de preluare a datelor pentru toate funcționalitățile în rețea.
Capitolul 7AscundeAscunde detaliiVezi detaliiAnimații și UI Avansat
Animații și UI Avansat
Lecția 1 • Animații Hero și Tranziții de Pagină
Implementează tranziții Hero cu elemente partajate și animații personalizate de rută de pagină. Creează continuitate vizuală între ecrane care îmbunătățește performanța percepută.
Lecția 2 • Animații Implicite
Animează automat modificările de proprietăți cu AnimatedContainer, AnimatedOpacity și TweenAnimationBuilder. Calea cu cel mai mic efort către tranziții UI fluide.
Lecția 3 • Animații Explicite cu AnimationController
Controlează temporizarea, buclarea și secvențierea animațiilor cu AnimationController și Tween. Permite secvențe de mișcare precise și coregrafiate.
Lecția 4 • Integrări Rive și Lottie
Încorporează animații create de designeri din Rive și Lottie în aplicații Flutter. Reduce decalajul dintre designerii de mișcare și dezvoltatorii Flutter.
Lecția 5 • Animații Bazate pe Fizică și pe Gesturi
Conduce animațiile cu fizică de arc (spring) și gesturi ale utilizatorului folosind GestureDetector și Draggable. Produce mișcare naturală și receptivă la atingere.
Capitolul 8AscundeAscunde detaliiVezi detaliiTestare, Deployment și CI/CD
Testare, Deployment și CI/CD
Lecția 1 • Testare de Integrare și End-to-End
Rulează fluxuri complete ale aplicației pe un dispozitiv real sau emulator folosind pachetul integration_test. Validează parcursurile complete ale utilizatorului înainte de lansare.
Lecția 2 • Semnarea Aplicației și Pregătirea pentru Magazin
Configurează cheile de semnare, pictogramele aplicației, ecranele de splash și metadatele magazinului pentru Android și iOS. Îndeplinește toate condițiile prealabile pentru o trimitere cu succes în magazin.
Lecția 3 • Testare Unitară în Flutter
Testează logica Dart, modelele și clasele de stare izolat, folosind pachetul test. Validează logica de business independent de stratul UI.
Lecția 4 • Pipeline-uri CI/CD pentru Flutter
Automatizează testarea, construirea și distribuția folosind GitHub Actions și Fastlane. Reduce efortul manual de lansare și impune porți de calitate pentru fiecare commit.
Lecția 5 • Testarea Widget-urilor
Randare widget-uri într-un mediu de testare și simulare a interacțiunilor utilizatorului cu WidgetTester. Detectează regresii UI fără a rula pe un dispozitiv real.
Certificatul tău valid de finalizare
Acest curs este pentru tine:
Dezvoltatori web: pregătiți să își extindă competențele în aplicații mobile de calitate nativă.
Ingineri backend: dornici să dețină întreaga stivă de produs de la un capăt la altul.
Dezvoltatori Android sau iOS: care doresc să consolideze într-o singură bază de cod partajată.
Schimbătorii de carieră: intrarea în tehnologie printr-un set de competențe mobile cross-platform cu cerere ridicată.
Creatorii independenți: care își propun să lanseze propria idee de aplicație fără o echipă mare.
Studenții la informatică: care caută experiență practică în dezvoltarea de aplicații mobile dincolo de cursuri.
Ce spun cursanții noștri
Lecțiile dumneavoastră sunt perfecte. Am achiziționat pachetul de un an și, în sfârșit, am oportunitatea să urmăresc diverse subiecte de interes fără să fie nevoie să schimb platforma... vă mulțumesc pentru tot ceea ce faceți, v-am recomandat deja altor persoane...

Îmi place cum lecțiile sunt directe la subiect și cum pot să schimb capitolele și să sar peste conținutul de care nu am nevoie.

Îmi place conținutul și modul de prezentare și transcriere a videoclipurilor, ceea ce accelerează procesul!

Platforma este rapidă, simplă de utilizat. Diversitatea conținutului și videoclipurile complementare ajută foarte mult la învățare.

Cele mai importante formări
Întrebări frecvente
Cine este Dedika?
Este certificatul valabil în România?
Cursurile sunt gratuite?
Care este volumul de muncă al cursului?
Cum sunt cursurile?
Cum funcționează cursurile?
Care este durata cursurilor?
Care este costul sau prețul cursurilor?
Ce este un curs EAD sau online și cum funcționează?
Curs PDF




















