Programming Expirience Android, iOS

poruka: 6
|
čitano: 3.585
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
Programming Expirience Android, iOS

Zanima me ako ima ekipe koja je radila za jednu i drugu platformu kakva su iskustva u programiraju i da se tako izrazm zadovoljstvo alatima.

(Napišite i alate koje ste koristili) i naravno usporedba toga po platformama - to se jasno proteže kasnije i na korištenje toga što si napravio, održavanje itd.

 

Naravno ako je netko radio uz sve i Windows phone appove - neka doda i dojmove razvoja za njega...

 

U nadi da će biti interesatnih komentara.

 
2 0 hvala 0
14 godina
neaktivan
offline
Programming Expirience Android, iOS

Evo da i ja iznesem svoje skromno iskustvo.

 

Što se tiče iOS-a tu ne mogu ništa pričati jer nisam ni linije koda napisao za taj OS, međutim imam nešto iskustva s Android-om i WP7, i mogu reći da je razvoj za WP7 "bajka".

Zašto???

Eclipse i ADT nisu loša kombinacija iako mi je se ADT znao par puta rušiti a i Eclipse layout mi se ne sviđa nešto pretjerano jer sam navikao na onaj od VS.

Također u VS sve ide nekako glađe a debug u VS je nešto što se rječima nemože opisati.

Za WP7 se jednostavnije aplikacije razvijaju u Silverlight-u, dok se igre i grafički naprednije razvijaju pomoću XNA Framework-a, a kad spominjemo razvoj u Silverlight-u tada podrazumijevamo odlični vizualni editor i deklaraciju sučelja pomoću XAML koja je naprosto odlična.

 

Neki kao nedostatak razvoja za WP7 spominju nativnu podršku koja bi se trebala uvesti s Mango update-om i koliko ja znam zvat će se "Iris", iako za 99% aplikacija je sadašnja kombinacija sasvim dovoljna.

 

Matematički gledano:

VS + SL/XNA + C#(može i neki drugi managed jezik) + WP7 SDK = dobitna kombinacija.

 

 

Moj PC  
5 0 hvala 2
15 godina
neaktivan
offline
Re: Programming Expirience Android, iOS

Hej kolega,

hvala na odgovoru, nekako smo istomišljenici jer sam i ja iz MS svijeta došao u razvoj Androida i nekako bi
rekapitulirao svoja iskustva ovako:

Android

Emulator
====================
Simpatično je to što je stvarno pravi emulator mobitela s kojeg de facta možeš pozvati nekoga :-) ali ono
što ne razumjem je sporost, ok to je možda radi dojma pravog mobitela, prvih sam dana tražio riješenje kako da
mi emulator starta jer sam mislio da se neće nikada upaliti
Ima još jedan iritantan problem a to je da Eclipse ostaje bez komunikacije s istim, to sam riješio tako da sam kod debug/ run konfiguracija namjestio da se target bira uvijek ručno. Ovako ako se bira automatski to vodi do potrebe da pališ i gasiš eclipse i emulator - a to je taman coffe break.
Na mašini od 3GHz s 4GB RAM.a da nema načina da ista stvar radi brže - šteta. Eventualno se može nekad šlepati s direktnim deployem na mobitel al tu onda gledaš samo jednu rezoluciju. S druge strane napravio si posao jer eventualna greška koja se nebi desila na emulatoru (ima i toga) odmah dođe van.

(Cijelo vrijeme pisanja ovog posta Andorid emulator pokušava podići sistem - šefe ne zafrkavam se na poslu al evo emulator se neće upaliti :-))



Grafički dizajner
====================
Koma, kroz zadnje updateove su ga malo popravili al je ključna stvar da ono što u njemu vidiš ne mora uopće
odgovarati onom što će se pojaviti na ekranu osim ako ne radiš neke krajnje jednostave stvari. Sa zadnjim updateom dobili smo malo ipak bolji dizajner, no jasno ne može se uspoređivati s analognim stvarima kod drugih platformi.

Baza podataka
====================
Kad sam vidio kako ću koristiti Sqlite kroz SQLiteOpenHelper nasmijao sam se... uglavnom s bazom i njenom kompliciranošću ne treba pretjerivati. Nisam našao načina kako da neki SQL manager povežem s unutranjom Sqlite bazom u Android emulatoru a to bi mi dobro došlo, no dobro da se trpiti ako je par tablica u pitanju. Naravno možeš uvijek se spojiti preko prompta - možeš ići i pješice na posao 20km nije problem...

Eclipse
====================
Taj čuveni eclipse, nakon uputa ovdje na formumu (Markač) oko ubacivanja dokumentacije u za to predviđene foldere u Android SDKu stvar je počela raditi koliko toliko podnošljivo, čak više nema toliko čuvenog zamrzavanja kada nakon nekog člana pritisneš točku ... :-). Iritantan je i kada ima uključen automatski rebuild - kad odluči nešto raditi programer nije više baš važan u priči.

Dokumentacija
====================
Da nema nekih blogova i primjera na privatnim stranicama neznam kako bi neke stvari riješavao. Recimo mogućnost zadavanja gradijenata, pa kružnih i zaobljenih oblika - sve to sam isčupao daleko od Android SDK online dokumentacije. Fale primjeri kako ih ima na MSDN.u.
Posebno stvar šlepa baš u dizajnu UIa budući da je to specifično za platformu - sve ostalo se može tražiti i po drugim mjestima s Java dokumentacijom.


Zaključak
Iako je stvarno s par zadnjih upatea i uključenjem offline dokumentacije za SDK u Eclipse postalo puno bolje sve je još uvijek dosta sporo i posebno naporno kod testiranja.

 

WP7 sam samo upalio i napravio jedan skroz jednostavni projekt. Naravno - dizajner se ne može uspoređivati s Androidom, vjerojatno da kod kompliciranijih stvari ima i s njim problema ali ipak je kako si rekao cijela tradicija Silverlighta iza njega pa...

iOs - tu stvarno nemam nikakva iskustva, nemam niti Apple uređaj da bi na njemu to probao, ono što me potaklo na pisanje ovog posta je brzina rada razvojne okoline. Naime ne vjerujem da Apple ima bogatiju okolinu od Microsofta pa čak i Googlea al dal bar radi brže naspram Androida?:-)

Poruka je uređivana zadnji put pet 13.5.2011 9:12 (SasaFrr).
15 godina
offline
Re: Programming Expirience Android, iOS

Isto radim jedno pola godine (ako ne i malo više) na Android-u, pa evo što sam ja "našao"

 

Emulator

===================

Emulator najbolje radi na windows XP. Meni doslovno leti (kao mobitel je onda), najgore je na win 7/Vista kombinaciji, dok je na linux Mint-u negdje između te dvije.

Isto tako ADB (Android debug bridge) se zna rušiti i to samo na win 7/Vista kombinaciji (to je ono što ti nazivaš gubitkom komunikacije). Najbolje ti je onda napraviti "adb server-kill" "adb server-start", pa da ne moraš čekati opet dizanje emulator-a. Inače ako ti se ponekad zna "izgubiti" LogCat odeš u DDMS, pa odabereš među Devices svoj uređaj, double click i trebao bi se logcat opet pojaviti.

 

Grafički dizajner

===================

Potpuno se slažem s tobom, katastrofa. Nema druge riječi za opisati ga

 

Baza podataka

===================

Nisam baš radio s njom, tako da ne mogu ništa komentirati. Ali mislim da bi neki vizualni editor dobro došao.

 

Eclipse

===================

E sad dolazimo do onoga što po meni najviše koči Android development. iOS ima xCode koji je napisan od strane Apple tima i potpuno prilagođen za rad u objective-c, samo su još nadodali podršku za iOS. Win phone ima VS koji je već imao cijelu podršku za rad sa XAML-om i Silverlight-om, znači samo se nadoda još i za win phone development. Najpopularniji editor za Javu je Eclipse (iako ne najkvalitetniji, intellij je za nekoliko klasa bolji), tako da su oni probali napraviti samo plugin za Eclipse. Sad u zadnje vrijeme je taj ADT dobio velike nadogradnje i već polako to izgleda k nećem, ali još je dug put da se dostignu drugi IDE-ovi.

Skini si naj okaljaštenu verziju Eclipsa, onu od 90mb, stavi samo ADT i one plugin-ove bez kojih stvarno ne možeš i radit će donekle stabilno. Uvijek imaš IntelliJ, ali on nema vizualne GUI editore, pa kako ti paše. Ja imam samo ADT i Subversive plugin.

 

Dokumentacija

===================

Si kad vidio Java dokumentaciju ?? Ono što ima Android je naspram Java dokumentacije nebo i zemlja (npr u Java dokumentaciji nema baš primjera, osim ako ne ideš kroz tutorial, dok kod Android-a su još stavili primjer, dva), a Android se temelji na Javi. MSDN je naspram JavaDoc's-a nekoliko godina ispred. Primjer za skoro svaku klasu, detaljni opisi metoda i property-a, nažalost Java sve to nema, Android je nadogradnja na taj JavaDoc's sustav i zato je jako okaljaštren. Možda se s godinama i to popravi.

 

 

Po meni je to još uvijek jedna friška razvojna okolina, koja se polako poboljšava. Iako još uvijek razvoj zna biti naporan, dobro je da se vide koraci kako se to sve pomiče polako naprijed. Kroz koju godinu to će sve izgledati puno bolje i ispeglanije. Najbolje bi bilo da naprave neki svoj fork Eclipsa (kao npr IRAD (IMB Rational Application Development) za WebSphere), pa da to onda radi kako spada. Naprave full integrirani Visual developer, gdje možeš i 9Patchove raditi bez problema, a ne da trebaš koristiti alat izvana itd.

'Genius might be the ability to say a profound thing in a simple way' Charles Bukowski
Poruka je uređivana zadnji put pet 13.5.2011 9:36 (dado2202).
15 godina
neaktivan
offline
Programming Expirience Android, iOS
Cmon, ima ko za ios? Htio bih znati koliko bi kostala jedna aplikacija za iphone da mi je netko po zelji napravi, nesto poput vijesti jutarnji, ali s par dodatnih funkcionalnosti.... Naravno, zanimaju me i iskustva ios programera. Osim ako ljubomorno ne cuvaju to za sebe....
 
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programming Expirience Android, iOS
diablo2211 kaže...
Cmon, ima ko za ios? Htio bih znati koliko bi kostala jedna aplikacija za iphone da mi je netko po zelji napravi, nesto poput vijesti jutarnji, ali s par dodatnih funkcionalnosti.... Naravno, zanimaju me i iskustva ios programera. Osim ako ljubomorno ne cuvaju to za sebe....

Bok, na jednoj profesionalnoj aplikaciji radi vise developera plus dizajner i koncept manager, tako da takva aplikacija nemoze bit jeftina. Ako hocete jednostavniju aplikaciju koja koristi nativne kontrole iz Cocoa Touch-a bez custom grafike, onda ju jedan developer moze napraviti za nekih tjedan/dva, plus testiranje.

 

Sto se tice iskustva...

Ako se mislite profesionalno baviti programiranjem za iOS onda jednostavno nemate opcija, morate nabaviti mac, xCode, iPhone/iPad i registrirati se kao developer kod apple-a, sve vas to moze kostati i preko 10k kn.

 

xCode 4 alat je ok, i moze se lijepo raditi u njemu, ima nekih sitnica koje u pocetku znaju poprilicno nazivcirati covjeka, ali se naviknete na to. Prije sam radio u Visual Studio Ultimate, i xCode nije VS-u ni do koljena. xCode je dobro integriran s Instruments-ima (alat za analizu performansi), i taj alat cete puno koristit za pronalazenje memory leak-ova. Alat je odlican, i nemam nekih vecih primjedbi na njega.

 

Objective-C 2.0 je zanimljiv jezik, i kada se naviknete na sintaksu i princip delegata i loose coupling-a odlicno je raditi u njemu. Na iOS-u nema garbage collectora, i najveci problem ce vam biti memory management. Morate u svakom trenutku znati tko je vlasnik objekta i razumjeti principe alokacije/inicijalizacije objekta, dealokacije, retain/release, i razumjeti autorelease pool i event loop.

Apple je u iOS5 SDK uveo automatic reference counting, sto je najblize garbage collectoru sto mozete dobit od apple-a. ARC nije garbage collector vec analizator i optimirator koda koji sam salje retain/release poruke objektima. Apple se kune da ARC radi savrseno, ali vidjet cemo u praksi kakav ce se pokazat. Zelim vam samo istaknuti da Apple nece nikad uvesti garbage collector na iOS, s dobrim razlogom, GC predstavlja dodatni performance overhead, a apple jako brine o potrosnji baterije, optimizaciji performansi i opcenito user experience-u.

 

Neznam dali ste znali, ali, da bi mogli build-ati aplikaciju na svoj device, morate imati provisioning profil koji si kreirate preko iTunes Connect-a, da bi kreirali profil, morate platiti 100dolara godisnje. Mozete buildati na simulator, ali simulator nema hardware-ske feature device-a (gps, akcelerometar...)

 

Svaku aplikaciju koju pozelite staviti na App Store morate poslati na revisioning u apple, nije rijedak slucaj da vam aplikaciju odbiju staviti na store, kada se to dogodi dobit cete objasnjenje od apple-a zasto. Uglavnom su razlozi memory management (crash-evi) i nepostivanje HIG-a.

 

Ovo sam sad izvukao na brzinu iz glave, i mozda vam izgleda dosta povrsno, ako imate nekakvih specificnih pitanja, slobodno pitajte.

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice