კურსის აღწერა
კურსის განმავლობაში გაიღრმავებ Android Development-ში მიღებულ ცოდნას. ისწავლი აპლიკაციების ტესტირებას, რეალურ აპლიკაციებზე მუშაობის სპეციფიკას, Kotlin coroutines-ს, აპლიკაციების არქიტექტურებს (MVVM), Dependency injection-ს, Jetpack Compose-ს და CI/CD-ს მობაილ დეველოპმენტში.
კურსის დასრულების შემდეგ შენ გექნება სრულყოფილი ცოდნა, რათა შექმნა მცირე, საშუალო და დიდი ზომის Android აპლიკაცია.
მენტორი
თორნიკე კაჭკაჭიშვილი
სწავლობდა თავისუფალ უნივერსიტეტში, ESM-ზე, IT Management მიმართულებით. 2017 წლიდან არის Tech ინდუსტრიაში. მისი პირველი სამსახური იყო თიბისის მობაილ ბანკში, სადაც შეხება ჰქონდა აპლიკაციასთან, რომელსაც ნახევარი მილიონი ადამიანი იყენებდა.
ანდროიდ დეველოპმენტით დაინტერესდა 3 წლის წინ და მუშაობა დაიწყო TBC-ის Business mobile bank-ზე, რომელიც პირველი in house მობაილ აპლიკაცია იყო თიბისიში. დღესაც, თიბისის Bussines Mobile Bank-ის Android Developer-ია.
მონაწილეობა მიუღია შემდეგ პროექტებში: Tbc Business და Retail მობაილ ბანკინგის აპლიკაციებზე, სხვადასხვა სტარტაპებზე და ინდივიდუალურ აპლიკაციებზე.
Android დეველოპმენტის Advanced კურსის სილაბუსი
Workshop 1 – Fragments and navigation component
- Bottom navigation menu ს დამატება აპლიკაციაში
- განსხვავება add და replace ფუნქციებს შორის
- რა არის navigation component და მისი გამოყენება
- Nested navigation
- Deep links ,
- Global actions
Workshop 2 – Coroutines deep dive & Threading
- Thread კლასი
- Garbage collector
- Memory leaks
- Suspend ფუნქციები კოტლინში
- Scope-ების მიმოხილვა
- პრაქტიკული გამოყენება მუშაობა Retrofit თან MVVM-ში
Workshop 3 – Coroutines deep dive with file system
- რატომ რეაქტიული პროგრამირება?
- Dispatcher-ები და მათი არჩევა
- Channels
- Flows
- პრაქტიკული გამოყენებაა მუშაობა ფაილურ სისტემასთან
Workshop 4 – Dependency Injection
- რა არის DI და რაში ვიყენებთ
- Dependency injection with hilt
- Android entry point
- Constructor,Field, Method Injection
- @Binds, @Provides
Workshop 5 – Dependency Injection 2
- Hilt Components
- Hilt Components Lifecycle
- Hilt ViewModel Constructor Injection
- Hilt with Mvvm application
Workshop 6 – აპლიკაციის ტესტირება
- რატომ არის საჭირო ტესტირება
- TDD-ს მიმოხილვა და მაგაალითები
- Unit testing with Junit 5 ,
- რა ნაწილების გატესტვა მოგვიწევს ჩვენს აპლიკაციაში
- Integration testing,
- UI ტესტირების მიმოხილვა
- რა განსხვავებაა automated testing -s და manual testings შორის ცოტა რამ agile -ის tech როლებზე
Workshop 7 – Advanced UI
- Custom View-ს შექმნა და გამოყენება
- როგორ მუშაობს View სიღრმეში და რა ეტაპებს გადის დასახატად
- Advanced recyclerView
- Advanced constraintl layout spaces, groups, chains
Workshop 8 – Advanced animations
- რატომ უნდა ვაკეთოთ ანიმაციები?
- Fragment transition animations
- Valueproperty animation,
- Aninmating drawables
- Animating layout changes
- Visibility animations
- Moving views with animation
Workshop 9 – Firebase and location
- როგორ შეგვიძლია მომხმარებლის ლოკაციის მიღება
- რა არის Firebase და რაში შეგვიძლია გამოვიყენოთ
- Firebase authentication
- Firebase real-time database-ის გამოყენება
- Firebase crashlytics
Workshop 10 – Gradle, Lint, debugger
- Build types and flavors
- რატომ არის მნიშვნელოვანი მოწესრიგებული build system ის ქონა დიდ აპლიკაციაში
- Gradle tasks მიმოხილვა
- მარტივი Gradle task-ის დაწერა
- რა არის Lint ერი და რატომაა მნიშვნელოვანი,
- Debugger ის გამოყენება
Workshop 11 – Ci&CD მიმოხილვა & more
- რა არის CI CD ?
- Github Actions-ის მოსინჯვვა
- ცოტა რამ Proguard ზე
- განსხვავება Release და Debug ბილდებს შორის
- App bundles vs apk s
- App signinng
Workshop 12 – Jetpack compose
- Declarative UI vs Imperative UI
- Jetpack compose ის მიმოხილვა
- Layouts in compose
- Compose ში State თან მუშაობა
- მარტივი აპლიკაციის შექმნა compose-ში