Java vs Kotlin vs ... pro aplikace pro Android

Aldik

Re:Java vs Kotlin vs ... pro aplikace pro Android
« Odpověď #15 kdy: 22. 11. 2017, 16:44:23 »
Ahoj, díky všem za názory, pravděpodobně to bude Java. Co se týče QT, není to o tom, že bychom si mysleli, že - Proč si furt všichni myslí, že sw má být zadarmo - by sw měl být zadarmo, ale spíše o menších zkušenostech kolegů s tímto frameworkem. Přiznám se, že jsem ani nevěděl o možnosti ho použít pro komerční aplikaci ve free verzi.


gll

Re:Java vs Kotlin vs ... pro aplikace pro Android
« Odpověď #16 kdy: 23. 11. 2017, 05:44:09 »
A přestat používat statickou analýzu a mockito je co?

statická analýza je podle vás co? Třeba null safety?

Natix

Re:Java vs Kotlin vs ... pro aplikace pro Android
« Odpověď #17 kdy: 23. 11. 2017, 19:47:38 »
Ahoj, díky všem za názory, pravděpodobně to bude Java. Co se týče QT, není to o tom, že bychom si mysleli, že - Proč si furt všichni myslí, že sw má být zadarmo - by sw měl být zadarmo, ale spíše o menších zkušenostech kolegů s tímto frameworkem. Přiznám se, že jsem ani nevěděl o možnosti ho použít pro komerční aplikaci ve free verzi.

Já bych se na takovýhle dotaz možná zeptal někde jinde, kde mají s vývojem pro Android a Kotlinem praktické zkušenosti, ne na linux fóru, kde vám namísto toho doporučí věci jako je Qt anebo aspoň zůstat u 10 let starých technologií a nástrojů. Odmítat Kotlin jakožto nový, ezoterický a neozkoušený jazyk může leda tak někdo, kdo ho v praxi vůbec nepoužil. První vývojáři v něm začali vyvíjet už tak 2 roky zpátky a před půl rokem dostal plnou podporu od Googlu (a ve stejné době mimochodem i od Spring frameworku).

Myslím si, že velká většina lidí, která ho měla šanci použít, se už k Javě vrátit vůbec nechce. Kotlin oproti Javě přináší sice jen "drobné bonbónky", ale je jich tolik, že ve výsledku vývoj mnohonásobně usnadní. Kód je mnohem stručnější, čitelnější, typově bezpečnější, a navíc nejde jenom o vylepšení jazyka, ale díky extension metodám jde snadno vylepšit práci s řadu hrozivých androidích API, se kterými se při použití Javy prostě nic udělat nedá. Například přímo Jetbrains vyvíjejí knihovnu, která dokáže nahradit všechna ta příšerná layout xmlka staticky typovaným DSL:
https://github.com/Kotlin/anko

Někdo tu zmiňoval Javu 8, ale ta jednak nesnese s Kotlinem srovnání, a jednak je plně podporovaná až někdy od Andoidu 6 nebo kolik, takže pokud chce člověk cílit na celý současný trh, tak má stejně smůlu. Je možná pravda, že u Kotlinu zatím neexistuje tolik best practices a lidí, kteří jej znají, taky není moc, ale průměrný Javista je schopný v něm efektivně kódit už po několika dnech. Navíc není třeba používat všechny parádičky, i když v Kotlinu budete "psát Javu", tak daný kód bude stejně vypadat mnohem lépe. A pokud by něco byl opravdu problém, můžu napsat danou funkcionalitu přímo v Javě, kombinování obou jazyků v jednom projektu je triviální. A naopak, není problém novou funkcionalitu do existujícího projektu začít psát v Kotlinu.

balki

Re:Java vs Kotlin vs ... pro aplikace pro Android
« Odpověď #18 kdy: 23. 11. 2017, 21:08:29 »
Odmítat Kotlin jakožto nový, ezoterický a neozkoušený jazyk může leda tak někdo, kdo ho v praxi vůbec nepoužil.

"Někdo" považuje kotlin za ďaľší módny výstrelok. Ešte donedávna bol takto tlačený frikulínmi groovy, potom scala, potom zasa tento kotlin. Mozgová kapacita sa dá využiť lepšie, než sa učiť každú chvíľu nový jazyk. Osobne si počkám až sa featury z kotlinu dostanú do javy. Pre kotlin by ma presvedčilo, ak by sa ho podarilo presadiť v korporáte, pričom by bola garantovaná kontinuita.  Takto kto vie. Dnes napíšete v kotline, o dva roky zasa môžete prepisovať do niečoho viacej cool.

dustin

Re:Java vs Kotlin vs ... pro aplikace pro Android
« Odpověď #19 kdy: 23. 11. 2017, 21:17:08 »
Dnes napíšete v kotline, o dva roky zasa môžete prepisovať do niečoho viacej cool.

No a co, pohrál jsem si, přepis přece zaplatí někdo jiný.... klasika.


gll

Re:Java vs Kotlin vs ... pro aplikace pro Android
« Odpověď #20 kdy: 23. 11. 2017, 21:47:44 »
Dnes napíšete v kotline, o dva roky zasa môžete prepisovať do niečoho viacej cool.

No a co, pohrál jsem si, přepis přece zaplatí někdo jiný.... klasika.

Zase zde plivete špínu na něco, o čem nic nevíte.

dustin

Re:Java vs Kotlin vs ... pro aplikace pro Android
« Odpověď #21 kdy: 23. 11. 2017, 23:10:47 »
Možná nemám zkušenosti s Kotlinem, ale na druhou stranu vím, jaké je to udržovat a rozvíjet dlouhodobý projekt (> 15 let) financovaný čistě ze svých výnosů, na kterém se průběžně střídají vývojáři.

Natix

Re:Java vs Kotlin vs ... pro aplikace pro Android
« Odpověď #22 kdy: 23. 11. 2017, 23:39:19 »
Původní tazatel se ale ptal, v čem vyvíjet aplikace pro Android. Myslíte, že ji bude udržovat ještě za 15 let? To je mimochodem zhruba tak doba, kdy se fíčury z Kotlinu dostanou do Javy.

dustin

Re:Java vs Kotlin vs ... pro aplikace pro Android
« Odpověď #23 kdy: 23. 11. 2017, 23:57:20 »
15 let nevím, ale 5 let klidně - přidávat funkce, updatovat na nové verze androidu atd. Samozřejmě pokud nejde o jednorázové zadání a nazdar. Třeba takové ovládací appky k drahým hifi přístrojům - tam bych čekal dostupnost aktualizovaných verzí i víc, než 5 let.

Na druhou stranu je pěkné, že kotlin vyžaduje jen javu 6 a je tudíž kompatibilní i se starými androidy. Pro ty bych v javě 6 už psát nechtěl.

gll

Re:Java vs Kotlin vs ... pro aplikace pro Android
« Odpověď #24 kdy: 24. 11. 2017, 06:08:39 »
15 let nevím, ale 5 let klidně - přidávat funkce, updatovat na nové verze androidu atd. Samozřejmě pokud nejde o jednorázové zadání a nazdar. Třeba takové ovládací appky k drahým hifi přístrojům - tam bych čekal dostupnost aktualizovaných verzí i víc, než 5 let.

Co tím chcete říct? Vy věříte, že na budoucích verzích Androidu Kotlin nebude podporován?

Phi

Re:Java vs Kotlin vs ... pro aplikace pro Android
« Odpověď #25 kdy: 24. 11. 2017, 09:40:45 »

Co tím chcete říct? Vy věříte, že na budoucích verzích Androidu Kotlin nebude podporován?
To asi bude, když kompiluje pro JVM. Ale bude ještě někoho zajímat? V klasickém cyklu Představení - Hype - Vystřízlivění - Běžný provoz je Kotlin momentálně ve fázi Hype.
Jak už někdo podotkl, taky se dá počkat, až ty ověřené vlastnosti dorazí do Javy.

gll

Re:Java vs Kotlin vs ... pro aplikace pro Android
« Odpověď #26 kdy: 24. 11. 2017, 09:53:26 »
Jak už někdo podotkl, taky se dá počkat, až ty ověřené vlastnosti dorazí do Javy.

nedorazí, protože by rozbily zpětnou kompatibilitu.

DK

Re:Java vs Kotlin vs ... pro aplikace pro Android
« Odpověď #27 kdy: 24. 11. 2017, 10:00:39 »
Jak už někdo podotkl, taky se dá počkat, až ty ověřené vlastnosti dorazí do Javy.

nedorazí, protože by rozbily zpětnou kompatibilitu.
Ocividne nechapete zpetnou kompatibilitu u Javy

gll

Re:Java vs Kotlin vs ... pro aplikace pro Android
« Odpověď #28 kdy: 24. 11. 2017, 10:11:22 »
Jak už někdo podotkl, taky se dá počkat, až ty ověřené vlastnosti dorazí do Javy.

nedorazí, protože by rozbily zpětnou kompatibilitu.
Ocividne nechapete zpetnou kompatibilitu u Javy

Třeba omezení jedna veřejná třída na soubor z Javy nejspíš nikdy nezmizí. To není moc slučitelné s data classes a funkcemi, které by nebyly součástí tříd. Navíc by takové změny asi narazily na odpor u části komunity.

dustin

Re:Java vs Kotlin vs ... pro aplikace pro Android
« Odpověď #29 kdy: 24. 11. 2017, 10:53:51 »
Více veřejných tříd na soubor je feature, který mě až tak nezajímá. Při vývoji v IDE nepracuji primárně se soubory, ale s třídami. Navíc si snázeji v editoru otevřu dvě třídy vedle sebe, když jsou každá ve svém souboru, než mít jeden soubor otevřený dvakrát (jde, ale mate to). Navíc čím kratší soubor, tím je to pro mě příjemnější a navíc to mírně snižuje riziko kolize v GITu s ostatními vývojáři. Vyhýbám se tomu i v Pythonu.

Ale Kotlin má jiné featury, které vypadají příjemně (omezení na null v typech, funkční typy vs. SAM, dotaženější generika). To vše se do javy může postupně dostat.