Mobile development frameworks
ili kako im je vec ime ;)
kao nekome ko se do sada bavio iskljucivo web developmentom, interesantni su mi razni javascript frameworks za razvoj mobilnih aplikacija isti su cesto i cross-platform, te zato i jos interesantniji imamo na forumu spomenut jedan nas (kako bese link?), a evo jos jedan koji sam nasao http://phonegap.pbworks.com/Roadmap koristite li neki, dajte jos koji framework edit: evo ga nas, od srdjana: http://sharpoid.com/ |
|
jel koristio neko neki od navedenih za konkretan projekat, pa da moze da nam prenese kratak osvrt za i protiv?
Srdjane pretpostavljam da si ti ispitao pazljivo konkurenciju, sta po tvom misljenju valja i ne valja? |
Ja sam svojevremeno trazio neki koji podrzava sve platforme (Android, iPhone, Symbian, Blackberry, Windows Mobile ...) ali takvog nema.
|
@ivanhoe, sva tri navedena valjaju :)
Phonegap app je prava web-aplikacija koja se otvara u browseru, sa "bridgeom" ka objektima za GPS, kameru i sl. Slično kao što imaš ActiveX koji pristupa resursima "ispod" browsera. Rhomobile liči na Sharpoid, ili obrnuto ;) Imaš kod u Ruby-ju koji se zajedno sa formama (HTML) kompajlira u bytecode, koji se potom izvršava unutar Ruby VM. Forme se prilagodjavaju native kontroli i postižu "native look". Kad se naidje na odgovarajući tag, na Androidu kreira android.widget.EditText, na BB kreiraš net.rim.device.api.ui.component.TextField. Titanium od aplikacije i resursa kreira kompletan Android (IPhone, ...) source projekta, koji šalje serveru, a klijentu (developeru) se vraća buildovana app koju može da isproba u lokalnom emulatoru. On je i najprijatniji za oko i ono što sam ja testirao radi lepo. E sad... ovo su sve projekti dosta ljudi, u koje su uloženi milioni, a Sharpoid je one-man-show iz spavaće sobe. Slede neke razlike i zašto su u moju korist :) 1. Svi navedeni kreiraju upakovane aplikacije za distribuciju, sa Holy Grail "kako zeznuti paragraf 3.3.2 IPhone SDK Agreementa", koji kaže da ne možeš da koristiš kompajlirani skript... zlo zvano Flash, C64 BASIC, ... :) Sharpoid može da downloaduje bytecode, ali i da kompajlira downloadovan ili ukucan source. Ovo je definitivno prednost, ali po cenu pristupa IPhone AppStore. I dalje je moguće kreirati "blanko" aplikaciju i hardcodirati bytecode, čime se postiže ista stvar kao za Rhomobile, čije app umeju da prolaze u AppStore. Tumačenje 3.3.2 je zbog nedavne promene "AND u OR" prilično labavo i, koliko sam ja pratio diskusije na netu, zavisi od toga na koju nogu je ustao Apple inženjer koji tog dana radi review... Zato ja nisam prevelik IPhone entuzijasta kad je moj projekat u pitanju, iako ne bi bio problem napraviti IPhone port jednostavno mi se to ne radi jer mislim da je to sve zajedno velika nepravda :) 2. Runtime je popriličan, Hello World za Titanium je 1.3MB, za Rhomobile kažu slično. Hello Sharpoid sa sve kompajlerom < 100 KB 3. Sva tri su namenjena web-programerima. Postoje i ljudi koji nisu web programeri :) i ne poznaju HTML/CSS/Ruby/... Sharpoid više liči na Visual Studio forme ili čak Delphi nego web programiranje. Ovo je delimično subjektivna stvar, a osim toga ciljna grupa mi obuhvata i casual programere. Kôd:
var x = new XMLHttpRequest(); 5. Jednostavan alat. Radiš u desktop IDE-u ili na web-sajtu. Treba vremena i rada da to postane dopadljivo na oko, ali već sad se može isprobati kako radi. Prisustvo source-a u aplikaciji takodje omogućuje i source level debugger. 6. Jednostavnija distribucija. Kad je source ispravan, klikneš "objavi", gotovo. Imam neke interesantne ideje na ovu temu koje neću sad da ureknem. :) 7. Nekoliko načina rada: console (npr. telnet), canvas (tetris), ui (twitter). Kad radiš web-aplikaciju imaš samo web-aplikaciju. 8. Lakše portovanje. Portuje se VM, JS objekti i Sharpoid API za platformu. Samim tim nije ograničeno na telefone: možeš praviti Sharpoid app za .NET MF. Nisam preveo na C, ali trebalo bi da radi mega-brzo sudeći po .NET portu. Mogu se praviti desktop aplikacije, netbook aplikacije (npr. kad se pojave Android netbuci) i tako... Veoma bitno za mobile priču: ni jedan od "velikih" ne radi na JavaME, sigurno zbog obima runtimea. Iako nemaju takav buzz, novi Sony, Samsung ili LG teško da se mogu nazvati "dumb phone". Osim toga to je i dalje najrasprostranjenija platforma. Sharpoid radi na JavaME sasvim lepo. 9. Jeftinije. Rhomobile ima prilično skupe komercijalne licence, Titanium takodje ima u planu. 10. Nije open source - ovo je da me ne bi drndali na forumu kad krenem da naplaćujem :P @milan.scepa, nije toliko problem podržavati sve navedene, koliko je problem razlika u mogućnostima svake od navedenih. Pogledaj matricu sa phonegap ili Rhomobile. Aplikacija koja bez izmena podržava sve navedene verovatno nije previše komplikovana. Mislim da je "code once, run everywhere" pogrešan pogled na stvar, nije uvek radilo ni kod Jave, a kamoli kod ovako različitih uredjaja. Ako ti to treba uvek imaš mobile web. Moja vizija sa Sharpoidom je napraviti Turbo Pascal :) za mobilne sa ultra jednostavnom distribucijom, mogućnostima sličnim "velikim" frameworcima + neke stvari vezane za poslovnu primenu. Da možeš da napraviš i Tetris i "mobilno knjigovodstvo". Programiranje mobilnih treba da bude fun, a moje dosadašnje iskustvo, iako veoma interesantno, retko kad je bilo fun... |
Uh, što ne volim kada neko napiše ovoliki post, interesuje me da pročitam ali nemam vremena za toliko čitanja :(
|
kraća verzija: poslaćeš mi fakturu jednog dana :)
|
@srdjan, mozda je malo offtopic, ali ja sam pokusao da se igram sa tvojim sharpoid-om, i probao da ucitam neke od aplikacija koje imas tamo na sajtu. Medjutim, uvek mi izbaci samo Compile OK posle klika na "Testiraj"..?
|
^ Da... pravilnije bi bilo da se zove "provera" (syntax check) jer to jedino i radi (probno kompajliranje u appletu). Ovo je da se ne bi desilo da učitaš neispravnu aplikaciju u telefon.
Startovanje se radi u telefonu (ili emulatoru) nakon "objave" ispravne verzije. Moguće je i startovanje online, na canvasu tog istog testnog appleta, ali to još nije uradjeno... |
@srdjan zahvaljujem ti na "dugackom" postu i objasnjenjima.
Nadam se da ces ti meni uskoro ispostaviti fakturu ;) |
Vreme je GMT +2. Trenutno vreme je 01:05. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.