Kotlin vs Java: Czy Kotlin zastąpi Javę?

Opublikowany: 2021-10-05

Artykuł miał na celu opisanie wszystkich głównych zalet dwóch języków programowania mobilnego na Androida - odpowiednio Kotlin i Java.

Artykuł pochodzi z 10 marca 2017 roku, a do tego czasu Kotlin nie stał się jeszcze oficjalnym językiem Google.

Kiedy wybierasz programistów do pracy nad Twoją niestandardową aplikacją na Androida, ważna jest dla Ciebie określona technologia, z której korzystają. Dwa najczęściej używane języki Google to obecnie Java i Kotlin (chociaż nadal nie ma oficjalnego wsparcia ze strony Google), więc dla Ciebie może się początkowo wydawać, że nie ma większego znaczenia, na czym koduje Twój zespół. Jednak dalsza analiza pokazuje, że język programowania może również ograniczyć Twój czas i wydatki.

Przeczytaj także: powody odrzucenia Google Play

Ciekawostka: Kotlin został nazwany na cześć wyspy (Wyspa Kotlin, położona w pobliżu miasta Sankt-Petersburg); ten stosunkowo nowy język programowania Kotlin stopniowo staje się potężną siłą z ogromnym potencjałem dla przyszłych aplikacji na Androida, na których mogą oprzeć swój rozwój.

Poznajcie technicznie 6, ale tak naprawdę rocznego Kotlina.

Pierwotnie, w roku 2011, jako odsłona wersji Kotlin po raz pierwszy pojawił się jako nowy język dla wirtualnej maszyny Java od zespołu programistów z Sankt-Peterburga o nazwie Jet Brains. Powód, dla którego zdecydowali się wymyślić nowe „koło obrotowe” dla rozwoju Androida, jest dość łatwy do zrozumienia; podobno jest ich kilka:

  • Java istnieje już od 22 lat (całkiem termin na język programowania), dlatego istnieje wiele funkcji, których nie można zaimplementować ze względu na masywność i przestarzałość Javy.

  • Java wymaga napisania długich kombinacji kodu

  • Kompilacja kodu napisanego w Javie zajmuje sporo czasu

Jednak zespół programistów Kotlin ujął to łagodnie i zgodził się, że wiele języków nie ma mieszanki funkcji, których pragnęli inżynierowie na całym świecie, z wyjątkiem Scali; chociaż, jak zauważył Dmitry Jeremov, kierownik techniczny korporacji Jet Brains, czas kompilacji Scali jest powolny i niewystarczający dla szybkości, z jaką poruszają się współczesne usługi IT.
Wreszcie, ubiegłoroczny luty był miesiącem szczególnym dla całej korporacji JB - pierwsza wersja Kotlina 1.0 oficjalnie ujrzała świat w wersji stabilnej.
Od tego czasu Jet Brains na swoim oficjalnym blogu radził nam pozostawać na bieżąco i obiecał nową aktualizację Kotlin 1.1, skupiającą się na naprawianiu błędów i wsparciu Java Script, które wkrótce trafią. Na czas publikacji tego artykułu (10 marca 2017) wersja 1.1 Kotlin została wydana zaledwie tydzień temu, ale świat już o tym mówi. Więc jeśli dokonasz porównania Kotlin vs Java, czy byłyby znaczące różnice?

Nie wymyślanie na nowo koła.

Patrząc na różnice między Kotlin a Javą, zdecydowanie pojawiają się pewne zalety Kotlina nad Javą, które mogą mieć pożądany efekt dla tych, którzy chcą opracować aplikację na Androida.

Powody, dla których warto używać Kotlina na Androida

Zacznijmy więc gdzieś od początku.

Powody, dla których warto korzystać z Kotlina:

1) Kotlin wymaga mniej kodu do pisania.

Co najmniej 20% mniej. Jak już wcześniej wspomniano, 22-letnia Java jest już nieco przestarzała + Oracle stworzyło Javę jako język wstecznie kompatybilny, co w zasadzie oznacza, że ​​każda nowo uruchomiona wersja musi obsługiwać funkcje zawarte w poprzedniej, a co za tym idzie , z każdą aktualizacją coraz trudniej jest dodać nowe funkcje; w konsekwencji zwiększa się również ilość kodu do napisania.
Wręcz przeciwnie, architektura Kotlina została stworzona od podstaw, powodując brak architektury warstwa po warstwie.

2) Mniej zmiażdżeń występuje na Kotlinie.

Kotlin JVM ma znacznie mniej problemów niż często nazywany „błędem miliarda dolarów” - można tam zapobiec problemowi NullPointerExeption. NullPointer jest jeszcze obecny w każdym języku programowania, ale sposoby pracy z nim mogą się różnić. Dla przypomnienia, w Javie musisz ręcznie sprawdzić, czy link jest pusty, czy nie. Jeśli pominięto null - boom, crash, voila! Na korzyść Kotlina, każdy obiekt jest automatycznie ustawiany jako Null w tym języku + są zautomatyzowane kontrole dla NullPointer - aby zapewnić prawidłowe działanie kodu bez niego.

3) Kotlin to język bezpieczeństwa typu.

Ponownie, w Kotlinie każda klasa jest funkcją i na odwrót; Co więcej, podobnie jak Swift dla iOS, Kotlin dla Androida posiada typy opcjonalne, które pomagają we wszystkich kontrolach bezpieczeństwa.

Przeczytaj także: Zalety korzystania z Siwft nad Objective-C

4) Kotlin zaoszczędzi Ci trochę Twojego cennego czasu.

Jak już zostało powiedziane, mniej kodu gwarantuje prawie mniej błędów i, odpowiednio, mniej czasu poświęca się na cały proces kodowania. I dość często zespoły programistyczne obliczają całkowite koszty projektu na podstawie ilości godzin, które programiści poświęcają na kodowanie.

Oto kilka zalet Kotlina nad Javą. Chociaż Kotlin nie jest jeszcze oficjalnie obsługiwany przez Google i zajmuje kilka sekund więcej podczas pierwszej kompilacji kodu, po uwzględnieniu wszystkich tych punktów, staje się oczywiste, że język programowania Kotlina ma wiele uroków, a biorąc pod uwagę szybkość nabiera rozpędu, bez wątpienia jest to mądry pomysł dla Kotlin-Switch.

Przeczytaj o różnicach między rozwojem Androida i iOS

„A co, jeśli dokonam zmiany?”

Świat, w którym żyjemy, staje się w wielu przypadkach dość nieprzewidywalny, a jeśli chodzi o tworzenie aplikacji mobilnych, czasami pojawia się potrzeba zmiany zespołu, z którym pracujesz. Załóżmy, że kiedyś pracowałeś z zespołem outsourcingowym, ale teraz pojawiła się prośba o opracowanie własnego projektu dla Twojego projektu. Jak trudne byłoby „przetłumaczenie” z jednego języka na inny?
Wracając, odpowiedź naprawdę zależy od technologii używanej przez poprzednich inżynierów. Jeśli jako przykład weźmiemy przejście z Javy na Kotlin - to bez wątpienia istnieje rozwiązanie. Jet Brains stworzył konwerter Java-Kotlin, który pomaga rozwiązać ten problem; jednak niektóre błędy występują jeszcze podczas procesu konwersji, więc należy go monitorować, a niektóre operacje muszą być nawet ustawione ręcznie.

Z drugiej strony konwersja z Javy na Kotlina byłaby jeszcze bardziej stagnacja i bolesna, ponieważ nie wszystkie funkcje, metody i zmienne można by przekonwertować. Być może najszybszym rozwiązaniem dla nowego zespołu, z którym współpracujesz, byłoby kontynuowanie pisania na Javie, jeśli to możliwe.

Również możliwość konwersji na inny język będzie zależeć od wielkości Twojego projektu. Generalnie można wyróżnić 3 rodzaje projektów: mały , średni i duży .

  • Małe projekty trwają około 160-200 godzin, a jeśli nie ma skomplikowanej architektury - można je ewentualnie przenieść do Kotlina;

  • Średnie projekty składają się z rozwoju do 5 miesięcy i są dość niewygodne w konwersji;

  • Rozwój dużych projektów zaczyna się od 5 miesięcy, a projekty z tej kategorii są całkowicie niemożliwe do przekonwertowania na inny język;

Ogólnie rzecz biorąc, najlepszą opcją dla klienta „przełączającego się” jest zawsze rozpoczęcie pracy z inżynierami, którzy używają tej samej technologii, języków i frameworków, co poprzedni właściciele projektów. W każdym razie, gdy zmiana jest nieunikniona, zdecydowanie sugerujemy wybór „nowszego leksykonu”; na przykład, aby wybrać Kotlin zamiast Javy.

Zwięzły sposób na kodowanie dla Androida w mądrzejszy sposób.

Kotlin jako język Androida na przyszłość

A przynajmniej tak głosi hasło Kotlina. Niewątpliwie Kotlin może mieć swoje zalety i wady, ale wiele funkcji stało się wykonalnych, gdy pojawił się Kotlin. A dzięki świeżo wydanej wersji Kotlina 1.1, która teraz oficjalnie obsługuje Java Script, można od teraz zaimplementować wiele wcześniej podobnych funkcji i dalej.

W Mind Studios zajmowaliśmy się również Kotlinem dla Androida, odkąd na scenie pojawiła się pierwsza stabilna wersja. Mi Band Control (śledzenie aktywności dla Mi Band Wristband) to aplikacja w pełni opracowana na Kotlinie. To doświadczenie udowodniło, że Kotlin jest także przez naszych programistów mądrzejszym i bardziej zwięzłym sposobem kodowania dla Androida. Wybierz więc mądrze język swojej aplikacji, ale pamiętaj, aby być na bieżąco!

Napisane przez Wsiewołoda Kaganowicza i Elinę Besarabową.