Java vs. Kotlin rubrika: Programování: Java

4 halfartomas
položil/-a 21.6.2018

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.

odkaz
2 leos.prikryl
odpověděl/-a 22.6.2018
 
upravil/-a 23.6.2018

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

Komentáře

  • Taco : O jaké výhody se jedná, které by se projevili zrovna na Androidu? 23.6.2018
  • leos.prikryl : Pár výhod jsem připsal přímo do původního příspěvku. 23.6.2018
  • axx : Vyhoda je i v tom, ze javu ma oracle a hada se s google o licence. Kotlin je cisty. 23.6.2018

Pro zobrazení všech 5 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.