Java vs. Kotlin rubrika: Programování: Java
Ahoj,
ve firmě začínáme s tvorbou mobilních aplikací. Chceme udělat 3-4 členný tým pro vývoj mobilních aplikací pro Android OS. Všichni programátoři mají zkušenosti s Javou SE/EE zhruba 2 až 3 roky.
V poslední době je hodně populární psát aplikace v Kotlinu, který začíná dominovat v oblasti vývoji pro Android. Byl jsem na několika přednáškách a školeních, v Kotlinu jsem si zkoušel napsat i nějaké malé aplikace. Moje otázka zní, zda-li byste šli do tradiční Javy, se kterou už mají programátoři zkušenosti nebo riskli nový a progresivní Kotlin i za cenu toho, že se vývoj zpozdí a vyskytnou se problémy.
Díky.
Nový projekt bych od začátku psal v Kotlinu. Kotlin není změna paradigmatu, je to jenom modernější jazyk, takže vstupní bariéra není velká. Java vývojář dokáže Kotlin kód číst prakticky okamžitě a po pár dnech je ho schopný i psát. Sice ho ze začátku bude psát jako Javu, ale postupně se naučí psát idiomatický Kotlin.
Nebál bych se výrazného zdržení vývoje projektu. U nás jsme na Kotlin přešli prakticky ze dne na den a neefektivní jsme byli zhruba týden a pak už jsme byli schopni dodávat stejné množství funkcí jako předtím a postupně se vývoj oproti vývoji v Javě zrychlil.
Na Androidu se výhody Kotlinu projeví ještě víc než na jiných platformách. Pár příkladů:
- na Androidu se hodně používají lambda funkce, které mají v Kotlinu stručnější a přehlednější zápis. Pokud nějaký nešťastník potřebuje kompilovat do Javy 6, Kotlin mu umožní používat lamda výrazy i tam.
- data classes pro POJO objekty - nepíšete gettery a settery, máte properties. Máte "zadarmo" equals a hashCode a užitečný toString, který vypíše všechny properties
- díky extensions si můžete rozšiřovat API cizích class o vlastní funkce
- null safety - díky ní jste schopni výrazně omezit množství null pointer exceptions v runtime
- vzniká řada zajímavých Kotlin-only knihoven - určitě koukněte na https://github.com/Kotlin/anko. Tady je rozsáhlý seznam užitečných Kotlin knihoven: https://kotlin.link
Pro zobrazení všech 5 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře