Junior
Aké vývojové prostredia a nástroje používate pri vývoji v jazyku Kotlin?
sobes.tech AI
Odpoveď od AI
-
Vývojové prostredia (IDE):
- IntelliJ IDEA (Community a Ultimate edície) ako hlavné vývojové prostredie pre Android a serverové aplikácie. Podpora Kotlin je najkompletnejšia.
- Android Studio pre vývoj pre Android. Je založené na IntelliJ IDEA a obsahuje špecifické nástroje pre Android.
-
Systémy na zostavovanie:
- Gradle na zostavovanie Android aplikácií a mnohých serverových projektov. Používa skripty na Kotlin DSL.
- Maven sa občas používa pre serverové projekty, ale Gradle je preferovanejší kvôli flexibilite a podpore Kotlin.
-
Systémy na správu verzií:
- Git s platformami ako GitHub, GitLab alebo Bitbucket na správu zdrojového kódu a spoluprácu.
-
Knižnice a rámce:
- Standard Library Kotlin (kotlin-stdlib)
- Kotlinx Coroutines pre asynchrónne programovanie.
- Ktor alebo Spring Boot (s Kotlin) pre serverový vývoj.
- Android Jetpack (Architecture Components, UI, Behavior) pre Android vývoj.
- JUnit 5, Mockk, AssertJ pre jednotkové a integračné testovanie.
-
Nástroje na testovanie:
- JUnit 5 pre jednotkové testy.
- Instrumented tests (pre Android) s Espresso alebo UI Automator.
- Mockk na vytváranie mock objektov.
- AssertJ alebo Hamcrest pre pohodlné tvrdenia.
-
Nástroje na statickú analýzu kódu a formátovanie:
- Ktlint na formátovanie kódu podľa štandardov Kotlin.
- Detekt na statickú analýzu kódu a hľadanie potenciálnych problémov.
-
Nástroje na profilovanie a ladenie:
- Vstavaný debugger v IntelliJ IDEA/Android Studio.
- Android Profiler na analýzu výkonu Android aplikácií.
-
Nástroje na správu závislostí:
- Maven Central, JCenter (zastaralé), Google Maven Repository, JFrog Artifactory, Nexus Repository Manager.
-
Pluginy pre IntelliJ IDEA/Android Studio:
- Kotlin plugin (vstavaný)
- Ktlint plugin
- Git Integration (vstavaný)
- Database Navigator
- JSON Parser
-
Nástroje CI/CD:
- Jenkins, GitLab CI/CD, GitHub Actions, CircleCI, Travis CI na automatizáciu zostavovania, testovania a nasadzovania.
Celkovo závisí súbor nástrojov od konkrétnej úlohy (Android, serverový vývoj, multiplatformný vývoj).