Alegeți limba dvs.
Curs de programare Flutter
Peste 2 milioane de cursanți în întreaga lume

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.

Dedika pentru companii

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.

Apasă aici

Conținutul cursului

8 Capitole • 38 LecțiiDurata între 4 și 360 ore (tu decizi)

Capitolul 1Vezi detalii

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 2Vezi detalii

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 3Vezi detalii

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 4Vezi detalii

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 5Vezi detalii

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 6Vezi detalii

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 7Vezi detalii

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 8Vezi detalii

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.

Certificare

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...
Giulio Carlo
Giulio CarloStudent Marketing Digital
Î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.
Mariana Ferres
Mariana FerresStudentă Fotografie
Îmi place conținutul și modul de prezentare și transcriere a videoclipurilor, ceea ce accelerează procesul!
Luciana Alvarenga
Luciana AlvarengaStudentă Design Unghii
Platforma este rapidă, simplă de utilizat. Diversitatea conținutului și videoclipurile complementare ajută foarte mult la învățare.
André Felipe
André FelipeStudent Inginerie Prompt

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