Autor Zpráva
Programer007
Profil *
Ahoj, umím php OOP a chtěl bych si naprogramovat aplikaci pro android.
Jak na to?
Keeehi
Profil
Buď se naučíš Javu což není nic strašného nebo půjdeš cestou, že celá aplikace bude jen webový prohlížeč.
Programer007
Profil *
Myslíš si, že php je těžší než Java, takže bych jí měl zvládnout?
pcmanik
Profil
Programer007:
To sa nedá porovnať, ale ak máš nejaké tie skúsenosti s OOP tak by to pre teba nemal byť problém.
Programer007
Profil *
pcmanik:
Ano, vím co je to třída, objekt, metoda, konstruktor
pcmanik
Profil
Programer007:
Skôr je treba vedieť návrhové vzory. Java, resp. Android dosť na nich stavia. Ďalej dedičnosť, interface atď...
mckay
Profil
Programer007:
Ano, vím co je to třída, objekt, metoda, konstruktor
Polymorfismus, dědičnost a zapouzdřenost znáte také? :-)

Samotné principy OOP, tak jak si představuji, že ovládáte, Vám nejspíš stačit nebudou. Naštěstí je však internet plný návodů a tutoriálů o tom, jak snadno a rychle aplikaci napsat, samotná dokumentace také není špatná, specializované vývojové prostředí je dokonce zdarma.

Jak na to?
1. Naučit se základní syntaxy Javy.
2. Stáhnout zdrojové kódy open-source aplikace, která funkčností odpovídá alespoň částečně aplikaci, kterou plánujete psát, a tyto zdrojové kódy si projít a snažit se je pochopit.
3. Pokud v kroce č. 2 zvolíte vhodnou aplikaci, pravděpodobně v průběhu času přijdete na to, že je vše psané v nějakém stylu, vzorci, paternu... dle nějakého návrhového vzoru.
4. Při vší té analýze cizího kódu android aplikace pravděpodobně také narazíte na speciální názvy metod, které se v téměř každé aktivitě (obrazovce) vyskytují. K tomu se potom váže porozumnění životnímu cyklu aplikace.
5. No a pak se do toho programování konečně pustíte sám, několikrát vše překopete, smažete a začnete znovu.
6. Profit!
user
Profil *
Já se například učil Javu za pochodu s předchozími znalostmi C++ a PHP.
Alphard
Profil
Jen shrnu, co odkazoval už Keeehi. V podstatě jsou 3 možnosti:

1. Vytvoření nativní aplikace pro Android.
Dobrou analogií je podle mě používání nějakého objektového frameworku v PHP. Vývoj Androidí aplikace je postavený na předpřipravených věcech, které je dobré přijmout a nesnažit se vše vymýšlet sám. Lepší než psát teorii je nakouknout na quick start developer.android.com/training/basics/firstapp/building-ui.html a udělat si představu.

2. Kompilace aplikace z nějakého multiplatformního html + js.
Existují nástroje, kde lze vytvářet aplikace např. v html a javascriptu. Následně se appka kompiluje pro Android, iPhone, Windows, .... Jen pro jednodušší věci, ale na ně to může stačit.

3. Aplikace běžící v prohlížeči.

4. Využití NDK - programování v jazycích jako C nebo C++.
Doplňuji až na základě další diskuse. Tuto možnost osobně vidím jako velmi specifickou - pokud již existuje nějaká knihovna C++, která se má použít; nebo předem víme, že bude potřeba maximální výkon. Pro začátečníka se mi to jako vhodná volba nezdá. Nejde tady jen o porovnání Java vs C++, ale kvůli tomu, že Java je pro Android typická, je v ní napsaný quick start, celá dokumentace, jsou v ní zodpovězeny miliony* dotazů týkající se Androidu a troufám si říct, že bude lépe odladěná pro IDE, debuggery a emulátory Androidu.

Další rozebírání objektových aspektů Javy apod. podle mě nemá přínos.

* odhad :-)
XYZ
Profil *
Nějak tu všichni zapomínáte na NDK
juriad
Profil
XYZ:
Tak nám pověz, co to je a jak to pomůže Programer007.
Fisir
Profil
Reaguji na XYZ:
A jak možnost psaní části aplikace v C nebo C++ pomůže PHP programátorovi?
XYZ
Profil *
NDK je něco jako nástroj, pomocí kterého lze psát nativní (opravdu nativní, oproti 1. možnosti od Alphard) kód v C, C++, který disponuje o mnoho větší rychlostí a výkonem oproti Javě.
Fisir
Profil
Reaguji na XYZ:
A PHP programátorovi to pomůže jak?
juriad
Profil
Java je rozhodně jednodušší než C nebo C++. Nedoporučil bych mu začínat s NDK, pokud nepotřebuje výkon na úkor delší doby učení a vývoje. Pokud aplikace bude něco podobného, jako dělal doposud v PHP, tak výkon nepotřebuje.

Fisir:
Nemá smysl útočit. NDK mohlo skutečně být zmíněno. Může a nemusí to být vhodná volba. My můžeme jen sdělit svůj názor, pokud se Programer007 rozpovídá o tom, co za aplikaci chce vytvořit, což nemusí chtít udělat.
Fisir
Profil
Reaguji na juriada:
Nemá smysl útočit.
Opět usměrňuješ diskusi na základě tvých dojmů, přičemž mně skutečně zajímá, jestli se třeba to NDK nedá rozšířit na jiné jazyky. Vzhledem k tomu, že tu jeho použití XYZ propaguje, tak je to ta pravá osoba, které bych se na to měl zeptat, ne?
XYZ
Profil *
Fisir:
A PHP programátorovi to pomůže jak?
Doporučuji PHP programátorovi C++ stejně jako ostatní doporučují Javu. Asi tak.
Fisir
Profil
Reaguji na XYZ:
Díky.
XYZ
Profil *
Fisir:
Není za co :)
Keeehi
Profil
XYZ:
Doporučuji PHP programátorovi C++ stejně jako ostatní doporučují Javu.

Myslím si, že PHP má blíže k Javě než k C++ a proto by Java měla být pro PHP programátora lehčí.
Programer007
Profil *
Mohu se zeptat jaký z jazyků PHP, Java, C, C++ je nejtěžší a jaký nejlehčí?
Děkuji
Alphard
Profil
NDK mohlo skutečně být zmíněno.
Doplnil jsem to do svého přehledu [#9] Alphard, ale zároveň jsem tam dopsal, proč to pro začátečníka nepovažuji za vhodné.
Podle mě je Java pro Android přirozenější než C++ a pokud někdo neumí ani jedno a chce začít s Androidem, doporučil bych Javu. Z výše zmíněných důvodů.

Keeehi:
Myslím si, že PHP má blíže k Javě než k C++
Pěkné srovnání, to jsem neznal, děkuji. Ale myslím, že tady je to úplně jedno :-)

Programer007 [#21]:
Viz můj příspěvek výše, jestli chceš programovat pro Android, použij Javu, je to typické řešení. Nazačínej specialitami jako NDK.
Programer007
Profil *
Alphard:
Viz můj příspěvek výše, jestli chceš programovat pro Android, použij Javu, je to typické řešení. Nazačínej specialitami jako NDK.
To není odpověď na mojí otázku.


Programer007:
Podle mě od nejlehčích:
- PHP
- JAVA
- C, C++

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0