O co chodzi z tym androidem ?

O co chodzi z tym androidem ?
L4
  • Rejestracja:około 15 lat
  • Ostatnio:11 miesięcy
0

Zaznaczam, że nie wypowiadam się z punktu widzenia użytkownika końcowego, są to moje skromne spostrzeżenia.

Nie jestem super zaawansowanym programistą Javy. Zawodowo programuję od 3 lat, hobbistycznie około 6, tydzień temu dostałem pierwszy task do napisania na androidzie.
Muszę powiedzieć, że na początku byłem baaardzo podekscytowany, myślę sobie super mój pierwszy projekt na androida, do tego platforma stworzona przez GOOGLE, firmę w której pracują jedni z najlepszych programistów na świecie. Firmę których większość produktów jest naprawdę wysokiej jakości, które uwielbiałem np guava, angularjs, gmail, chrome .....

Jednak już pierwszego dnia byłem mocno zdegustowany. Przeglądając kody źródłowe klas przecierałem oczy ze zdumienia. To jest Java ? Takie pytanie pojawiało się w mojej duszy .. Przypomniały mi się wykłady programistów google , które oglądałem na youtube o "Best practices in java" jak programować obiektowo, jak radzić sobie z nullami itd itp np ( , ) itd

Czy to odnosi się do androida ??. Przecież Java jest językiem obiektowym, czy kod w stylu :

Kopiuj

if(ACTION_GET.equals(intent.getActiion())){

}else if(ACTION_PUT.equals(intent.getAction())){


}else if ()..............
 

To jest kod języka obiektowego jakim jest JAVA !!! Król jest nagi woła moja dusza programistyczna ...

Ok nie wszystko jest złe, np Generowanie zasobów, klasa R, obrazki 9 patchowe, wersje językowe, pluars to naprawdę niezła robota, jednak reszta pozostawia dużo do życzenia.
Uważam po prostu, że użycie Javy do programowania na komórki to przerost formy nad treścią. Myślę, że język taki jak C bardzo dobrze by się tutaj spisał.

Proszę mnie źle nie zrozumieć, jednak nie rozumiem tej całej euforii jeśli chodzi o Androida (Przypominam, że wypowiadam się z poziomu developera)
Zobaczcie sobie na bugi "holy crap" Dlaczego do jasnej ciasnej google wypuszcza nowe wersje platformy jeśli pozostają jakieś bugi !!!!!!
Niektóre bugi wiszą 3 lata a nawet więcej !!

Po 3 latach programowania w Javie, i po tygodniu programowania w androidzie język ten bardzo mi zbrzydł. Chyba muszę się chyba przestawić na Apple :p

Jest to dość luźny temat i proszę napiszcie swoje przemyślenia odnośnie tej platwormy

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
1

Uważam po prostu, że użycie Javy do programowania na komórki to przerost formy nad treścią. Myślę, że język taki jak C bardzo dobrze by się tutaj spisał.

to ściągnij NDK i nie zawracaj głowy jak taki jesteś mądry ;)

Zobaczcie sobie na bugi "holy crap" Dlaczego do jasnej ciasnej google wypuszcza nowe wersje platformy jeśli pozostają jakieś bugi !!!!!!

Ty tak poważnie? Te 3 lata to chyba pracowałeś sam albo nad softem rozmiaru notatnika ;]

Po 3 latach programowania w Javie, i po tygodniu programowania w androidzie język ten bardzo mi zbrzydł. Chyba muszę się chyba przestawić na Apple

Ty chyba nie widziałeś nigdy Objective-C na oczy. Ten język jest tak dziwny i chory że szkoda słów na jego komentowanie. Rzuć okiem i szybko zmienisz zdanie ;)


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
Zobacz pozostały 1 komentarz
Shalom
To jak będziesz pisał swój kod zalezy tylko od ciebie ;) Że android d**y nie urywa to akurat żadna nowość, ale oburzenie że "ktoś releasuje soft z bugami" jest po prostu komiczne.
L4
Nie do końca jeśli kod bazowy wygląda if else oraz jest wiele hacków to nie zależy do końca od Ciebie. Po drugie nie "ktoś" tylko jedna z Czołowych firm na rynku IT, w której pracują jedni z najlepszych programistów ... dlatego uważam, że oburzenia w tym przypadku jest uzasadnione i bynajmniej nie jest komiczne :P
n0name_l
@lukasw44 czyli nie napisales nic wiekszego od hello-worlda?
L4
Napisałem jeszcze kalkulator w swingu :D
n0name_l
To jak napiszesz cos co siega chociaz do 1/100 ilosci kodu androida to bedziesz wiedzial, ze niezaleznie od tego jak bardzo sie postarasz te bugi i tak beda.
0

Twoje uwagi sa jak najbardziej uzasadnione, moje byly podobne, i nadal sa (programuje na Androida i iOS od 9 miesiecy). Szczerze nienawidze Androida. Okrutnie brzydki kod, bugi, slaba (tak, bardzo slaba) dokumentacja, wszechobecny XML i mnostwo, ale to mnostwo quirkow i haczykow w programowaniu UI mnie kompletnie odrzuca. Kijowe IDE (Eclipse to jeden wielki WTF, niestety nie moge w pracy uzywac jeszcze Studio - znaczy moge, ale projekt uzywa tyle Eclipsowej magii ze ciezko go nawet skompilowac w Studio...), straaaasznie wolny emulator...
Co do jezyka - na iOS programuje sie glownie w Objective-C i spisuje sie swietnie, mimo nieco dziwnej poczatkowo skladni.

Shalom napisał(a):

Ty chyba nie widziałeś nigdy Objective-C na oczy. Ten język jest tak dziwny i chory że szkoda słów na jego komentowanie. Rzuć okiem i szybko zmienisz zdanie ;)

Jezyk dziwny tylko dla ludzi ktorzy wczesniej go nie widzieli i znaja tylko c i pochodne. Moim (i nie tylko) zdaniem jest bardzo ciekawy i ma wiele zalet - runtime jest banalnie prosty, zawsze mozna bez problemu uciec do czystego C bez NDK z kolejnym stadem bugow, bardzo mi sie podoba pomysl podawania kilku parametrow i tworzenia metod czytelnych jak zdania. Po moim 9-miesiecznym doswiadczeniu stwierdzam ze jak dla mnie jest znacznie ciekawszy niz java, szczegolnie tak biedacka okrojona namiastka javy jaka uzywa sie na androida.

L4
Zgadzam się z tobą. Dlaczego do jasnej ciasnej wydawane są następne release jak nadal tyle bugów wisi ?? To ten sam google który uczy jak stosować dobre praktyki programistyczne ?? czyż to nie herezja .....
Azarien
yyy.. hipokryzja, chyba.
bolson
  • Rejestracja:około 15 lat
  • Ostatnio:2 dni
  • Lokalizacja:Zielona Góra/Poznań
1

Obie platformy (Android i iOS) mają swoje wady i zalety. W obu da się napisać słaby jak i porządny kod. Fakt, może kod w androidzie nie wygląda jak kod jakieś javowej biznesowej appki, ale nie widzę przeszkód w stosowaniu technik obiektowych.

Android Studio zjada Eclipse na śniadanie, współczuje osobom, które nie mogą z niego korzystać ;) Standardowy emulator jest wolny, ale mając kompa z prockiem Intela da się go znacznie przyspieszyć. Istnieją również emulatory firm trzecich (Genymotion np), których wydajność jest naprawdę niezła - zbliżona do urządzeń.

Podsumowując, zaczynałem od pisania biznesowego softu w Javie, od kilku miesięcy siedzę w Androidzie i nie narzekam :) Trochę trzeba było zmienić podejście, ale podobają mi się wyzwania stawiane podczas developmentu appek mobilnych. Zwykle pracuję równolegle z developerem iOS, on klnie przy implementacji jednych ficzerów, ja drugich ;)

edytowany 1x, ostatnio: bolson
0

Fakt, może kod w androidzie nie wygląda jak kod jakieś javowej biznesowej appki, ale nie widzę przeszkód w stosowaniu technik obiektowych.

  • tutaj akurat się zgodzę, często wygląda znacznie lepiej (androidowy oczywiście ;]). Twoje niezadowolenie jest całkiem zrozumiałe, ale weź pod uwagę to, że android na rozwija się bardzo szybko i po prostu większość dziwactw związanych z platformą wynika z tego, że w google pracują świetni programiści, a nie prorocy.

niestety nie moge w pracy uzywac jeszcze Studio - znaczy moge, ale projekt uzywa tyle Eclipsowej magii ze ciezko go nawet skompilowac w Studio...), straaaasznie wolny emulator...

  • taa... tak sobie to tłumacz, każdy projekt się da wyeksportować do android studio, wypada tylko znać strukturę projektu idea i system gradle. Emulator uruchamia się 5 sekund, programy uruchamiają się ok. również ok 5-10 sekund, a samo ich działanie jest płynniejsze niż na najnowszych urządzeniach, więc dziwne są to stwierdzenia. Nie rozumiem czemu mają służyć takie tematy: "nie umiem, nie rozumiem, nic mi nie działa, wyleję trochę frustracji na forum". Nie pojawiają się jakoś wątki o tym, że od pisania w objective-c można dostać zeza rozbieżnego (co jest oczywiście naukowo udowodnione ;]).
L4
  • Rejestracja:około 15 lat
  • Ostatnio:11 miesięcy
0
niezalogowany napisał(a):
  • taa... tak sobie to tłumacz, każdy projekt się da wyeksportować do android studio, wypada tylko znać strukturę projektu idea i system gradle. Emulator uruchamia się 5 sekund, programy uruchamiają się ok. również ok 5-10 sekund, a samo ich działanie jest płynniejsze niż na najnowszych urządzeniach, więc dziwne są to stwierdzenia. Nie rozumiem czemu mają służyć takie tematy: "nie umiem, nie rozumiem, nic mi nie działa, wyleję trochę frustracji na forum". Nie pojawiają się jakoś wątki o tym, że od pisania w objective-c można dostać zeza rozbieżnego (co jest oczywiście naukowo udowodnione ;]).

Ja w sumie nie mam z tym problemu, ale są firmy gdzie trzeba programować w danym środowisku . Osobiście znam kolegę, który po kryjomu co 30 dni instaluje sobie Intelij, ma takie szczęście, że nikt nie pracuje za jego plecami. Dlatego nie dziwię się jak ktoś mi pisze, że np . muszę pracować na eclipse, lub muszę używać anta.

Rzeczywistość jest brutalna ile jest takich firm gdzie musisz używać systemu operacyjnego łindows ? Ręce do góry ...

n0name_l
Firma mu nie pozwala uzywac swojego prywatnego IDE? Przeciez to smieszne.
L4
Masz kilka rodzajów licencji. Z tego co się orientuje licencja Intelij dla firm jest dużo droższa
n0name_l
If you, as an individual, are purchasing a product license using your own funds, then the personal license is right for you. I generalnie nie ma to nic do rzeczy dla kogo ten soft sie klepie.
0

Mój post miał być w takim specyficznym tonie napisany. Wiem jak wygląda sytuacja w firmach, co nie zmienia faktu, że większość problemów w programowaniu na androida wynika z nieznajomości platformy (z tego również biorą się nerwy). W ogóle zauważam dziwny trend. Ludzie myślą, że jak jest to platforma mobilna to jest do opanowania szybko i bez problemu. Ja bym powiedział, że nawet trudniej zacząć pracę przy aplikacjach mobilnych niż biznesowych (chociaż stwierdzenie być może przesadzone).

0
niezalogowany napisał(a):

niestety nie moge w pracy uzywac jeszcze Studio - znaczy moge, ale projekt uzywa tyle Eclipsowej magii ze ciezko go nawet skompilowac w Studio...), straaaasznie wolny emulator...

  • taa... tak sobie to tłumacz, każdy projekt się da wyeksportować do android studio, wypada tylko znać strukturę projektu idea i system gradle. Emulator uruchamia się 5 sekund, programy uruchamiają się ok. również ok 5-10 sekund, a samo ich działanie jest płynniejsze niż na najnowszych urządzeniach, więc dziwne są to stwierdzenia. Nie rozumiem czemu mają służyć takie tematy: "nie umiem, nie rozumiem, nic mi nie działa, wyleję trochę frustracji na forum". Nie pojawiają się jakoś wątki o tym, że od pisania w objective-c można dostać zeza rozbieżnego (co jest oczywiście naukowo udowodnione ;]).

Tak, lacznie z pluginem do eclipse napisanym przez firme ktory robic costam costam (ja wiem co robi ale nie mam zamiaru tego reimplementowac ani w gradle - ktorego znam bardzo, bardzo dobrze, nawet jest tam moj kod - ani jako plugin do idea).
Emulator szybki - no nie wiem, ja akurat pracuje na najnowszym aktualnie macbooku air ktory slabym urzadzeniem bynajmniej nie jest, i emulator androida wstaje tam prawie minute. Jak juz wstanie, to dziala szybko - ale tylko dzieki HAXM. Takze troche wiem o czym mowie, ty raczej nie znasz moich realiow.

DC
Spróbujcie Genymotion
L4
mućka miałeś wkład w najlepsze narzędzie pod słońcem :) gradle wymiata ...
L4
  • Rejestracja:około 15 lat
  • Ostatnio:11 miesięcy
0

Podsumowując

  • Programowanie na platformie androida to programowanie strukturalne w Javie.
  • Jest to najgorzej dopracowany produkt google, z jakim się spotkałem.
  • samsungi na których wszystko działa inaczej
    -wypuszczanie nowych niedopracowanych wersji
  • bugi wiszące kilka lat
  • Andoid studio oparty na Intelij, darmowy super szybkie środowisko
  • Użycie gradle
  • definiowanie zasobów
DC
  • Rejestracja:około 12 lat
  • Ostatnio:3 minuty
  • Postów:409
0

Można się kłócić i dyskutować ale "wszyscy" mają telefon i "wszyscy" mają tam Androida :P

L4
Jak wspomniałem nie wypowiadam się z pozycji użytkownika tylko programisty .
n0name_l
No nie wszyscy, niektorzy wola powazne systemy.
DC
No tak, dlatego wstawilem "wszyscy" w cudzyslow ;)
L4
  • Rejestracja:około 15 lat
  • Ostatnio:11 miesięcy
0

Może jest ktoś kto pisał pod IOS i Androidem i ma porównanie ...?

0

Jak juz wstanie, to dziala szybko - ale tylko dzieki HAXM.

  • no i właśnie tego nie rozumiem. Ja dzięki HAXM uruchamiam emulator w 10 sekund, więc dziwi mnie, że czekasz minutę i to jeszcze na takim mocnym sprzęcie. Co do @lukasw44, jesteś w stanie podać przykłady strukturalnego programowania na androidzie? Zastanawiam się już dobre 10 minut i na nic wpaść nie mogę (a naprodukowałem się w ostatnim czasie kilkadziesiąt tysięcy linii kodu na ten system).
KR
Moderator
  • Rejestracja:prawie 21 lat
  • Ostatnio:około 3 godziny
  • Postów:2964
0
Kopiuj
if(ACTION_GET.equals(intent.getActiion())){
 
}else if(ACTION_PUT.equals(intent.getAction())){
 
 
}else if ()..............

To jest kod języka obiektowego jakim jest JAVA !!! Król jest nagi woła moja dusza programistyczna ...

A co niby w tym jest źle? Można by się co najwyżej zastanowić, czy ewentualnie enumami i switchem nie zastąpić, ale dużej różnicy raczej nie będzie.
Poza tym Java nie jest czysto obiektowa. Wspiera więcej różnych paradygmatów programowania niż C++.

edytowany 1x, ostatnio: Krolik
airborn
  • Rejestracja:ponad 15 lat
  • Ostatnio:prawie 7 lat
  • Postów:274
0
Krolik napisał(a):

A co niby w tym jest źle?

Brak pojedynczej odpowiedzialności? Ale to nie jest ani problem Androida, ani Javy, tylko źle napisanego kodu.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)