Развој мултиплатформских апликација

Циљ и исход предмета

Усвајање теоретског знања и практичних вештина потребних за креирање мултиплатформских апликација коришћењем Flutter framework-а и Dart програмског језика. Студент разуме архитектуру Flutter-а и способан је да самостално развија апликације које из једне кодне базе циљају Android, iOS, web и desktop платформе (Windows, macOS, Linux), као и embedded уређаје попут паметних сатова, телевизора и инфотејнмент система у аутомобилима.

Теоријска настава

Увод у мултиплатформски развој и поређење са native приступом, осврт на алтернативне технологије (React Native, Kotlin Multiplatform, .NET MAUI). Историја, архитектура и интерни рад Flutter-а, Skia и Impeller графички engine, render pipeline. Основе Dart програмског језика — типови података, null safety, асинхроно програмирање (Future, Stream, async/await), Isolates. Упознавање са развојним окружењем (Flutter SDK, Android Studio, VS Code, DevTools). Анатомија Flutter пројекта, pubspec.yaml фајл и pub.dev екосистем пакета. Концепт widget-а као основне градивне јединице, разлика између stateless и stateful widget-а, widget/element/render tree. Material Design и Cupertino widget библиотеке. Layout widgets (Row, Column, Stack, Container, Expanded, Flexible, Wrap, GridView, ListView). Навигација и routing (Navigator 1.0 и 2.0, go_router, deep linking). Управљање стањем апликације (setState, InheritedWidget, Provider, Riverpod, BLoC). Комуникација са RESTful и GraphQL веб сервисима коришћењем http и dio библиотека. Перзистенција података (SharedPreferences, Hive, sqflite, Drift, secure storage). Анимације (implicit, explicit, Hero, Rive). Платформа Firebase у Flutter контексту — Authentication, Firestore, Cloud Functions, Cloud Messaging, Crashlytics. Platform channels и интеграција са native Kotlin/Swift кодом када платформа захтева функционалност недоступну у Flutter-у. Responsive и adaptive дизајн за различите форм-факторе, од сата до телевизора. Локализација и приступачност (accessibility). Тестирање апликација (unit, widget, integration тестови). Процес build-а, потписивања и постављања апликације на Google Play, App Store и web hosting. Преглед корисних ресурса за даље усавршавање.

Практична настава

Инсталација Flutter SDK-а и подешавање развојног окружења. Креирање првог Flutter пројекта, упознавање са структуром фолдера и pub менаџером пакета. Израда графичког корисничког интерфејса коришћењем различитих layout widget-а и обрада корисничких догађаја. Развој вишеекранских апликација са навигацијом и преносом параметара између екрана. Имплементација state management решења на конкретним примерима (Provider и BLoC). Израда апликација које комуницирају са REST API-јима и приказују веће скупове података уз lazy loading. Локално чување података коришћењем Hive и sqflite библиотека. Интеграција Firebase сервиса — аутентификација корисника, real-time база података и push нотификације. Креирање анимација и custom widget-а. Прилагођавање једне исте апликације за више форм-фактора (телефон, таблет, web, desktop, телевизор, ауто). Писање тестова и употреба DevTools-а за дебаговање и профајлинг. Build за Android, iOS, web и desktop, потписивање и постављање апликације у продукцију.

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