Java jest !@#$%^

Ten kto na początku wymyślił Jave miał zapewne zbożne cele, ale według mnie w tej chwili ten język to jedna wielka porażka.

Od praktycznie 12 roku życia (z przerwami) coś tam sobie programu z różnych językach (przeżyłem większość istniejących jeżyków od assemblera poprzez qbasic, pascala aż do c#, php itp itd), ale żaden z nich nie był tak porąbany jak tytułowa Java.

Dla przykładu podam najbardziej upierdliwe rzeczy przez które tracę najwięcej czasu tworząc apki na androida w stosunku do normalnych języków (delphi/object pascal lub c#):

1. Tworzenie GUI to masakra:

  • trzeba utworzyć UI jako osobny plik XML <- w eclipsie ten edytor to obraz nędzy i rozpaczy
  • następnie w formatce (czyli Activity) trzeba wszystkie elementy naszego UI po kolei inicjować
  • dopiero teraz możemy używać UI jak należy

W normalnym podejściu (delphi/visual studio) tworzymy UI i już z niego korzystamy <- i co najważniejsze na każdym komputerze GUI będzie wyglądało tak samo. W przypadku ui androida wygląd może być inny dla małych telefonów oraz tabletów.

 

2. Obsługa bazy danych

  • trzeba utworzyć helpera który obsłuży połączenia z bazą
  • potrzebujemy funckje które wykonają zapytanie do bazy i zwrócą dane
  • dla każdej listy pobierających elementy z bazy danej trzeba zrobić oddzielny dataset <- oczywiście musimy mieć zdefiniowany plik z wyglądem takiej pozycji i go inicjować
  • jeśli wszystko poszło dobrze to może pokaże się lista z naszymi danymi

I teraz znowu w normalnych IDE są do tego komponenty, które zdecydowanie skracają czas tworzenia aplikacji i ułatwiają wszystkie te operacje

 

3. Wątki vs. gui

  • tworzymy wątek
  • jeśli chcemy aktualizować na bieżąco np.: progressBar to zaczynają się schody

W android do elementów UI ma dostęp tylko i wyłącznie główny wątek aplikacji i trzeba przekazywać mu informacje co chcemy zrobić. Nie było by z tym problemu gdyby nie fakt, że jest na to kilka sposobów ale UWAGA… nie każde rozwiązanie działa na wszystkich wersjach systemu.

 

 

Podsumowując powiem jeszcze jedną bolączkę z przeżyć jakie mam.

Jeśli coś działa na telefonie z Androidem 4.0.3 (na takim ja testuje) to nie znaczy, że tak samo dobrze będzie działać na Androidzie 4.2.2

Nie ukrywam, że po gigancie takim jak Google spodziewał się lepszego rozwiązania jeśli chodzi o stronę programistyczną.

 

 

ps.: z tego co rozmawiałem ze znajomymi i na forach androida to podobno lepiej i łatwiej tworzyć gry oparte na OpenGL niż zwykłe aplikacje :D:D:D:D

 

Share Button

2 thoughts on “Java jest !@#$%^”

  1. Słabo. Wszystko co napisałeś nie do końca jest prawdą. Przeczytałeś jakiś słaby tutorial i nie zrozumiałeś do końca co robisz. Fakt – w Javie trzeba trochę inaczej pomyśleć o GUI(poczytaj o listenerach). Ale komponenty są i stosuje się je dużo prościej jak w Delphi/C#. Programuję w Javie/Delphi/VS.
    Tworzenie GUI dla Androida to naprawdę przyjemność. Zrób w Delphi formatkę, która będzie działała na ekranie od 2 do 10 cali 🙂 Powodzenia.

    1. 2 lata temu rzeczywiście twierdziłem, że Java jest !@#$%^ jednak od tamtej pory trochę czasu minęło i miałem możliwość poznania jej trochę bliżej. Zgadzam się z kolegą, że w tym języku trzeba mieć inne podejście do poszczególnych elementów aplikacji niż w innych językach <- ale do wszystkiego można się przyzwyczaić.

      ps.: W Delphi da się zrobić aplikację na każdą rozdzielczość <- ale rzeczywiście jest to holernie upierdliwe jak na razie 😉 w tym względzie w Javie jest to o wiele łatwiejsze do osiągnięcia

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *