[Obecně]V čem začít programovat mobilní aplikace?

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod FerdaCZE 28. 4. 2013 00:29

Zdravím!
Chtěl bych Vás poprosit o radu. Je mi 15 a jsem na ZŠ a pokračovat budu na SŠ IT (Java programování), ale teď se učím sám hlavně pomocí video kurzů a literatury. Ale zatím jsem se soustředil jen na web (HTML a CSS) a teď bych se chtěl přesunou z PC platformy na Mobil (A nejraději iPhone, takže objective-C). Vím, že pro Andoid je potřeba Java, ale nevím, zda je to ten nejlepší začátek.
Hledal jsem opravdu dlouho na webu i tady na fóru a nejčastěji doporučované jazyky jsou: Phyton, Pascal, C, C# jaký z nich by tedy byl pro mne nejepší?

Nevím, na co mi jednotlivé jazyky budou, takže mi jde hlavně o to, abych se co nejrychleji dostal k Javě nebo Objective-C. Nebo si myslíte, že bych s nimi mohl začít hned? (Našel jsem hodně učebnic - hlavně Java 7, která má 700 stran a doporučení pro studenty, tak šlo by si dát hned tu?)

Případně, mohli byste mi doporučit nějakou literaturu? (Českou) nebo Anglické video kurzy?

Jenom tak pro zajímavost, já si vybral mobilní platformu, protože v ní sám za sebe vidím největší potencionál (využití smatphonů roste raketovým tempem). A s HTML a CSS (možná budu pokračovat JavaSriptem???) jsem začal, protože webové prostředí je mi zdá taky velmi perspektivní (vždiť google už udělal i OS který běží komplet na webu). Ale jaký máte názor vy? Co si myslíte, že je v součastné době "nejlepší"?
FerdaCZE
Junior

Odeslat příspěvekod loobick 28. 4. 2013 04:58

Na tohle se nedá odpovědět moc jednoduše, takže alespoň částečně:

- na Python se rovnou vykašli, minimálně v oblasti mobilních aplikací je naprosto k ničemu
- C# tě omezí na platformu Windows
- Pascal byl zmetek vždycky

To, že mohou být doporučované a pro jisté situace vhodné neznamená, že jsou univerzální.

Takže se nauč buď tu Javu nebo objC nebo třeba oboje. A jestli potom budeš potřebovat něco jiného, tak se to následně douč taky. Uvědom si, že odpověď na otázku co je nejlepší programovací jazyk neexistuje, protože pro různé věci jsou to různé jazyky. Můžeš se také naučit to C#, které se používá zase výhradně u Windows. Nebo třeba PHP, to najdeš skoro výhradně na webu. Stejně jako tebou zmiňovaný Python nebo Perl či Ruby. Prostě si něco vyber, nauč se to a potom uvidíš, jestli na to jednak máš vlohy (znalost HTML a CSS o tom moc neřekne) a jestli ti to vyhovuje. Když ti to vyhovovat nebude, tak se nauč něco jiného.
Arogantní admin. Ale co byste chtěli, když je tolik lidí, kteří se snaží vrtat ve věcech, které vůbec neznají. Když neumím opravit auto, také se nebudu snažit z opravářů tahat rozumy. Prostě si nějakého najdu, ať jej opraví za mě.
loobick
Junior

Odeslat příspěvekod JanFiala 28. 4. 2013 07:14

Pascal byl zmetek vždycky, nauč se Javu


Tohle mě rozesmálo.
Na programování na mobily (iOS, za chvilku i Android) můžeš použít Delphi XE4. Budeš mít stejnou aplikaci z jednoho zdroje.
Ale klidně se můžeš učit Javu, kterou se Oracle snaží docela úspěšně odeslat do pekel a vydává další a další děravé runtime. Nebo se uč ObjectiveC a použiješ to jen pro iOS, stejně tak jako C# jen pro Windows.
Co můžeš udělat dnes, odlož na včerejšek
JanFiala
Expert
Uživatelský avatar

Odeslat příspěvekod PiranhaGreg 28. 4. 2013 15:28

Já začínal na C# a na učení je to skvělej jazyk. On je to dobrej jazyk celkově, škoda že je jen na Win :-( . Doporučil bych ti asi počkat si na tu Javu. Už je na ní sice poznat stáří, ale rozjedeš ty aplikace kdekoliv (včetně smartphonů ;-) ) a donutí tě dodržovat syntaxi a celkově tak nějak dodržovat programovací konvence a podobně...

JavaScript je opravdu skriptovací jazyk a na učení se na začátek nehodí.
PiranhaGreg
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod pucmeloudek 29. 4. 2013 08:20

Hlavne bys mel drzet v pameti, ze pokud chces vyvijet COKOLI NATIVNIHO pro iPhone, budes si muset poridit Maca (nebo aspon hackintosh, fuj). A pokud budes chtit tu aplikaci pustit i jinde nez v emulatoru, tak si priprav 99$ rocne.

-- 29. 4. 2013 09:22 --

PiranhaGreg píše:Doporučil bych ti asi počkat si na tu Javu. Už je na ní sice poznat stáří, ale rozjedeš ty aplikace kdekoliv (včetně smartphonů ;-) )


jo? ale jdi ty. jakpak pustis java aplikaci na iphonu a windows phone?
pucmeloudek
Junior

Odeslat příspěvekod gandor 29. 4. 2013 12:17

Takze v prvom rade musim sice napisat, ze Javu fakt neznasam (subjektivne zalezitosti - nie uplne objektivne - dovody mozem rozpisat, ale isli by sme rychlo do offtopicu / flamewaru), ale tento jazyk tak/nejak sluzy ako spolocny menovatel pre vsetky platformy (vratane IOS, ked sa spravia spravne bindingy cez objective C).
S tohto hladiska a taktiez z hladiska, ze ide o cisty objektovo orientovany jazyk, ktory nepovoluje velmi vela prasacin by som sa asi rozhodol v tvojom pripade pre tento jazyk... Na zaciatok sa takato multiplatformovost dost hodi, lebo este len zistis, ze co ta bavi...

Dopredu ale treba upozornit - pokial sa tomu programovaniu nechystas skutocne venovat, tak mozno nejde o najlepsiu volbu. Rychlo sa ti moze stat, ze ta dany jazyk odradi. Tento jazyk je totiz strasne verbozny (prehanam - 5 riadkov v PHP = 30 riadkov v jave) a nejde o jazyk pre "hranie sa" - pozaduje to aj nejake to abstraktne myslenie...

Inak v poslednej dobe zacinam mat pocit, ze jazyk C++ sa zacina ozivovat a mozno nieje naskodu s hladiska buducnosti pozriet sa na to.
Dalej C# je velmi pohodlny a pritom velmi podobny jave. Ide o novsi jazyk a teda netrpi roznymi archaizmamy javy (teda nenasiel som na nom asi 5 roznych sposobov, ako citat subory, pricom 4 z nich by boli zastarale)...

Ad objective C - Netreba k tomu mac, staci OSX vo virtualke a nasledne v nom emulator iphonu. Teda staci zohnat OS. Len potom je velka nevyhoda, ze bezis cez 2 simulatory a na vykone je to poznat...

PS. ked uz sa nieco naucis, tak naucit sa iny jazyk nebude take tazke...
gandor
Mírně pokročilý

Odeslat příspěvekod piErcE 29. 4. 2013 13:01

Říkám si, kdy konecne odezni mysterium, ze c# tě omezí jen na windows....
piErcE
Junior

Odeslat příspěvekod pucmeloudek 29. 4. 2013 13:27

gandor píše:(vratane IOS, ked sa spravia spravne bindingy cez objective C)

muzes byt konkretnejsi? nejlepe nejaky priklad? tak, aby v v te jave bylo naprogramovano i vic nez c = a + b, tj. nejake UI?

gandor píše:Ad objective C - Netreba k tomu mac, staci OSX vo virtualke a nasledne v nom emulator iphonu.

Samozrejme. Do prace taky neni treba chodit, staci sehnat par sikovnych kumpanu a vykrast banku.

-- 29. 4. 2013 14:38 --

piErcE píše:Říkám si, kdy konecne odezni mysterium, ze c# tě omezí jen na windows....

tomu nerozumim. co tim myslis?
pucmeloudek
Junior

Odeslat příspěvekod piErcE 29. 4. 2013 13:44

Cemu konkrétně nerozumíš?
piErcE
Junior

Odeslat příspěvekod DrFreeze 29. 4. 2013 13:58

Vzhledem k tomu, že jazyky C#, Objective-C, Java, popř. další, vycházejí z C (nemluvě o C++ ;-) ), nedělal bych mezi nimi z pohledu člověka, který se chce naučit programovat, moc velký rozdíl. Důležitější je naučit se algoritmizovat a to se dá celkem v jakémkoli jazyku. Pokud vidím, že by pro mě mohlo být atraktivní programovat pro iOS, bylo by dobré jít do Objective-C, protože je to prostě důležitá MOTIVACE.
Jak už tu někdo psal, naučit se pak další jazyk je brnkačka (vlastní zkušenost), protože už jedu vlastně jen v tom jak syntakticky zvládnout daný problém, nic víc (nepočítaje nějakou nutnou omáčku kolem spojenou většinou s jiným IDE apod.).
Vždycky je nejlepší podívat se na řešený problém bez předsudků typu "ToAOno rulez!" a prostě použít to s čím dosáhnu nejlepších výsledků v nejkratším čase.
DrFreeze
Junior

Odeslat příspěvekod pucmeloudek 29. 4. 2013 14:12

piErcE píše:Cemu konkrétně nerozumíš?

vubec nerozumim vete, jestli v tom mam hledat ironii, nebo co to ma vubec byt. to, ze cloveka (zejmena pri vyvoji pro mobily) c# omezuje na windows, je pravda. jestli ne, tak okamzite prestavat premyslet o koupi delf xe4 (imho JEDINY produkt se spolecnou codebase pro win/mac/ios) a s nadsenim jdu do c#.

-- 29. 4. 2013 15:15 --

DrFreeze píše:Objective-C, Java, popř. další, vycházejí z C (nemluvě o C++ ;-) )

kolik aplikaci jsi napsal v objective C? videl jsi aspon 1 radku kodu vyuzivajici rozsireni Objective C? a ze jich ta aplikace musi byt plna.
pucmeloudek
Junior

Odeslat příspěvekod piErcE 29. 4. 2013 14:18

Není to ironie, je to povzdech nad tím,jak si spousta lidí myslí, že c# je Windows only. Pomocí produktů fy. Xamarin je možné v jazyce C# vyvíjet i pro iPhony/iPady a pro Androidy. Postavené je to nad monem. A společná codebase do jisté míry ano - funkční logika (modely, controllery) , view jsou platformově závislé (pro iPhony stále propojené s Xcodem apod.).
Garmin DriveLuxe 50 - iPhone SE - Octavia III 1.4 110 kW DSG
piErcE
Junior

Odeslat příspěvekod pucmeloudek 29. 4. 2013 14:30

hmmm, firma nema asi potrebnou reklamu. Sice opravdu zrejme c#, ale nad zrejme VELMI jinym frameworkem. Tj. jazyk clovek pouzije (nojo, ale jeden imperativni jazyk se clovek uci tejden, kdyz zna jinej), kdezto framework (coz se clovek uci roky) ne. Takze taky zadna vyhra, byt zajimava alternativa stojici za zvazeni.
Docela by me zajimala velikost vysledny aplikace :)
pucmeloudek
Junior

Odeslat příspěvekod DrFreeze 29. 4. 2013 14:32

pucmeloudek píše:
DrFreeze píše:Objective-C, Java, popř. další, vycházejí z C (nemluvě o C++ ;-) )

kolik aplikaci jsi napsal v objective C? videl jsi aspon 1 radku kodu vyuzivajici rozsireni Objective C? a ze jich ta aplikace musi byt plna.


Toto je hrabání se v naprosto nevýznamných podrobnostech, skoro až off-topic! Píšeš jako bych ti šlápl na kuří oko, což jsem vůbec neměl v úmyslu. Nebavíme se tu přece o rozdílech v jazycích a teď se budu opakovat: ať si tazatel vybere něco, kde bude mít tu pravou MOTIVACI, protože důležité je začít a naučit se algoritmizovat. Další jazyky pak mohou následovat lehce podle aktuální potřeby.
DrFreeze
Junior

Odeslat příspěvekod gandor 29. 4. 2013 16:25

pucmeloudek píše:
gandor píše:(vratane IOS, ked sa spravia spravne bindingy cez objective C)

muzes byt konkretnejsi? nejlepe nejaky priklad? tak, aby v v te jave bylo naprogramovano i vic nez c = a + b, tj. nejake UI?

Priklad nedam. Je to uz nejaka doba, co som toto robil, ale pomahal som s programovanim jednej hry (chute), ktora bola pre iphone/ipad a pritom bola pisana v jave (az na tie bindingy). A cela logika app bola v jave - v IOS a objective C boli len "registrovane" tie ich frameworky a tak - dovod bol, ze javu sme trocha poznali. Objective C vobec...
Ale na nete rychlo najdes, ze ako sa to robi...

pucmeloudek píše:
gandor píše:Ad objective C - Netreba k tomu mac, staci OSX vo virtualke a nasledne v nom emulator iphonu.

Samozrejme. Do prace taky neni treba chodit, staci sehnat par sikovnych kumpanu a vykrast banku.
Nechapem tvoju narazku. Snazis sa naznacit, ze to bolo nelegalne? Ono da sa (alebo dalo sa) zohnat aj licencia a nemusis mat k tomu realne zelezo. Ale je fakt, ze toto za mna riesili iny ludia. Ja som len pracoval v pripravenom prostredi...


Este jedna malickost. Medzi C, C++, (mozno) Objective C a medzi C#, PHP, Java, python by som spravil jednu siroku ciaru. Lebo podla mna pre zacinajuceho programatora je velky rozdiel, ci sa uci ASPON proceduralny kod (kto z vas sa ucil naraz OOP aj spravu pamete?) a zameriava sa na spravu pamate, alebo ci sa uci vyssie jazyky a robit citatelne/pochopitelne kody... Aj samotna algoritmizacia (ak neriesime totalne elementarne veci - ktore ty nadany v sebe proste maju bez toho aby sa to kedy ucili/sa nad tym zamyslali) sa medzi tymito 2 skupinamy riesi trocha inak...
gandor
Mírně pokročilý

Další stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků