Razvoj multiplatformskih aplikacija

Cilj i ishod predmeta

Usvajanje teoretskog znanja i praktičnih veština potrebnih za kreiranje multiplatformskih aplikacija korišćenjem Flutter framework-a i Dart programskog jezika. Student razume arhitekturu Flutter-a i sposoban je da samostalno razvija aplikacije koje iz jedne kodne baze ciljaju Android, iOS, web i desktop platforme (Windows, macOS, Linux), kao i embedded uređaje poput pametnih satova, televizora i infotejnment sistema u automobilima.

Teorijska nastava

Uvod u multiplatformski razvoj i poređenje sa native pristupom, osvrt na alternativne tehnologije (React Native, Kotlin Multiplatform, .NET MAUI). Istorija, arhitektura i interni rad Flutter-a, Skia i Impeller grafički engine, render pipeline. Osnove Dart programskog jezika — tipovi podataka, null safety, asinhrono programiranje (Future, Stream, async/await), Isolates. Upoznavanje sa razvojnim okruženjem (Flutter SDK, Android Studio, VS Code, DevTools). Anatomija Flutter projekta, pubspec.yaml fajl i pub.dev ekosistem paketa. Koncept widget-a kao osnovne gradivne jedinice, razlika između stateless i stateful widget-a, widget/element/render tree. Material Design i Cupertino widget biblioteke. Layout widgets (Row, Column, Stack, Container, Expanded, Flexible, Wrap, GridView, ListView). Navigacija i routing (Navigator 1.0 i 2.0, go_router, deep linking). Upravljanje stanjem aplikacije (setState, InheritedWidget, Provider, Riverpod, BLoC). Komunikacija sa RESTful i GraphQL veb servisima korišćenjem http i dio biblioteka. Perzistencija podataka (SharedPreferences, Hive, sqflite, Drift, secure storage). Animacije (implicit, explicit, Hero, Rive). Platforma Firebase u Flutter kontekstu — Authentication, Firestore, Cloud Functions, Cloud Messaging, Crashlytics. Platform channels i integracija sa native Kotlin/Swift kodom kada platforma zahteva funkcionalnost nedostupnu u Flutter-u. Responsive i adaptive dizajn za različite form-faktore, od sata do televizora. Lokalizacija i pristupačnost (accessibility). Testiranje aplikacija (unit, widget, integration testovi). Proces build-a, potpisivanja i postavljanja aplikacije na Google Play, App Store i web hosting. Pregled korisnih resursa za dalje usavršavanje.

Praktična nastava

Instalacija Flutter SDK-a i podešavanje razvojnog okruženja. Kreiranje prvog Flutter projekta, upoznavanje sa strukturom foldera i pub menadžerom paketa. Izrada grafičkog korisničkog interfejsa korišćenjem različitih layout widget-a i obrada korisničkih događaja. Razvoj višeekranskih aplikacija sa navigacijom i prenosom parametara između ekrana. Implementacija state management rešenja na konkretnim primerima (Provider i BLoC). Izrada aplikacija koje komuniciraju sa REST API-jima i prikazuju veće skupove podataka uz lazy loading. Lokalno čuvanje podataka korišćenjem Hive i sqflite biblioteka. Integracija Firebase servisa — autentifikacija korisnika, real-time baza podataka i push notifikacije. Kreiranje animacija i custom widget-a. Prilagođavanje jedne iste aplikacije za više form-faktora (telefon, tablet, web, desktop, televizor, auto). Pisanje testova i upotreba DevTools-a za debagovanje i profajling. Build za Android, iOS, web i desktop, potpisivanje i postavljanje aplikacije u produkciju.

sbobet88 slot agb99 situs slot slot777 toto AMANAHTOTO slot SLOT GACOR AMANAHTOTO toto slot88 ASIA200 ASIA200 ASIA200 bayijudy.com situs resmi bayitoto slot gacor popotogel login situs slot eropa99 hoki99 roma77 babe138 roma77 roma77 hoki99 abadicash