Skip to main content

index


docs/
└── tutorials/
└── kotlin/
β”œβ”€β”€ index.mdx
β”œβ”€β”€ 01-introduction/
β”‚ β”œβ”€β”€ what-is-kotlin.mdx
β”‚ β”œβ”€β”€ why-learn-kotlin.mdx
β”‚ β”œβ”€β”€ kotlin-use-cases.mdx
β”‚ β”œβ”€β”€ kotlin-vs-java.mdx
β”‚ └── kotlin-ecosystem.mdx
β”œβ”€β”€ 02-installation-and-setup/
β”‚ β”œβ”€β”€ install-kotlin.mdx
β”‚ β”œβ”€β”€ install-intellij-idea.mdx
β”‚ β”œβ”€β”€ install-android-studio.mdx
β”‚ β”œβ”€β”€ kotlin-playground.mdx
β”‚ β”œβ”€β”€ kotlin-cli.mdx
β”‚ β”œβ”€β”€ gradle-and-kotlin-dsl.mdx
β”‚ └── first-kotlin-program.mdx
β”œβ”€β”€ 03-kotlin-fundamentals/
β”‚ β”œβ”€β”€ program-structure.mdx
β”‚ β”œβ”€β”€ variables-and-mutability.mdx
β”‚ β”œβ”€β”€ data-types.mdx
β”‚ β”œβ”€β”€ type-inference.mdx
β”‚ β”œβ”€β”€ operators.mdx
β”‚ β”œβ”€β”€ comments-and-documentation.mdx
β”‚ β”œβ”€β”€ expressions-and-statements.mdx
β”‚ └── type-conversions.mdx
β”œβ”€β”€ 04-control-flow/
β”‚ β”œβ”€β”€ if-expressions.mdx
β”‚ β”œβ”€β”€ when-expressions.mdx
β”‚ β”œβ”€β”€ for-loops.mdx
β”‚ β”œβ”€β”€ while-and-do-while.mdx
β”‚ β”œβ”€β”€ ranges-and-progressions.mdx
β”‚ β”œβ”€β”€ break-and-continue.mdx
β”‚ └── labels-and-jumps.mdx
β”œβ”€β”€ 05-functions/
β”‚ β”œβ”€β”€ defining-functions.mdx
β”‚ β”œβ”€β”€ parameters-and-return-types.mdx
β”‚ β”œβ”€β”€ default-and-named-arguments.mdx
β”‚ β”œβ”€β”€ single-expression-functions.mdx
β”‚ β”œβ”€β”€ extension-functions.mdx
β”‚ β”œβ”€β”€ infix-functions.mdx
β”‚ β”œβ”€β”€ vararg-parameters.mdx
β”‚ β”œβ”€β”€ local-functions.mdx
β”‚ └── tail-recursion.mdx
β”œβ”€β”€ 06-null-safety/
β”‚ β”œβ”€β”€ nullable-types.mdx
β”‚ β”œβ”€β”€ safe-call-operator.mdx
β”‚ β”œβ”€β”€ elvis-operator.mdx
β”‚ β”œβ”€β”€ not-null-assertion.mdx
β”‚ β”œβ”€β”€ smart-casts.mdx
β”‚ β”œβ”€β”€ safe-casts.mdx
β”‚ └── null-safety-best-practices.mdx
β”œβ”€β”€ 07-strings-and-collections/
β”‚ β”œβ”€β”€ strings-and-templates.mdx
β”‚ β”œβ”€β”€ arrays.mdx
β”‚ β”œβ”€β”€ lists.mdx
β”‚ β”œβ”€β”€ sets.mdx
β”‚ β”œβ”€β”€ maps.mdx
β”‚ β”œβ”€β”€ mutable-and-immutable-collections.mdx
β”‚ β”œβ”€β”€ collection-operations.mdx
β”‚ β”œβ”€β”€ sequences.mdx
β”‚ └── collection-performance.mdx
β”œβ”€β”€ 08-object-oriented-programming/
β”‚ β”œβ”€β”€ classes-and-objects.mdx
β”‚ β”œβ”€β”€ constructors.mdx
β”‚ β”œβ”€β”€ properties-and-accessors.mdx
β”‚ β”œβ”€β”€ visibility-modifiers.mdx
β”‚ β”œβ”€β”€ inheritance.mdx
β”‚ β”œβ”€β”€ abstract-classes.mdx
β”‚ β”œβ”€β”€ interfaces.mdx
β”‚ β”œβ”€β”€ data-classes.mdx
β”‚ β”œβ”€β”€ sealed-classes-and-interfaces.mdx
β”‚ β”œβ”€β”€ object-declarations.mdx
β”‚ β”œβ”€β”€ companion-objects.mdx
β”‚ β”œβ”€β”€ enum-classes.mdx
β”‚ β”œβ”€β”€ nested-and-inner-classes.mdx
β”‚ └── delegation.mdx
β”œβ”€β”€ 09-functional-programming/
β”‚ β”œβ”€β”€ lambda-expressions.mdx
β”‚ β”œβ”€β”€ higher-order-functions.mdx
β”‚ β”œβ”€β”€ function-types.mdx
β”‚ β”œβ”€β”€ closures.mdx
β”‚ β”œβ”€β”€ map-filter-and-reduce.mdx
β”‚ β”œβ”€β”€ scope-functions.mdx
β”‚ β”œβ”€β”€ inline-functions.mdx
β”‚ └── functional-programming-patterns.mdx
β”œβ”€β”€ 10-generics-and-advanced-types/
β”‚ β”œβ”€β”€ generic-classes-and-functions.mdx
β”‚ β”œβ”€β”€ type-constraints.mdx
β”‚ β”œβ”€β”€ variance-in-out.mdx
β”‚ β”œβ”€β”€ star-projections.mdx
β”‚ β”œβ”€β”€ reified-type-parameters.mdx
β”‚ β”œβ”€β”€ type-aliases.mdx
β”‚ β”œβ”€β”€ value-classes.mdx
β”‚ └── reflection-basics.mdx
β”œβ”€β”€ 11-exceptions-and-error-handling/
β”‚ β”œβ”€β”€ exceptions-overview.mdx
β”‚ β”œβ”€β”€ try-catch-finally.mdx
β”‚ β”œβ”€β”€ throwing-exceptions.mdx
β”‚ β”œβ”€β”€ custom-exceptions.mdx
β”‚ β”œβ”€β”€ result-patterns.mdx
β”‚ β”œβ”€β”€ sealed-error-types.mdx
β”‚ └── error-handling-best-practices.mdx
β”œβ”€β”€ 12-coroutines-and-asynchronous/
β”‚ β”œβ”€β”€ concurrency-overview.mdx
β”‚ β”œβ”€β”€ coroutine-fundamentals.mdx
β”‚ β”œβ”€β”€ suspend-functions.mdx
β”‚ β”œβ”€β”€ coroutine-scopes.mdx
β”‚ β”œβ”€β”€ structured-concurrency.mdx
β”‚ β”œβ”€β”€ jobs-and-cancellation.mdx
β”‚ β”œβ”€β”€ dispatchers-and-contexts.mdx
β”‚ β”œβ”€β”€ async-and-await.mdx
β”‚ β”œβ”€β”€ flows-introduction.mdx
β”‚ β”œβ”€β”€ stateflow-and-sharedflow.mdx
β”‚ └── coroutine-testing.mdx
β”œβ”€β”€ 13-files-and-serialization/
β”‚ β”œβ”€β”€ file-reading-and-writing.mdx
β”‚ β”œβ”€β”€ paths-and-directories.mdx
β”‚ β”œβ”€β”€ command-line-arguments.mdx
β”‚ β”œβ”€β”€ environment-variables.mdx
β”‚ β”œβ”€β”€ json-serialization.mdx
β”‚ β”œβ”€β”€ kotlinx-serialization.mdx
β”‚ └── configuration-management.mdx
β”œβ”€β”€ 14-modules-and-build-tools/
β”‚ β”œβ”€β”€ packages-and-imports.mdx
β”‚ β”œβ”€β”€ project-structure.mdx
β”‚ β”œβ”€β”€ gradle-basics.mdx
β”‚ β”œβ”€β”€ kotlin-dsl.mdx
β”‚ β”œβ”€β”€ dependencies-and-repositories.mdx
β”‚ β”œβ”€β”€ multi-module-projects.mdx
β”‚ β”œβ”€β”€ build-variants-and-tasks.mdx
β”‚ └── publishing-libraries.mdx
β”œβ”€β”€ 15-testing-and-code-quality/
β”‚ β”œβ”€β”€ testing-fundamentals.mdx
β”‚ β”œβ”€β”€ kotlin-test.mdx
β”‚ β”œβ”€β”€ junit-and-kotlin.mdx
β”‚ β”œβ”€β”€ unit-testing.mdx
β”‚ β”œβ”€β”€ integration-testing.mdx
β”‚ β”œβ”€β”€ mocking-and-test-doubles.mdx
β”‚ β”œβ”€β”€ coroutine-testing.mdx
β”‚ β”œβ”€β”€ detekt-static-analysis.mdx
β”‚ β”œβ”€β”€ ktlint-formatting.mdx
β”‚ └── continuous-integration.mdx
β”œβ”€β”€ 16-java-interoperability/
β”‚ β”œβ”€β”€ calling-java-from-kotlin.mdx
β”‚ β”œβ”€β”€ calling-kotlin-from-java.mdx
β”‚ β”œβ”€β”€ platform-types.mdx
β”‚ β”œβ”€β”€ nullability-interop.mdx
β”‚ β”œβ”€β”€ jvm-annotations.mdx
β”‚ β”œβ”€β”€ extension-functions-and-java.mdx
β”‚ └── java-migration-guide.mdx
β”œβ”€β”€ 17-android-development/
β”‚ β”œβ”€β”€ android-and-kotlin.mdx
β”‚ β”œβ”€β”€ android-studio-project-setup.mdx
β”‚ β”œβ”€β”€ activity-and-lifecycle.mdx
β”‚ β”œβ”€β”€ jetpack-compose-introduction.mdx
β”‚ β”œβ”€β”€ composable-functions.mdx
β”‚ β”œβ”€β”€ layouts-and-material-design.mdx
β”‚ β”œβ”€β”€ state-and-recomposition.mdx
β”‚ β”œβ”€β”€ navigation-compose.mdx
β”‚ β”œβ”€β”€ viewmodel-and-stateflow.mdx
β”‚ β”œβ”€β”€ networking-and-apis.mdx
β”‚ β”œβ”€β”€ local-persistence.mdx
β”‚ β”œβ”€β”€ permissions-and-security.mdx
β”‚ └── android-testing.mdx
β”œβ”€β”€ 18-backend-development/
β”‚ β”œβ”€β”€ kotlin-backend-overview.mdx
β”‚ β”œβ”€β”€ ktor-introduction.mdx
β”‚ β”œβ”€β”€ routing-and-handlers.mdx
β”‚ β”œβ”€β”€ request-validation.mdx
β”‚ β”œβ”€β”€ rest-api-development.mdx
β”‚ β”œβ”€β”€ database-integration.mdx
β”‚ β”œβ”€β”€ authentication-and-authorization.mdx
β”‚ β”œβ”€β”€ logging-and-monitoring.mdx
β”‚ └── backend-deployment.mdx
β”œβ”€β”€ 19-kotlin-multiplatform/
β”‚ β”œβ”€β”€ multiplatform-overview.mdx
β”‚ β”œβ”€β”€ project-configuration.mdx
β”‚ β”œβ”€β”€ common-and-platform-source-sets.mdx
β”‚ β”œβ”€β”€ expect-and-actual.mdx
β”‚ β”œβ”€β”€ multiplatform-libraries.mdx
β”‚ β”œβ”€β”€ compose-multiplatform.mdx
β”‚ └── multiplatform-testing.mdx
β”œβ”€β”€ 20-projects/
β”‚ β”œβ”€β”€ command-line-calculator.mdx
β”‚ β”œβ”€β”€ expense-tracker.mdx
β”‚ β”œβ”€β”€ task-manager.mdx
β”‚ β”œβ”€β”€ weather-app.mdx
β”‚ β”œβ”€β”€ android-notes-app.mdx
β”‚ β”œβ”€β”€ rest-api-service.mdx
β”‚ β”œβ”€β”€ multiplatform-app.mdx
β”‚ └── capstone-project.mdx
β”œβ”€β”€ reference/
β”‚ β”œβ”€β”€ kotlin-cheatsheet.mdx
β”‚ β”œβ”€β”€ syntax-reference.mdx
β”‚ β”œβ”€β”€ collection-functions.mdx
β”‚ β”œβ”€β”€ null-safety-reference.mdx
β”‚ β”œβ”€β”€ coroutine-reference.mdx
β”‚ β”œβ”€β”€ gradle-commands.mdx
β”‚ β”œβ”€β”€ common-errors.mdx
β”‚ β”œβ”€β”€ glossary.mdx
β”‚ └── official-resources.mdx
└── assets/
β”œβ”€β”€ images/
β”œβ”€β”€ diagrams/
└── examples/