Pod pokličkou: vývoj mobilních aplikací

Diskuze čtenářů k článku

Jerry  |  19. 04. 2008 23:23

"Běžná aplikace vyvíjená na zakázku přijde zákazníka na několik stovek tisíc." !!
Sakra, bud nevim, co si predstavit pod pojmem bezna aplikace a nebo nekolik let pisu J2ME aplikace skoro zadarmo. A to potvory jeste casto smlouvaly, ze je to moc drahe. No nic, od ted je budu odkazovat na tenhle clanek, treba mi jednou nekdo da aspon polovinu uvedene castky...

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
19. 04. 2008 23:55

Klid, to je naprosto normální, jsou ceníkové a reálné ceny a ty ceníkové se musí výrazně nadsadit, aby bylo z čeho dávat slevy.
Třeba taková cena za inzerci v časopisech, dělal jsem ve firmě, co prodávala luxusní zboží a dávali jsme inzeráty do lifestylových časopisů a běžně jsme měli slevu 85 % a to jsme ještě třeba část hradili barterem.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Martin  |  21. 07. 2008 09:55

Zdravim, prave pripravujeme nekolik mobilnich aplikaci a nekdo z Vasimi zkusenostmi by se nam hodil na konzultace nebo spolupraci. Muzete se mi, prosim, ozvat na martin(at)eusot(dot)cz ? Diky.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Petr  |  19. 04. 2008 20:07

Teda precetl jsem jen prvni 2 stranky a jsem pomerne sokovan.
Rikat, ze obfuscator zmensi kod je sice pravda, ale melo by se to pri tak velkem clanku rici polopate cele. Proste obfuscator zmensi delku promennych v .class souborech a zaroven tedy hlavne zneprehledneni logiku programu a o to take hlavne jde. Jinak by se po disasemlaci .class pustili sw pirati a zacali jednoduse kopirovat sw reseni.
Potom rici, ze kazdy vyrobce si dela svoji Javu ME je sice pravda, ale melo by se hlavne zduraznit, ze implementace Java ME podleha Combatibility Test Suite takze se MUSI chovat korektne. Protoze jsou definovany Sunem specifikace, kazda Java musi mit podporovat napr. minimalne 5 threadu, velikost displeje u J2ME je minimalne 128x128 atd. (tady je take hlavni duvod, proc uz mobilmanii tak nectu, clanky o mobilech tuto cast nepokryvaji profesionalne).
No uz radeji koncim. Jak rikam, docela strasnej komercni clanek pro reklamu firmy x, coz chapu, asi maji malo vyvojaru, ale je to neprofesionalni.
Petr K.
SUN Certified Mobile Application Developer

Souhlasím  |  Nesouhlasím  |  Odpovědět
Petr  |  19. 04. 2008 20:10

Jeste upresneni k tem uvedenym parametrum, jde o specifikaci MIDP 2.0 . Zakladem je samozrejme CDLC 1.0 nebo lepe 1.1 (hlavni rozdil mimo jine je, ze podporuje floating point).
Petr K.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Petr  |  19. 04. 2008 20:19

No a abych byl alespon ja trochu kompletni (nejsem za to placeny, takze jsem liny, jenom mi moje certifikace neda na tento clanek zareagovat) tak uvedu hlavni duvod, proc BY se jednotlive Java programy (midlety) mely customizovat na miru. Kazdy model mobilu ma totiz jinak velkou pamet, jinak rychlou, ma rozdilnou spotrebu jednotlivych komponent (pamet, display) a predstavte si take, ze je dulezite zvazit parametry site mobilniho operatora. V USA na to existuje firma, ktere da operator x mobil y a plikaci z a na to firma "usije" aplikaci na miru. Ucelem totiz je, aby koncovi klienti byli spokojeni (jsou jich miliony). PROTO ta vsechna prace s tuningem aplikaci. Pokud by se to nepripravilo a neotestavalo, tak by to sice melo fungovat, ale mohlo by to mit napr. velke odezvy z ruznych duvodu (pomala pamet na mobilu x, nebo naopak pomala komunikace na mobilu, ktery ma jen GPRS). Takze se musi vse vzit v uvahu a aplikaci prislusne upravit.
Prosim nehazejte priste spinu na Javu. Na prvni precteni to tak na me zapusobilo i kdyz jste to nemeli urcite v umyslu. Delejme vse profesianlne. Dekuji.
Petr K.
SUN Certified Mobile Application Developer

Souhlasím  |  Nesouhlasím  |  Odpovědět
LUCCA  |  19. 04. 2008 20:29

Dobre jsi to shrnul, o tom tuningu to je. Ten kolikrat zabere nejvic casu. Ale ze by clanek hazel spinu na JavaME, hmm, to se mi nezda. Jen spomenuli sve utrapy pri vyvoji, stejne jak ty ted, akorat to podali vice laicteji = stravitelneji pro ctenare Mobilmanie ;). Zas vyvoj JavaME nemohli vynest do vysin, jak je to super, easy a za vecer nemaji co delat. Ty problemy co pisou oni i ty tam skutecne jsou, tudiz jen rekli fakta, nehanili Javu

Souhlasím  |  Nesouhlasím  |  Odpovědět
Petr  |  19. 04. 2008 20:36

Mas pravdu, nechal jsem se unest. Jenom jsem citil potrebu pri prvnich nepresnostech vse pekne srovnat. Jsem prilisny perfekcionista, omlouvam se
Presto, ze jsem ted "upovidany", kdyz ja vysvetluji neco laikovi tak se ridim tim, ze se snazim rici co nejmene slovy a nejlepe na konkretnich prikladech hlavni problematiku. Tady to zacalo vetami typu, "kdyz kazdy vyrobce ma jinou Javu" nebo "dokonce se testuje i na realnych mobilech znacek x,y ...". Tomu se rika mlha A ja uz vidim cerne pac jsem jeste nevecerel. Ahoj

Souhlasím  |  Nesouhlasím  |  Odpovědět
LUCCA  |  19. 04. 2008 20:18

Clovece, to tak nemuzes brat. My vyvojari to vime, ale uvedom si, ze Mobilmanii ctou masy, bezni uzivatele, a proto clanek musi byt smerovan prioritne jim. To uz bys musel rovnou vysvetlovat, co to je thread v aplikaci, k cemu slouzi atp. O tom ze se JavaME musi chovat korektne neco pisou v clanku, ze jim to zajistuje chod aplikace na temer vsech mobilech. Stejne tak i rozliseni je tam spomenuto. Zas bych to nevidel tak cerne Clanek je dobry vzhledem ke svemu smerovani, vyvojari preci nemusi cist clanky o vyvoji, ne? :)
Me osobne se clanek libil, dobre, nazev te firmy tam byl az moc casto ;), ale svuj ucel clanek jiste splnil. Naopak jsem rad, ze i na takove oblasti se Mobilmania orientuje. Nechysta se nejaky dalsi na podobne tema?

Souhlasím  |  Nesouhlasím  |  Odpovědět
Petr  |  19. 04. 2008 20:30

Ale jo, nebudu tak vaznej a urputilej. Moc diky za reakci. Jinak se take priklanim k tomu, aby na mobilmanii vznikaly takove clanky, ktere tam mely davnou byt. Napr. probrat zakladni pros and cons Javy a porovnani s WM atd. Dost dlouho uz totiz vznikaji na mobilmanii clanky, ktere se pohybuji jen na povrchu mobilu a to uz je podle me strasna nuda pro vsechny. Dalsi priklad, vsimnul jsem si, ze hodne lidi (hlavne ti, co maji citliva data na mobilu) se boji, aby jim Java nebo i WM program neukradl sensitivive information a neposlal to do netu. No a tady uz davni mohla Mobilmani udelat osvetu, ze jedine diky specifikaci (tusim JSR-175) lze pristupovat do file systemu a to jeste po potrzeni ano/ne uzivatelem atd. Jinak Java, jak asi samozrejme vite, pracuje jen s RMS (record management systemem), coz je jista forma permanentni pameti alokovane pro jeden nebo i vice midletu (v pripade MIDP 2.0).
Uz koncim. Mam dovolenou a pritom takhle relaxuji. Omlouvam se
Petr

Souhlasím  |  Nesouhlasím  |  Odpovědět
ladty  |  19. 04. 2008 20:43

Je to JSR-75 (jenom pro poradek)
A taky me dycky dostanou debaty o virech v J2ME... Jedinej pripad se moh objevit na jedny nokii (uz nevim jaky), kde nekdo rok a pul prohrabaval (disassembloval a hrabal se v kodu) a pak tam nasel mezeru ktera se dala zneuzit, ale to byl velice ojedinelej pripad. Ale srovnani symb, wm a j2me v ruznych faktorech by se tady nekdy hodilo... terba ta bezpecnost je dobry priklad

Souhlasím  |  Nesouhlasím  |  Odpovědět
Petr  |  19. 04. 2008 21:29

Diky za opravu JSR-75. Napsal jsem to hned (je to 20:45), takze to vypada, ze jakoby reaguji podrazdene ("Tak jsem se s tou specefikaci na prvni nastrel netrefil"), ale neni to reakci na tvoji pripominku, proste jsem se mrknul a opravil to v dalsi poznamce. Je dobre, ze my vyvojari delame osvetu, snad alespon trochu na spravnem miste.
Jinak pred 4 lety jsem si udelal prvni midlet absolutne "rucne", pro pohodlne cteni a byla to opravdu fuska. Psal jsem to v grafickem modu a pri komunikaci s displajem jsem si uzil hodne legrace. Muj browser ma mozna i dnes "revolucni" ovladani. Napriklad pri cteni textu, ktery se nevejde na jednu radku, na klavesu ok ho automaticky posouvam. Proste misto toho, aby uzivatl jezdil pri cteni stylem doprava, doprava, dolu, doleva, doleva tak jen macka porad ok a logika meho midletu sama testuje (vi) co je na displeje a kam se hnout. Rekace na tak genialne jednoduchou myslenku mam vzdy z okoli az euforisticke. Tak jsem mozna ted prozradil nepatentovany napad. Mam tam jeste jine zajimavosti , ale o to ted nejde. Navic dnes uz je Java ME trochu dale. Tak opet koncim. jsem unaveny. Mejte se vsichni hezky a diky za opravdu lidske reakce.
Petr

Souhlasím  |  Nesouhlasím  |  Odpovědět
Petr  |  19. 04. 2008 21:34

Jeste k tomu popisu, nekdo by mohl rici, ze od toho je line nebo word wrap. Moje reseni bych nazval auto-reading. Na mobilu mackate jen ok a divate se porad jen na prvni radku. Kdybyste to nekdo patentoval a mel uspech (a to predpokladam ), tak prosim muzete pouzit znacku Auto-reading, ale prosim 3% ze zisku. Kam jsem se to dostal. Ctu clanek, okolo same reklamy a najednou chci ja sam nejaky zisk Je sobota vecer, jsou i jine pozitky, koncim. Petr

Souhlasím  |  Nesouhlasím  |  Odpovědět
ladty  |  19. 04. 2008 21:44

Neboj me bylo jasny zes nereagoval na me, staci se podivat na cas a na strom prispevku... Taky casto neco napisu a az pak si to overim... (to mam asi z toho, ze v programovani neco napisu a kdyz to je spatne tak me kompiler nahlasi co a jak je spatne, uz sem zlenivel .
A s reakcemi okoli sem na tom uplne stejne... Kdyz se neco libi ostatnim tak z toho mam radost, jinak to zas predelavam dokud se to nelibi... Ted sem udelal nejake hry a docela hojne se to hralo tak sem z toho mel radost Co se nelibi okamzite mazu nebo predelavam

Souhlasím  |  Nesouhlasím  |  Odpovědět
Petr  |  19. 04. 2008 22:11

Tak to gratuluji ! Me nastesti take vse funguje ok. Je to v realnem provozu jiz nekolik mesicu a diky Tomcatu a hlavne bezvadne implementaci Javy na jine platforme (nechci zde delat reklamu) to jeste ani jednou nespadlo (tady jsem zase mimo jine SCEA a SCDJWS). Zaplat panbu za Javu
Tak se jeste jednou mej a at jde vse bez problemu.
Btw. na ct davaji v patek vecer serial IT Crowd (Ajtaci v ceskem nazvu). Jestli si to nevidel (asi jo, nosim asi drivi do lesa), tak se na to priste mrkni. Hodne se pritom zasmejes.
Petr

Souhlasím  |  Nesouhlasím  |  Odpovědět
19. 04. 2008 22:20

Dik, taky preju at vsechno klape
Jinak IT crowd znam jak svoje boty, lepsi podivana se nevidi... Uz sem to videl aspon 5x a tesim se na 3. radu (uz sme moc OT)
Tak zdravim a preju nice vikend

Souhlasím  |  Nesouhlasím  |  Odpovědět
Petr  |  19. 04. 2008 22:25

Diky a ahoj. Petr

Souhlasím  |  Nesouhlasím  |  Odpovědět
Petr  |  19. 04. 2008 20:45

Tak jsem se s tou specifikaci na prvni nastrel primo z me pameti netrefil. Neni to jsr-175 ale jsr-75. Tesne vedle Uz koncim a jdu k dobremu zvanci. Preju vsem dobrou chut a pekny zbytek sobotniho vecera. Noc je jeste mlada

Souhlasím  |  Nesouhlasím  |  Odpovědět
kecka  |  19. 04. 2008 22:19

Cert te vem hnidopichu Petre. I s tim tvym zvancem.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Petr  |  19. 04. 2008 22:24

Mas pravdu, cekam na nej (certa) a on porad nikde Ahoj.

Souhlasím  |  Nesouhlasím  |  Odpovědět
mato  |  19. 04. 2008 19:00

nakladov by ma zaujimal
"Běžná aplikace vyvíjená na zakázku přijde zákazníka na několik stovek tisíc."
co moze tolko stat?

Souhlasím  |  Nesouhlasím  |  Odpovědět
Slam  |  19. 04. 2008 19:11

Nemůžete počítat s tím, že by vám firma předložila rozpis nákladů, za kolik přesně jednotlivé aplikace a komu prodává a jaký je její gross margin. Pokud vás ale zajímá, co může tolik na vývoji mobilní aplikace na zakázku stát, pak se stačí lépe podívat do textu. Vidíte, že aplikace se vyvíjí jeden až několik měsíců a pracují na ní vždy minimálně dva lidé (lze jen dohadovat pozici: vývojáři, projektový management, analytici...) Asi to nebude záležitost, která se prodává jako housky na krámě, takže lze předpokládat obchodní model. Nemůžete zkrátka čekat, že firma bude prodávat za náklady. Levná záležitost to ale jistě není.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Slam  |  19. 04. 2008 19:17

A nezapomínejte na to, že náklady firmy nepředstavují jen mzdové náklady na zaměstnance, kteří se na vývoji aplikace přímo podílí. Podívejte se na ty rozlehlé prostory firmy. Nájmem a veškerými energiemi to samozřejmě nekončí

Souhlasím  |  Nesouhlasím  |  Odpovědět
mato  |  20. 04. 2008 00:15

to su fixne
dobre tak 2ludia, t.j. minimalne 40 000,- mesacne
a kedze je to par stovak, tak krat 2,3 atd

Souhlasím  |  Nesouhlasím  |  Odpovědět
Michal  |  20. 04. 2008 02:42

Hm, takže jen tak pro zajímavost. Nejsou to dva lidi, ale několik lidí. Dva vyvíjí tu aplikaci ale ... někdo to musí zobchodovat (obchodník), někdo to musí zadat a řídit vývoj (PM), někdo to musí zanalyzovat (analytik), někdo to musí napsat (2 programátoři), někdo to musí otestovat (test oddělení), někdo to musí nasadit. No a 40 000 tisíc výplata měsíčně pro programátora, ok, ale vynásobte si to 1,35 (cca to jsou náklady, které jdou státu) + samozřejmě energie, nájem, všechno kolem a dostanete se ne k stovkám tisíc ale k milionúm.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Slam  |  20. 04. 2008 07:44

Diky, tohle jsem mel na mysli. Pocital jsem s tim, ze se Mato dovtipi. Cili, uvedomte si, ze naklady na vyvoj aplikace nejsou jen cisty plat lidi, kteri se na vyvoji primo ucastni! A kdyz uz pak vsechy uvedene naklady sectete, nezapomente pocitat taky s primerenym ziskem. Vy asi taky nebudete prodavat se ztratou nebo jen za naklady. Z ceho byste si pak ty rohliky koupil vy?

Souhlasím  |  Nesouhlasím  |  Odpovědět
mato  |  20. 04. 2008 12:21

samozrejme ze som sa dovtipil
ale nepoznam lepsi sposob na ziskanie informaciii ako sa spravit sprostym

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
19. 04. 2008 11:06

Díky za pěkný článek. Jinak "obfusfactor" bude asi "obfuscator" ;)

Souhlasím  |  Nesouhlasím  |  Odpovědět
ladty  |  19. 04. 2008 12:34

No me osobne prisel clanek tak trochu jako reklama ecommerce (byt to tak nemusi ale stylem psani mi to tak vcelku vyznelo). A jeste bych podotkl, ze obfuscator ma jeste jednu hodne dulezitou funkci (ktera me osobne prijde dulezitejsi nez zmenseni jaru) - znemozni (znesnadni) decompilaci dane aplikace tak, aby se podstatne hure dala cracknout, vyuzivat zdrojove kody autora bez svoleni a spoustu dalsich veci. (zejmena nekdy u her mam chraneni pres IMEI a podobne veci, tak tam si nedovedu predstavit, ze by po dekompilovani byl zdrojak stale dobre citelnej a kompilovatelnej, to by se hned ukradlo...). A jeste bych rek, ze MIDP2.0 a CLDC1.1 neni zarukou, ze to vsude pobezi spravne... Zkusenosti mluvi o opaku, vyrobci telefonu se tim nekdy nedrzi tak presne jak by bylo zahodno...

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
19. 04. 2008 13:19

Jasně že si udělali pěknou reklamu, ale zajímavých informací ohledně vývoje pár zaznělo, takže to hodnotím kladně. Primární význam obfuscatoru udává už samotné anglické slovo, to je jasné (stejně jako to, že ta metoda není a nemůže být 100% úspěšná), jinak souhlas

Souhlasím  |  Nesouhlasím  |  Odpovědět
ladty  |  19. 04. 2008 13:30

Jj, nejaky fakta byly zajimavy, chtelo by to vic takovejch clanku, aby lidi pochopili, ze ty hry se nedelaj sami... Pride mi smutny jak se to vsechno krade (i kdyz to trochu chapu), ale hlavne jeste ty reci kolem, nikdo to nedokaze ocenit ani kdyz to ma zadarmo a jenom nadava a ty mesice prace za tim proste nevidi... A to me hodne mrzi. Nez sem zacal programovat sam tam me to taky nejak nezajimalo, ale ted to uz clovek vidi uplne jinak a dokaze to aspon ocenit...

Souhlasím  |  Nesouhlasím  |  Odpovědět
Filip Kůžel  |  19. 04. 2008 17:28

Díky za tento názor. Svym zpusobem je to prezentace firmy, ale výměnou za informace, které nám předali, to byl myslim ferovy obchod.

Souhlasím  |  Nesouhlasím  |  Odpovědět
pg  |  19. 04. 2008 17:32

K tomu obfuscatoru by som podotkol, ze v pripade J2ME aplikacii sa HLAVNE pouziva na redukciu velkosti jaru. Nakolko pomocou "reverse engineeringu" sa da aplikacie spatne rozhodit do "takmer" citatelneho kodu a pomocou refactoringu aj porozumiet, co samozrejme vyzaduje trpezlivost a cas, ale ako hovorim J2ME aplikacie niesu az take rozsiahle kodom takze ak tomu obetujes den, tak mozes mat zdrojovy kod z 70% citatelny.
Este by som ta trosku opravil, tvoja veta "A jeste bych rek, ze MIDP2.0 a CLDC1.1 neni zarukou, ze to vsude pobezi spravne... Zkusenosti mluvi o opaku, vyrobci telefonu se tim nekdy nedrzi tak presne jak by bylo zahodno... ", pravda je taka ze MIDP si vyrobcovia upravuju rapidne dost, mozno az vela ako by sa patrilo , ale v clanku bolo spomenute ze si ta firma robi vlastne komponenty atd., vseobecne je ale CLDC a MIDP znasane dobre, halvne sa nemoze vyuzivat extra veci a radsej si spravit vlastne na ukor velkosti, aby bola istota funkcnosti.
V kazdom pripade zaujimavy clanok pre ludi ktory nevedia co stoji za vyvojom J2ME app.

Souhlasím  |  Nesouhlasím  |  Odpovědět
xko  |  19. 04. 2008 19:30

Nikdo nepotrebuje pochopit cely zdrojak nebo tech 70% (paklize se nejedna vylozene o crackme bez dalsich funkci). Staci jen najit to spravne misto, kde si to treba bere IMEI apod. :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
krMeEjNzy  |  19. 04. 2008 20:23

A dobre to sestavit pro zpetnou kompilaci K tomu bejva nekdy potreba vic nez ten jeden radek

Souhlasím  |  Nesouhlasím  |  Odpovědět
hnedka  |  19. 04. 2008 20:32

A proc by to mel zpet kompilovat? Staci preci pozmenit par bytu primo v kompilovanem kodu.
Samozrejme se muzu mylit, mam reverzni inzenyrstvi jako konicek, ale java aplikacim jsem se nikdy nevenoval. Jen usuzuju z toho jak to je jinde :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
ladty  |  19. 04. 2008 20:45

Mno nevim, myslis napriklad to otevrit v hexaeditoru a podobne a tam zmenit nejaky vecy...? Nezkousel jsem to, nejaky preklady her se tak delaly, ale zrovna u ochrany aplikace by to asi dost dobre neslo, tam to vetsinou byva malicko komplexnejsi...

Souhlasím  |  Nesouhlasím  |  Odpovědět
hnedka  |  19. 04. 2008 21:05

Ciste teoreticky - v zasade vidim jako nejlogictejsi postup dekompilovat, najit to spravne misto, priradit si to misto ke kompilovane verzi a zmodifikovat pak tu.
Schvalne jsem trosku zagooglil a nasel i nejake velmi kvalitni materialy, viz zde:
http://arteam.accessroot.com/tutorials.html
(je to prvni a ctvrty odkaz od konce)
Sice se to tyka desktopove Javy, ale princip neni snad moc odlisny.

Souhlasím  |  Nesouhlasím  |  Odpovědět
19. 04. 2008 21:51

Diky, urcite si to nekdy rad prectu. Mam takovyhle cteni rad, jenom kdyby bylo vic casu

Souhlasím  |  Nesouhlasím  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor