Junior
Jaké vývojové prostředí a nástroje používáte při vývoji v Kotlinu?
sobes.tech AI
Odpověď od AI
-
Vývojová prostředí (IDE):
- IntelliJ IDEA (verze Community a Ultimate) jako hlavní vývojové prostředí pro Android a serverové aplikace. Podpora Kotlin je nejkompletnější.
- Android Studio pro vývoj na Androidu. Je založeno na IntelliJ IDEA a obsahuje specifické nástroje pro Android.
-
Systémy sestavení:
- Gradle pro sestavení Android aplikací a mnoha serverových projektů. Používám skripty v Kotlin DSL.
- Maven se někdy používá pro serverové projekty, ale Gradle je preferován pro svou flexibilitu a podporu Kotlin.
-
Systémy správy verzí:
- Git s platformami jako GitHub, GitLab nebo Bitbucket pro správu zdrojového kódu a spolupráci.
-
Knihovny a frameworky:
- Standardní knihovna Kotlin (kotlin-stdlib)
- Kotlinx Coroutines pro asynchronní programování.
- Ktor nebo Spring Boot (s Kotlinem) pro vývoj serverů.
- Android Jetpack (Architektonické komponenty, UI, Chování) pro vývoj Androidu.
- JUnit 5, Mockk, AssertJ pro jednotkové a integrační testy.
-
Nástroje pro testování:
- JUnit 5 pro jednotkové testy.
- Instrumentované testy (pro Android) s Espresso nebo UI Automator.
- Mockk pro tvorbu mock objektů.
- AssertJ nebo Hamcrest pro pohodlné tvrzení.
-
Nástroje pro statickou analýzu kódu a formátování:
- Ktlint pro formátování kódu podle Kotlin standardů.
- Detekt pro statickou analýzu kódu a odhalování potenciálních problémů.
-
Nástroje pro profilování a ladění:
- Vestavěný debugger v IntelliJ IDEA/Android Studio.
- Android Profiler pro analýzu výkonu Android aplikací.
-
Nástroje pro správu závislostí:
- Maven Central, JCenter (zastaralé), Google Maven Repository, JFrog Artifactory, Nexus Repository Manager.
-
Pluginy pro IntelliJ IDEA/Android Studio:
- Kotlin plugin (integrovaný)
- Ktlint plugin
- Git integrace (integrovaná)
- Database Navigator
- JSON Parser
-
Nástroje CI/CD:
- Jenkins, GitLab CI/CD, GitHub Actions, CircleCI, Travis CI pro automatizaci sestavení, testování a nasazení.
Obecně záleží na konkrétním úkolu (Android, serverový vývoj, multiplatformní vývoj).