Kotlin - początek przygody z androidem

Kotlin - początek przygody z androidem
ajgoron
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Rzeszów
  • Postów:91
0

Witam serdecznie,

Na co dzień pracuję jako full stack Web Dev (PHP- badum tss ;-) ). Chciałem zacząć działać w Androidzie i nawinął mi się kurs z Udemy za 10 Euro odnośnie Kotlina i Androida. Udemy Kotlin
Zastanawiam się czy to będzie dobrze wydane 10 euro. ;)

Jako Javowcy co powiecie - warto interesować się już Kotlinem? Na razie na użytek własny, a kiedyś może pracować jako Kotlin dev?
Ktoś z Was kodzi coś na androida w Kotlinie?


"Jedna robótka - miesiąc wódka" - Ojciec Pijo
edytowany 1x, ostatnio: ajgoron
panryz
Rzeszów, PHP... c-c-c-c-c-ombo breaker!
ajgoron
@panryz: Czemu tak surowo? :)
RI
Ten kurs był darmowy, bo jakimś cudem mam go w swoich kursach. Poza tym 10 euro to nie są jakieś duże pieniądze. Jeśli bardziej preferujesz naukę z kursu wideo to popatrz na recenzje i kupuj. Ja jak dotąd kupiłem 2 kursy i jestem zadowolony :)
ajgoron
Dzięki za odp @Rizorz. :)
Pieter24
  • Rejestracja:około 8 lat
  • Ostatnio:prawie 7 lat
  • Postów:90
1

Na ostatnim Google I/O potwierdzili jeszcze większe związanie Androida z Kotlinem więc na pewno warto. Choć tak szybko patrząc na spis treści tego kursu to te informacje co tam przedstawiają znajdziesz bez problemu w necie za darmo no ale Twój wybór :P

ajgoron
Tak też myślałem. Właśnie czytałem ostatnio relację i wiem, że Kotlin stał się jednym z głównych języków na Androida wspieranych przez G.
MrHyperion
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 4 lata
  • Postów:112
1

Pytanie czy warto pisać w Kotlinie to pytanie na poziomie czy warto zakładać buty do biegania jak chcemy iść pobiegać. Niby można biegać bez butów, ale trzeba być chorym człowiekiem i nie szanować swoich stóp.

Nigdy więcej Javy.

edytowany 2x, ostatnio: MrHyperion
TP
  • Rejestracja:prawie 8 lat
  • Ostatnio:prawie 8 lat
  • Postów:3
0
MrHyperion napisał(a):

Pytanie czy warto pisać w Kotlinie to pytanie na poziomie czy warto zakładać buty do biegania jak chcemy iść pobiegać. Niby można, ale trzeba być chorym człowiekiem i nie szanować swoich stóp.

Nigdy więcej Javy.

Dlaczego uważasz że Kotlin jest lepszy od Javy pod Androida ?

MrHyperion
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 4 lata
  • Postów:112
4

Dlaczego uważasz że Kotlin jest lepszy od Javy pod Androida ?

Jezus, był wątek na forum w którym było tłumaczone czemu lepszy jest Kotlin od Javy, no ale w skrócie:

  • Null Safety, jeśli nie obsłużymy zmiennej która może być nullem, nie skompilujemy kodu;
  • Mniejszy boilerplate kodu;
  • Klasy modelowe, które już mają wygenerowane metody toString, equals oraz hasCode;
  • Stosowanie dobrych praktyk związanych z pisaniem Javie (np każda klasa domyślnie w Kotlnie jest finalowa);
  • Lepsze lambdy;
  • Operacje na kolekcjach. Kotlin ma podstawowe metody jak map czy filter. Prosze mi wskazać podobny feature w Javie 6/7. Java 8 (wspierana natywnie od API 24) oraz Retrolambda opadają.
  • Ładnie zaimplemetowane Singletony;

Wzywam @V-2 aby też się wypowiedział

V-2
@MrHyperion: od kiedy tu na forum przeczytałem (podane na poważnie), że Kotlin jest gorszy, bo 4programmers nie obsługuje kolorowania jego składni, straciłem rezon do wypowiadania się w tej kwestii, nawet na wezwanie ;)
bolson
  • Rejestracja:około 15 lat
  • Ostatnio:4 dni
  • Lokalizacja:Zielona Góra/Poznań
1

Ostatnio w firmie zaczęliśmy tworzyć nową aplikację w Kotlinie. Po 5 latach pisania w Javie 6/7 to jak przesiąść się ze starego Volvo do nowego Mercedesa ;) Problem mamy tylko z juniorami, którzy piszą kotlinowy kod in Java way. Ale pracujemy nad tym :D

edytowany 2x, ostatnio: bolson
panryz
U mnie już drugi wystartowaliśmy w Kotlinie. Pierwszy po release miał 99.5% crash-free users. Drugi już nie ma nic z javy :D
V-2
  • Rejestracja:około 8 lat
  • Ostatnio:10 miesięcy
  • Postów:671
1
ajgoron napisał(a):

Na co dzień pracuję jako full stack Web Dev (PHP- badum tss ;-) ).

"I w nieszczęściu zachowuj spokój umysłu", jak radził Horacy.

Chciałem zacząć działać w Androidzie i nawinął mi się kurs z Udemy za 10 Euro odnośnie Kotlina i Androida. Udemy Kotlin
Zastanawiam się czy to będzie dobrze wydane 10 euro. ;)

10 euro nie pieniądz, ale przy takiej obfitości bezpłatnych materiałów, z jaką mamy do czynienia, wydałbym je na coś innego.

Jako Javowcy co powiecie - warto interesować się już Kotlinem?

Zdecydowanie warto. Już choćby dla własnego rozwoju jako programisty. Poznanie takiego języka może sprawić, że zaczniesz lepiej pisać także w swoim dotychczasowym.

Kotlin jest mądrze zaprojektowany i przystępnie wprowadza do wielu koncepcji ważnych we współczesnych językach programowania (inaczej niż PHP czy Java). To nie jest język, który sili się na oryginalność - raczej takie "best of" dzisiejszych trendów. Nieprzypadkowo np. Swift bywa łudząco podobny.

Kotlin jest obiektowy, ale, w zgodzie z trendem, są w nim elementy zaczerpnięte z programowania funkcyjnego. To też poszerza horyzonty.

Jest przy tym pomyślany w taki sposób, żeby dyskretnie skłaniać programistę do stosowania różnych dobrych praktyk - jak choćby immutability, preferowanie kompozycji i delegacji względem dziedziczenia, itd. Znowuż, odwrotnie niż Java czy PHP. (Są to języki stare - warto pamiętać że oba mają już ponad 20 lat. Oczywiście obydwa się rozwijały, ale przyrostowo i z koniecznością dbania o wsteczną kompatybilność. Są wskutek tego niespójne i sporo w nich historycznych zaszłości. Kotlin jest nowoczesny i nie ma takich obciążeń).

Na razie na użytek własny, a kiedyś może pracować jako Kotlin dev? Ktoś z Was kodzi coś na androida w Kotlinie?

Komercyjnie nie miałem jeszcze okazji. Hobbystycznie, oczywiście. Niewątpliwie jest używany coraz częściej i pojawia się już w ogłoszeniach o pracę. Błogosławieństwo, jakiego udzielił mu Google, szybko przysporzy mu dodatkowej popularności. Ale nie oszukujmy się: jeśli chcemy pisać na Androida, Javy i tak trzeba się nauczyć. To nie jest (niestety) tak, że można sobie wybrać - jedno albo drugie ;) I długo tak nie będzie.


Nie ma najmniejszego powodu, aby w CV pisać "email" przed swoim adresem mailowym, "imię i nazwisko" przed imieniem i nazwiskiem, ani "zdjęcie mojej głowy od przedniej strony" obok ewentualnego zdjęcia. W drugiej firmie której już pracuję mam palących marihuanę programistów [...] piszą kod "leniwie", często nie wysilając się, rozwlekając ten kod, unikając np. programowania funkcyjnego (mówię tutaj o lambdach w javie).
edytowany 5x, ostatnio: V-2
ajgoron
Dzięki @V-2. Na taką odpowiedź czekałem. :) Polecałbyś zacząć od Kotlina czy od Javy?
V-2
Jak kto woli, ale skoro już teraz programujesz, nie widzę powodu, czemu musiałbyś się ich uczyć po kolei, a nie równocześnie @ajgoron. Warto zauważyć, że Kotlinowy plugin do Android Studio pozwala na automatyczną konwersję kodu z Javy do Kotlina. Rezultat niekoniecznie jest idealny, tzn. nie będzie to jeszcze Kotlin zoptymalizowany czy, jak to się mówi, idiomatyczny. Ale pozwala to na szybkie podglądnięcie, jak zrobić w Kotlinie coś, co wiemy, jak robi się w Javie - bardzo ułatwiając naukę
ajgoron
Faktycznie, masz rację @V-2. Dzięki za naprowadzenie. :)
HE
  • Rejestracja:prawie 9 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Kraków
  • Postów:269
0
V-2 napisał(a):
ajgoron napisał(a):

Ale nie oszukujmy się: jeśli chcemy pisać na Androida, Javy i tak trzeba się nauczyć. To nie jest (niestety) tak, że można sobie wybrać - jedno albo drugie ;) I długo tak nie będzie.

Uważam, że jest spora szansa, że Software House'y szybko przerzucą produkcję nowych projektów na Kotlin. Utrzymaniówka to co innego oczywiście, ale myślę, że moment gdy w ogłoszeniach o pracę będziemy widzieć "Junior Android Dev. z językiem Kotlin (dodatkowa znajomość java będzie traktowana jako plus)" nastąpi szybciej niż myślimy.

V-2
  • Rejestracja:około 8 lat
  • Ostatnio:10 miesięcy
  • Postów:671
0

Mam nadzieję że się nie mylisz. Niemniej sama utrzymaniówka będzie jeszcze wlec się latami - raz napisany kod miewa zaskakująco długą żywotność. Poza tym już samo debugowanie raz na pewien czas narzuci nam konieczność wczytania się w źródła w Javie; choćby Android SDK (bywa!), czy wszelkich open-source'owych bibliotek. Do tego wszelkie przykłady, tutoriale, nikt tego nie przepisze nagle na Kotlin. Javę po prostu trzeba będzie znać, choć nie zawsze w niej pisać.


Nie ma najmniejszego powodu, aby w CV pisać "email" przed swoim adresem mailowym, "imię i nazwisko" przed imieniem i nazwiskiem, ani "zdjęcie mojej głowy od przedniej strony" obok ewentualnego zdjęcia. W drugiej firmie której już pracuję mam palących marihuanę programistów [...] piszą kod "leniwie", często nie wysilając się, rozwlekając ten kod, unikając np. programowania funkcyjnego (mówię tutaj o lambdach w javie).
edytowany 2x, ostatnio: V-2
S9
  • Rejestracja:ponad 10 lat
  • Ostatnio:6 miesięcy
  • Lokalizacja:Warszawa
  • Postów:3573
0

@MrHyperion: czmeu Java 8 odpada?


"w haśle <młody dynamiczny zespół> nie chodzi o to ile masz lat tylko jak często zmienia się skład"
MrHyperion
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 4 lata
  • Postów:112
0
scibi92 napisał(a):

@MrHyperion: czmeu Java 8 odpada?

Bo jest wspierana natywnie, ale tylko cześć rzeczy od API 24. Zobacz sobie ile to jest urządzeń.

0

Hmm, Jave troche znam i myslalem zeby troche sie przesiasc na androida. Najpierw zaczynac pisac apki w Javie czy od razu nauka Kotlina i pisanie w nim?

0

Aha i ten Kotlin to tylko pod Androida czy to w ogole calkiem nastepca Javy?

Haskell
  • Rejestracja:prawie 10 lat
  • Ostatnio:12 miesięcy
  • Postów:4700
0
Lew napisał(a):

Aha i ten Kotlin to tylko pod Androida czy to w ogole calkiem nastepca Javy?

To alternatywa dla Javy nie tylko pod Androida. Został stworzony przez firmę Jet Brains z myślą zwiększenia sprzedaży IntelliJ IDEA, które wspiera ten język. Ze względu na fakt, że Android Studio jest również rozwijane przez Jet Brains i jest w przeciwieństwie do IntelliJ darmowe, możemy się spodziewać, że Kotlin zdobędzie przede wszystkim serca programistów Android.


Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do d**y - tam miałem socjalizm. Czesław Miłosz
V-2
  • Rejestracja:około 8 lat
  • Ostatnio:10 miesięcy
  • Postów:671
1
Haskell napisał(a):
Lew napisał(a):

Aha i ten Kotlin to tylko pod Androida czy to w ogole calkiem nastepca Javy?

Ze względu na fakt, że Android Studio jest również rozwijane przez Jet Brains

Android Studio jest rozwijane przez Google (jest to fork IntelliJ Idea do którego Google dodaje swoje rzeczy)

jest w przeciwieństwie do IntelliJ darmowe, możemy się spodziewać, że Kotlin zdobędzie przede wszystkim serca programistów Android

Również dlatego, że adroidowcy muszą na co dzień borykać się ze starą odmianą Javy (poziom 6). Zyskują zatem większy przyrost komfortu przesiadając się na nowoczesny język.


Nie ma najmniejszego powodu, aby w CV pisać "email" przed swoim adresem mailowym, "imię i nazwisko" przed imieniem i nazwiskiem, ani "zdjęcie mojej głowy od przedniej strony" obok ewentualnego zdjęcia. W drugiej firmie której już pracuję mam palących marihuanę programistów [...] piszą kod "leniwie", często nie wysilając się, rozwlekając ten kod, unikając np. programowania funkcyjnego (mówię tutaj o lambdach w javie).
Haskell
  • Rejestracja:prawie 10 lat
  • Ostatnio:12 miesięcy
  • Postów:4700
0
V-2 napisał(a):

Również dlatego, że adroidowcy muszą na co dzień borykać się ze starą odmianą Javy (poziom 6). Zyskują zatem większy przyrost komfortu przesiadając się na nowoczesny język.

Wydaje mi się, że Twój DeLorean się popsuł :) Od API 19 można już używać Javy 7, a od API 24 jest wsparcie dla wielu ficzerów z Java 8. Wg Google obecnie tylko około 10% urządzeń używa Androida w wersji starszej niż 19.


Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do d**y - tam miałem socjalizm. Czesław Miłosz
V-2
  • Rejestracja:około 8 lat
  • Ostatnio:10 miesięcy
  • Postów:671
0

Masz rację, w zasadzie jest to poziom 7. Dzięki za sprostowanie. Niemniej, jak to mówią, "I rest my case" - różnice między Javą 7 a 6, jeśli chodzi o język jako taki, raczej nie były przełomowe. A zanim API 24 stanie się normą (i tak zresztą nie obejmując - jak zauważyłeś - wszystkiego, co zawiera Java 8), upłynie jeszcze sporo bitów w pajplajnie, więc póki DeLorean nie jest sprawny, musimy się wykazać sporą dozą cierpliwości. Kotlin zaś teraz już oferuje kilka bajerów, których nawet owa wyczekiwana Java 8 nie posiada.


Nie ma najmniejszego powodu, aby w CV pisać "email" przed swoim adresem mailowym, "imię i nazwisko" przed imieniem i nazwiskiem, ani "zdjęcie mojej głowy od przedniej strony" obok ewentualnego zdjęcia. W drugiej firmie której już pracuję mam palących marihuanę programistów [...] piszą kod "leniwie", często nie wysilając się, rozwlekając ten kod, unikając np. programowania funkcyjnego (mówię tutaj o lambdach w javie).
edytowany 1x, ostatnio: V-2
0

A tak poza androidem warto w to sie pakowac waszym zdaniem? Czy uczac sie Kotlina i Javy jednoczesnie sie nie pomiesza? Czy to prawda, ze Kotlin ma zamiar wprowadzic pisanie programow pod iOS itd.? Gdzies slyszalem, ale nwm czy to potwierdzone info.

HE
  • Rejestracja:prawie 9 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Kraków
  • Postów:269
0
Lew napisał(a):

A tak poza androidem warto w to sie pakowac waszym zdaniem? Czy uczac sie Kotlina i Javy jednoczesnie sie nie pomiesza? Czy to prawda, ze Kotlin ma zamiar wprowadzic pisanie programow pod iOS itd.? Gdzies slyszalem, ale nwm czy to potwierdzone info.

Jeśli już, to Jet Brains może chcieć coś wprowadzić w Kotlinie. A jeśli już to Apple, nie Jet Brains, bo to ta firma kontroluje (siłą rzeczy) środowisko produkcji oprogramowania na iOS. I nie, nie jest to realne, bo Apple ma swój nowoczesny język (Swift).

V-2
  • Rejestracja:około 8 lat
  • Ostatnio:10 miesięcy
  • Postów:671
0

Takiej wersji to nie słyszałem nawet w formie pogłosek. EDIT: a jednak - dzięki za link @bolson

Gruchnęła kiedyś plotka, że statusem języka wspieranego na Androidzie mógłby zostać uhonorowany Swift.: https://thenextweb.com/dd/2016/04/07/google-facebook-uber-swift/#.tnw_xOXhHRE6

Też wydawało się to nieprawdopodobne, bo niby dlaczego Google miałoby chcieć uzależniać się od języka stworzonego i kontrolowanego przez ich największego konkurenta w segmencie mobilnym...

A przy okazji:
http://nilhcem.com/swift-is-like-kotlin/


Nie ma najmniejszego powodu, aby w CV pisać "email" przed swoim adresem mailowym, "imię i nazwisko" przed imieniem i nazwiskiem, ani "zdjęcie mojej głowy od przedniej strony" obok ewentualnego zdjęcia. W drugiej firmie której już pracuję mam palących marihuanę programistów [...] piszą kod "leniwie", często nie wysilając się, rozwlekając ten kod, unikając np. programowania funkcyjnego (mówię tutaj o lambdach w javie).
edytowany 2x, ostatnio: V-2
bolson
  • Rejestracja:około 15 lat
  • Ostatnio:4 dni
  • Lokalizacja:Zielona Góra/Poznań
1
Lew napisał(a):

A tak poza androidem warto w to sie pakowac waszym zdaniem? Czy uczac sie Kotlina i Javy jednoczesnie sie nie pomiesza? Czy to prawda, ze Kotlin ma zamiar wprowadzic pisanie programow pod iOS itd.? Gdzies slyszalem, ale nwm czy to potwierdzone info.

Zapewne chodzi o projekt Kotlin Native https://blog.jetbrains.com/kotlin/2017/04/kotlinnative-tech-preview-kotlin-without-a-vm/. Ekipa z JetBrains przyznała, że teraz głównie na tym będą się focusowac.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.