Apply
Native <br>Android

Native Android Курс

Расписание:

Длительность оплачиваемой стажировки (5 дней в неделю, 8 часов в день)
2.5 месяца
* Программа предусматривает возможность дополнительных занятий в субботу, окончательное расписание будет отправлено заявителям, которые попадут на курс.

Описание Курса

Курс предназначен для людей, которые хотят построить карьеру в разработке мобильных приложений. Android это очень популярная операционная система, которая используется во многих смартфонах и планшетах, а также других устройствах. На самом деле когда вы читаете это, разрабатываются тысячи новых программ для Android. Курс охватывает основы разработки Android язык программирования Kotlin, основы обьектноориентованого программирования, а также расширенные темы, например, аутентификацию, тестирование и анимацию.

Проекты

Во время курса студенты разработают 3 проекта, на основе которых жюри определит, каких выпускников отбирают для дальнейшего обучения и стажировки.

Проекты охватывают весь материал, который изучен во время предыдущих модулей, и позволяют закрепить полученные знания на практике.

Оценивание

Во время учебного процесса студенты должны выполнять домашние задания и проекты, на основе которых эксперты курса оценят их практические навыки и знания, а также уровень командной работы.

Эксперты курса

Serhii Boyko
Serhii Boyko
Volodymyr Usachov
Volodymyr Usachov
Volodymyr Stelmashchuk
Volodymyr Stelmashchuk

Программа курса

1.
Basic Kotlin and Android

Basic Kotlin and Android

Basic Kotlin

  • Classes, objects
  • Control flow
  • Interfaces

Kotlin sugar

  • Lambda
  • Extensions
  • Infix, inline functions
  • Kotlin DSL

Collections

  • List
  • Set
  • Map

OOP

  • Classes
  • Interfaces

JSON

  • Json
  • Xml
  • Gson

Java Threads

  • Threads
  • Concurrency vs parallelism
  • Executors

Text

  • TextView
  • EditText
  • TextWatchers

Rest API

  • Retrofit
  • Interсeptors
  • OkHttp
  • Basic of networks

Android Application Knowledge 1

  • Application
  • Android components
  • Manifest
  • Base gradle

Android Application Knowledge 2

  • Intent
  • Receiver
  • Notifications
  • Logging

Android Application Knowledge 3

  • AlertDialog
  • DialogFragment
  • BottomSheetDialog

Basic views

  • ImageView
  • TextView
  • LinearLayout
  • FrameLayout

RecyclerView

  • LayoutManager
  • RecyclerView Poll

Android SDK and androidX components

ViewPager

  • ViewPager
  • ViewPager 2
  • Transactions

Constraint layout

  • Constraints
  • ConstraintSet
  • Constraint layout2.0

Drawable and Images

  • Selectors
  • Gradients
  • Layer list

Animations

  • Default animations
  • Animations in recycler

Motion layout

  • Advanced animation

Custom views

  • View lifecycle
  • Combine several view into one business unit

Android Application Knowledge 4

  • Biometric
  • Job scheduler
  • Work manager

Design patterns and project architecture

GOF Patterns

  • Singleton
  • Builder
  • Factory
  • Strategy
  • Anti patterns

Clean architecture

  • Data layer
  • Domain layer
  • UI layer

Deep clean architecture

  • Feature separating
  • Clean architecture
  • Patterns

MVVM

  • LiveData
  • ViewModel
  • Data binding

Dependency injection

  • Dagger 2
  • Koin
  • Dependencies injection vs Service locator

Libraries and tools

Data storage

  • SQLite
  • Room
  • BinaryPref by Yandex

Authentication

  • Basic auth
  • Oauth 2.0

RxJava

  • Basic operators
  • Under the hood

Coroutines

  • Suspend function
  • Job
  • Scope

Coroutines Flows

  • Builders
  • Operators
  • Errors

Unit tests

  • Common testing knowledge
  • JUnit 5
  • Kotlin test
  • Mock

CI and Linters

  • Github actions
  • Detekt for static code analysis

Memory leak, garbage collector

  • Leak canary
  • Android profiler

WebSocket

  • OkHttp
  • Communication with server without requests
  • Ping
  • How to create stable web socket

Firebase

  • Crashlytics
  • Analytics
  • Remote config
  • A/B testing

Navigation

  • Navigation patterns
  • Single activity

Что получат студенты

Native <br>Android
  • Основные знания программирования для платформы Android
  • Ключевые тенденции развития мобильных приложений
  • Навыки обьектноориентованого программирования
  • Понимание цикла разработки приложений и его архитектуры
  • Возможность создания мобильных приложений
  • Навыки командной работы
Apply
Заполни форму