C#: Desktop App Development - Full Stack
WPF, MVVM i razvoj profesionalnih .NET desktop aplikacija

O ovom programu
Ovaj kurs predstavlja nastavak našeg C# kursa za srednji nivo i namenjen je polaznicima koji žele da svoje znanje programiranja podignu na nivo razvoja kompletnih i struktuisanih desktop aplikacija. Kroz praktičan rad sa .NET 10, WPF i XAML tehnologijama polaznici uče kako da grade moderne Windows desktop aplikacije i kako da korisnički interfejs odvoje od poslovne logike i pristupa podacima. Poseban akcenat stavljen je na MVVM arhitekturu, data binding, ObservableObject, ObservableCollection, commands, dependency injection i organizaciju aplikacije kroz jasno definisane slojeve. Polaznici se upoznaju sa Entity Framework Core pristupom radu sa relacionim bazama podataka, povezivanjem WPF aplikacije sa SQL Server bazom, kreiranjem modela, DbContext-a i servisnog sloja, kao i implementacijom CRUD operacija. Kroz praktičan projekat razvijaju kompletnu desktop aplikaciju koja povezuje korisnički interfejs, ViewModel sloj, poslovnu logiku i bazu podataka. Tokom razvoja aplikacije polaznici uče kako da implementiraju pregled, dodavanje, izmenu i brisanje podataka, rad sa relacijama između entiteta, iznajmljivanje i vraćanje podataka, validaciju korisničkog unosa, obradu grešaka i asinhroni rad. Na kraju kursa samostalno razvijaju funkcionalnu WPF aplikaciju zasnovanu na MVVM arhitekturi i primenjuju naučene principe softverske arhitekture, objektno-orijentisanog programiranja i rada sa bazama podataka. Kurs predstavlja završni korak u našoj C# programskoj putanji i priprema polaznike za dalje usavršavanje u oblasti .NET softverskog inženjerstva.
Tehnologije i alati koje savladavamo
Detaljan plan i program
Nedelje 1-4WPF, XAML i arhitektura .NET desktop aplikacije
WPF, XAML i arhitektura .NET desktop aplikacije
U prvom mesecu polaznici prelaze sa razvoja klasičnih C# aplikacija na razvoj grafičkih desktop aplikacija korišćenjem WPF tehnologije u .NET 10 okruženju. Upoznaju ulogu .NET platforme, WPF-a i XAML-a i uče kako se definiše struktura korisničkog interfejsa pomoću različitih layout panela i standardnih WPF kontrola. Obrađuju se Grid, StackPanel, DockPanel, WrapPanel, DataGrid, TextBox, ComboBox, CheckBox, Button, ListBox i drugi elementi korisničkog interfejsa. Polaznici zatim uče konceptualno razdvajanje prezentacionog sloja od ostatka aplikacije, organizaciju WPF projekta, rad sa Resources i osnovama kreiranja stilizovanog i preglednog korisničkog interfejsa. U završnom delu meseca uvode se UserControl, DataTemplate, Style, Trigger i Value Converter koncepti koji predstavljaju osnovu za izgradnju funkcionalnijeg i profesionalnijeg WPF interfejsa.
Fokus i alati:
Nedelje 5-8MVVM, Data Binding, Commands i Dependency Injection
MVVM, Data Binding, Commands i Dependency Injection
U drugom mesecu polaznici detaljno upoznaju MVVM arhitekturu i uče kako da WPF aplikaciju organizuju tako da korisnički interfejs bude odvojen od aplikacione i poslovne logike. Obrađuju se Model, View i ViewModel u praktičnom kontekstu, kao i ObservableObject, INotifyPropertyChanged, ObservableProperty i ObservableCollection. Polaznici uče kako funkcioniše Data Binding, uključujući OneWay, TwoWay i binding kolekcija, selected objekata i UI svojstava. Poseban deo kursa posvećen je Commands mehanizmu kroz ICommand, RelayCommand i AsyncRelayCommand, kao i povezivanju komandi sa kontrolama u XAML-u. Nakon toga se uvodi Dependency Injection i organizacija servisa pomoću interfejsa i konkretnih implementacija. Kroz praktične primere polaznici povezuju View, ViewModel i servisni sloj i grade aplikaciju bez direktnog mešanja poslovne logike i korisničkog interfejsa.
Fokus i alati:
Nedelje 9-12Entity Framework Core, SQL Server i rad sa podacima
Entity Framework Core, SQL Server i rad sa podacima
U trećem mesecu polaznici povezuju WPF aplikaciju sa relacionom bazom podataka i upoznaju kompletan tok rada sa podacima kroz Entity Framework Core. Kreiraju SQL Server bazu, tabele i relacije između entiteta i uče kako se C# modeli povezuju sa bazom preko DbContext klase. Obrađuju se DbSet, konfiguracija konteksta, rad sa relacijama, navigacionim svojstvima i LINQ upitima. Polaznici zatim uvode Data Access Layer i Business Logic Layer i uče kako da pristup podacima organizuju kroz servisne interfejse i implementacije. Poseban fokus stavljen je na CRUD operacije, asinhroni rad sa bazom, filtriranje i selekciju podataka, proveru uslova pre izvršavanja operacija i obradu izuzetaka. Na kraju meseca WPF aplikacija dobija funkcionalnu vezu sa bazom podataka i omogućava učitavanje i prikaz stvarnih podataka kroz ViewModel i Data Binding.
Fokus i alati:
Nedelje 13-16Kompletna WPF/MVVM aplikacija i završni projekat
Kompletna WPF/MVVM aplikacija i završni projekat
U završnom mesecu polaznici objedinjuju sve naučene tehnologije i principe kroz razvoj kompletne WPF desktop aplikacije zasnovane na MVVM arhitekturi. Kao praktični projekat razvijaju aplikaciju za upravljanje igrama, korisnicima i iznajmljivanjima, pri čemu se povezuju WPF interfejs, ViewModel sloj, servisni sloj, Entity Framework Core i SQL Server baza. Implementiraju se prikaz i selekcija podataka, dodavanje novih zapisa, izmena postojećih zapisa i brisanje podataka uz potvrdu korisnika. Zatim se implementiraju poslovne funkcionalnosti poput iznajmljivanja i vraćanja igre, provere dostupnosti i automatskog osvežavanja podataka. Polaznici uče kako da koriste komande i binding umesto direktne poslovne logike u code-behind fajlovima, kao i kako da obrađuju greške, prikazuju statusne poruke i organizuju UI na način koji je pregledan i lak za održavanje. Kurs se završava samostalnim završnim projektom u kojem polaznici kreiraju sopstvenu WPF aplikaciju i primenjuju kompletnu arhitekturu naučenu tokom kursa.
Fokus i alati:
Osnovne informacije
Zainteresovani ste za ovaj program?
Broj mesta u grupama je ograničen kako bismo obezbedili maksimalan kvalitet mentorskog rada i posvećenost svakom polazniku.
Kontaktirajte nas za upis