Wątek przeniesiony 2018-10-01 08:25 z Nietuzinkowe tematy przez somekind.

Java czy Kotlin w Androidzie

0

Cześć.
Pierwszy raz zadaję tego typu pytanie, mam nadzieję, że dział dobry.
Szukałem w Google i na forum, nadal nie mogę się zdecydować i nic mnie nie przekonuje, więc pytam.
Piszę aplikację Androidową w Javie. Przede wszystkim dla siebie, żeby się pouczyć, ale załóżmy, że jest to duży, ważny projekt. Lepiej zostać na Javie, czy przejść na Kotlina? W czym Kotlin jest lepszy od Javy? (Oczywiście nie oczekuję, że ktoś mi wypisze wszystkie różnice, ale proszę o jakieś krótkie za i przeciw bądź o jakiś link)
Dziękuję.

0

kotlin, google przesiada sie na kotlin w androidzie. jest coraz lepsze wsparcie etc. a sam jezyk przyjemny. poza tym nowe wersje javy nie sa wspierana wiec srednio jest sens sie meczyc w starej javie.

0

Trudny wybór. Kotlina zbytnio nie znam, choć pewnie jest lepszy od Javy, z Javą trochę pracowałem i nie polecam. Tylko że Kotlin chyba bardziej w Androida i projekt sam w sobie nie pewny. Za to Scala ma ugrunowaną pozycję na rynku i prawdopodobne jej udział będzie rosnąć. To dobry język, też działa na JVM, można pisać też na androida, dobrze wspiera programowanie funkcyjne — dla mnie język cud miód. Polecam.

0

Podobno Kotlin jest trudniejszy od Javy, wzorował się Scalą i ma więcej smaczków do nauki.

3

Kotlin jest łatwiejszy od Javy.

  • Nie musisz się bawić w jakąś kosmiczną ifozę lub Optionale żeby uporać się z nullami. Jak coś jest nullable a spróbujesz to potraktować beztrosko jak gdyby nie było, wywali się kompilator a nie runtime.
  • A jak jesteś uparty i koniecznie chcesz to zrobić, to będzie Cię wtedy kłuł w oczy obleśny i brzydki non-null assertion (!!) w kodzie. Use at your own risk.
  • Kod jest dużo bardziej zwięzły.
  • Named parameters i domyślne wartości parametrów. W Javie chyba nadal na to nie wpadli i trzeba się bawić w przeładowywanie.
  • Interop z Javą jest na tyle dobry, że bez większych problemów można korzystać z bibliotek i frameworków javowych.
  • Bezpieczne rzutowanie rzeczy, które niekoniecznie muszą być rzutowalne na Twój typ? Nic prostszego:
    val myConcreteObj: ConcreteClass? = myGeneralObj as? ConcreteClass

PS Nie jestem tu żadnym autorytetem, bo w Javie robiłem tylko jakieś proste projekty na studia, a w Kotlinie piszę komercyjnie dwa miesiące po absolutnym braku wcześniejszej styczności z językiem i przesiadce z Pythona, ale uważam, że nieprawdą jest, jakoby Kotlin był trudniejszy od Javy. Przesiadka, która po roku niemal braku styczności z Javą zajęła dwa tygodnie, wliczając wdrożenie w nowy projekt o czymś jednak świadczy. Raczej nie jest źle.

0

Zaczynam właśnie z Kotlinem i Android Studio, jaki procesor i ile ramu, aby w miarę komfortowo pracować z tym IDE? Podejrzewam, że dużo większe ma wymagania niż Intellijj IDEA?

0

Android Studio to jest to samo co InteliJ IDEA (tyle że okrojony tak, że wspiera tylko Androida) i ma takie same wymagania.

3

Jak nie umiesz dobrze ani Javy ani Kotlina, to Kotlin, bo i tak musisz się czegoś nauczyć.
Jak umiesz dobrze Kotlina, a nie znasz Javy, to Kotlin, bo już znasz Kotlina.
Jak umiesz dobrze Javę, a nie znasz Kotlina, to Kotlin, bo szybko się go nauczysz a ma dużo fajnych elementów usprawiniających pracę (https://api.4programmers.net/Forum/1515402).

0

Utworzyłem 20 GB na partycję systemową w Linux, polecenie df -h pokazuje mi, że katalog /tmp dostał 2.9 GB. Przy próbie instalacja w VS wirtualnego Androida 5.1 zapycha mi na 100% katalog /tmp. Jeżeli programujecie pod Androidem na Linuksie, to ile macie na to wydzielone miejsca, czy można jakoś przenieść katalog /tmp na partycję /home?

1 użytkowników online, w tym zalogowanych: 0, gości: 1