Ios developer



dobrý den chcem sa začať venovať programovaniu v jave a hlavne vo vytvaraní aplikacii v ios ( apple aplikacie). yistil som že sa dá velmi dore zarobiť ked to viete a celkom ked som to sledoval je to zaujimavé... tak sa chcem spýtať - pomožu mi kurzi v java ios developerske kurzy k tomu aby som mohol byť plnohodnotným pracovníkom v oblasti IT? ako vývojar pre niaku firmu samozrejme ked nadobudnem niaku prax v niakej menšej firme alebo tak... alebo tie kurzy su skor iba tak aby som sa mohol chvaliť že mám niaky certifikat a tak vlastne je mi to na nič? chcel by som sa tým živiť a chcem si overiť najprv tuto cestu prosím o odpoved ludi ktorý sa v tom vyznaju a maju skusenosť ked tak poradiť niake stranky o tom atd
No..zvolil jsi si obtížnou cestu. Sám když jsem začínal s vývojem na iOS tak jsem měl hlavu jak balón. 1) Musíš vlastnit zařízení s MacOS (Mac Mini, Mac Pro, iMac, Macbook, Macbook Pro nebo Air).2) Na vývoj ti bude stačit založit si free Developerský účet, ale pak si budeš muset zakoupit Developerský účet (pro App Store 99$ a pro vývoj mimo něj Enterprise 299$, pokud chceš obojí, musíš koupit oba). Platí se to každý rok.3) Vytvořit certifikáty včetně svého zařízení a účtu, v případě vývoje přes Enterprise musíš mít založenou firmu, musíš mít web s údaji (Název a adresu firmy, Jméno, Telefon a IČO) a očekávej hovor z někoho od Apple, většinou Evropa a jen v Angličtině.4) Stáhnout si Xcode5) Naučit se Swift nebo Object C, třeba případně Unity nemusíš řešit, stačí C#/JavaVývoj:1) Musíš vždy správně nastavit Xcode, třeba když používá cameru, wifi, atp, na jaké zařízení to bude, atd.2) Build oproti Androidu trvá mnohem, mnohem déle (záleží i na výkonu Macu).3) Vše je poněkud komplikovanější a bez SDK se prakticky neobejdeš, třeba pokud chceš používat ukládání fotek, záznam obrazovky atp.4) Při publikování na Appstore si musíš vytvořit nejprve na jejich webu Connect "Containery" s aplikací a informacemi, a obrázky musí být ve striktně přesném rozměru i formátu, na to pozor. To platí i pro TestFlight u Enterprise, ale u AD Hoc a Enterprise vydání je po archivaci aplikace hotová, lze nahrát pře iTunes, Web podporující Https:// certifikaci, a nebo Diawi, HockeyApp atd. ale pouze skrze Safari, pak ještě nutno potvrdit v nastavení zařízení "Důvěřovat vydavateli".5) Po vytvoření Containeru a vytvoření ID, to zadáš do to Xcode, tam se musíš i přihlásit přes správný Developerský účet.6) Dáš Archive, to trvá hodně dlouho, vybereš způsob podle toho kam aplikace půjde (AD Hoc, Enterprise, ...).7) Nahrát soubor .ipa na Connect, vše překontrolovat a vyplnit.8) Počkat 3-7 dní, pak ti dorazí email zda to Apple přijal a v Connectu uvidíš zelený puntík a brzy se ukáže ve vyhledávání na Appstoru. Pokud ne, tak budeš muset vše co ti popsali opravit a znovu udělat archive, nahrát a opět čekat 3-7 dní. Výjimečně to může trvat i 24-48h. Ale je toho mnohem více, možná jsem něco opomněl, tak se omlouvám, je toho hodně a půl roku jsem teď nevydával. Zkrátka je to spousta čtení, učení, atd. Tohle je jen stručný soupis. Oproti Androidu, kde si jen založíš developerský účet, zaplatíš jednorázový poplatek 25$. Vytvoříš aplikaci, vytvoříš manifest, klíč a uděláš build. Pak jen na Developerském účtu vytvoří informace o Aplikaci, vše nastavíš, přidáš fotografie, nahraješ .apk a dáš publikovat, do 48h (většinou do několika hodin) je aplikace na Google Play.
<p>důrazně bych vám doporučil, abyste se řídili radami uvedenými v článku derek sivers <a href="http://sivers.org/how2hire">jak najmout programátora, aby se vaše nápady staly</a> . většinu jeho rady lze použít při najímání nezávislého copywritera. nejdůležitější částí (imo) je začít malou částí projektu a najmout více spisovatelů, poté vybrat nejlepší z těch, kdo projekt dokončí.</p> Velmi doporučuji při pohledu na [tweejump](http://github.com/haqu/tweejump) . Je to v podstatě open source verze hry jako Doodle Jump. Je to opravdu mi pomohl naučit se používat akcelerometr k ovládání objektu na obrazovce.


I když jste řekl, že jste nechtěl žádné herní motory, to *je* poháněn knihovny Cocos2d. Nicméně, Cocos2d je napsáno v Objective-C, takže by neměl být žádný problém dostat něco poháněn Cocos2d prošel Apple.


Hodně štěstí! <p>to se bude lišit, ale takto to vidím na dostatečně velkém místě, aby bylo možné rozlišovat mezi typy programátorů.</p><p>řekl bych, že vstupní úroveň a junior jsou totéž. jsou jen mimo školu a mají méně než dva roky praxe. jsou jim přiděleny nejméně složité úkoly a měly by být pod přísným dohledem. obecně vědí asi 10% toho, co si myslí, že vědí. obvykle neprošly celým vývojovým cyklem, a tak často udělají velmi naivní rozhodnutí, pokud dostanou příležitost si vybrat. bohužel mnoho z nich se ve skutečnosti nestará o to, jaký je požadavek, chtějí si věci budovat podle svých představ. často mají špatné ladicí schopnosti.</p><p>střední úroveň je místo, kde padne mnoho programátorů. mají více než dva roky zkušeností a obvykle méně než deset, i když někteří mohou zůstat na této úrovni celou svou kariéru. mohou vytvářet pracovní kód s menším dohledem, pokud jsou přiděleny relativně rutinním úkolům. nejsou obvykle pověřeny designem na vysoké úrovni nebo složitými úkoly, které vyžadují důkladnou úroveň znalostí. mohou však mít za úkol navrhnout část aplikace, a to zejména proto, že jsou v zóně, aby se stali vedoucími vývojáři. jsou dobří v údržbářských úkolech nebo úkolech, kde se mohou soustředit pouze na svůj kousek skládačky, ale obvykle se nepředpokládá, že budou posuzovat aplikaci jako celek, pokud nebudou pracovat se staršími vývojáři nebo nebudou připraveni na povýšení na vyššího. obvykle mohou dělat slušnou práci při řešení problémů a ladění, ale musí se opravdu slogovat, aby dostali ty tvrdé. zatím nemají dostatek zkušeností, aby viděli vzorce problémů, které je ukazují na pravděpodobné místo, kde se vyskytují. tyto dovednosti však získávají a jen zřídka potřebují pomoc s laděním. pravděpodobně prošli celým vývojovým cyklem alespoň jednou a viděli výsledky návrhových problémů a učí se jim, jak jim v budoucnu zabránit. obvykle mají tendenci brát požadavek na nominální hodnotu a ne tlačit jej zpět, když má zjevné problémy nebo mezery. naučili se dost, aby věděli, co nevědí, a začínají je získávat. jsou to pracovní koně programovacího světa, dodávají pravděpodobně 80-90% rutinního kódu a možná 10% velmi obtížných věcí.</p><p>tuto otázku si ani nemusí položit nikdo, kdo je na vyšší úrovni. jsou to experti ve svých zvolených technologických řadách. jsou jim dány těžké úkoly (ty, které nikdo neví, jak řešit) a často dostávají odpovědnost za design. často pracují samostatně, protože mají prokazatelné zkušenosti s dodáním zboží. očekává se, že budou mentorovat juniorské a středně pokročilé vývojáře. často jsou to úžasné nástroje pro odstraňování problémů. už se s těmi stejnými problémy setkali dříve a mají velmi dobrou představu o tom, kde hledat první. senioři často mentorují i ​​mimo pracoviště. obecně mají alespoň desetileté zkušenosti a téměř vždy byli na alespoň jednom pochodu smrti a přesně vědí, proč je třeba některým věcem zabránit. umí dodat funkční produkt a dodržet termín. vědí, jaké rohy lze řezat a jaké rohy by se nikdy neměly řezat. znají alespoň jeden a často několik jazyků na odborné úrovni. viděli, jak na pracovišti zasáhlo mnoho „horkých nových technologií“ a zmizely, takže mají sklon být o něco konzervativnější, pokud jde o skákání na rozjetém ​​vlaku pro další vzrušující nový vývojový nástroj (ale ne zcela odolný vůči změnám - ty by byly starší středně pokročilí vývojáři, kteří nikdy neučiní krok k seniorovi). chápou, že jejich úkolem je dodávat pracovní software, který dělá to, co uživatelé chtějí, a ne hrát se zábavnými nástroji. často si vybírají, kde budou pracovat, protože mohou být a protože z první ruky viděli, jak špatná mohou být některá místa. hledají místa, která mají nejzajímavější úkoly. často vědí více o produktech své společnosti než kdokoli jiný, i když tam byli jen pár měsíců. vědí, že potřebují více než znalosti programování a dokážou získat znalosti o obchodní doméně, kterou také podporují. často si jsou vědomi problémů, které junioři nikdy neuvažují, a meziprodukty si často nemyslí o regulačních a právních otázkách v obchodní oblasti, kterou podporují. mohou a budou tlačit požadavek zpět, protože vědí, jaké budou s tím problémy a mohou to laikům vysvětlit.</p> <p>moje zkušenost je založena na 10leté zkušenosti s prací s java a 3leté zkušenosti s prací s c # /. net. java je 0% produktivnější než c # .net toto je založeno na psaní back-end aplikací založených na službách.<br> c # /. net je možná o 5% produktivnější než java pro psaní uživatelských aplikací.) ale pak jsem to neudělal téměř 5 let v java a nový editor uživatelského rozhraní netbeans mohl tuto mezeru uzavřít.</p><p>chcete zvýšit produktivitu? <a href="http://en.wikipedia.org/wiki/continuous\_integration"> ci </a> (ideálně kontinuální dodávka) a automatizované testy. produktivita získaná výběrem jazyka/platformy/ide na jakémkoli hlavním jazyce/platformě/ide je poměrně malá.</p> Ohledně aplikace vám doporučuji obrátit se na vývojáře, nejlépe v obchodě, kde jste aplikaci stáhl, nebo počkat na update aplikace, jestli nevyřeší problém. [Android vestavby wiki](http://groups.google.com/group/android-internals) je dobrým výchozím bodem, a zahrnuje [odkaz](http://benno.id.au/blog/2007/11/13/android-native-apps) vysvětluje, jak sestavit jednoduché nativních aplikací.


[ScratchBox](http://www.macrobug.com/blog/2007/11/25/using-scratchbox-to-build-complex-arm-binaries-for-android/) se zdá být cesta k sestavení složitějších aplikací a knihoven, jak asi víte už. Osobně bych doporučoval kontaktovat ty lidi dostat vliv na projektu OpenSSL. <p>na zařízeních se systémem ios je ovládací prvek „rozevíracího seznamu“ vykreslen jako ovládací prvek s velkým cílem, který zabírá polovinu obrazovky a umožňuje uživateli snadno procházet seznamem. je vybrána kterákoli položka uprostřed síťového kříže. tímto způsobem stačí stisknout pro aktivaci ovládacího prvku, výběrem přejetím prstem a opětovným stisknutím potvrdit. tyto doteky nejsou zbytečné, protože všechny slouží jasnému účelu.</p><p><img src="https://i.stack.imgur.com/zszh6.png" alt="combo box on iphone"></p><p>pole se seznamem, ve kterých můžete také vybrat položku, se na dotykových platformách s ovládacími prvky, jako je výše, jeví jako zbytečné, protože je mnohem snazší projít si dlouhý seznam (zejména s výběrem indexu stylu telefonního seznamu, jako má ios), než je procházejte rozevírací nabídku na platformách kb/mouse.</p> <p>nedávno jsem byl ve vaší přesné situaci. moje společnost chtěla najmout jiného programátora a konkrétně jsem chtěla někoho, kdo má více zkušeností než já, abych se mohl dál učit a růst.</p><p>z rozhovorů jsem byl nejvíc nervózní, a tak jsem se zeptal <a href="https://softwareengineering.stackexchange.com/q/18371/1130">otázka zde</a> .</p><p>abychom to shrnuli, položte otázky, na které znáte odpověď, souvisejí s problémy, které máte, nebo s problémy, které jste v minulosti vyřešili. nesnažte se klást otázky, které jsou mimo vaši hloubku. buďte upřímní, pokud dotazovaný začne mluvit v termínech, kterým nerozumíte, a požádejte ho, aby vám je vysvětlil. poté, co najmete, s vámi bude spolupracovat a budete chtít někoho, kdo vás může mentorovat.</p><p>ukázalo se to skvěle. najali jsme někoho, kdo má mnohem více zkušeností a znalostí než já, a cítím, že se toho hodně učím.</p><p>řekl bych, že je to pro vás oboustranně výhodná situace. nejhorším scénářem je, že si najmete osobu, kterou najmete, a vy jste získali cenné znalosti, které s ní pracujete.</p> Ano, otevřete Duolingo v mobilním prohlížeči, přihlaste se svým mailem a rozbalte nahoře uprostřed na domovské stránce ( <https://www.duolingo.com/> ) název kurzu a vyberete vlaječku kurzu, do kterého se chcete přepnout. I do kurzů z jiného výchozího jazyka. Bude pak přepnutý i v aplikaci.


O postup v kurzu jste nepřišel. <p>sun poskytuje rozhraní api nazvané codemodel pro generování zdrojových souborů jazyka java pomocí rozhraní api. není to nejjednodušší získat informace, ale je to tam a funguje to velmi dobře.</p><p>nejjednodušší způsob, jak toho dosáhnout, je součástí jaxb 2 ri - generátor schématu xjc-to-java používá codemodel pro generování svého zdroje java a je to součást sklenic xjc. můžete jej použít pouze pro codemodel.</p><p>chyť to z <a href="http://codemodel.java.net/">http://codemodel.java.net/</a> </p>