
David Quinlan je normalan dečko s dan posao i samo malo kodiranja iskustvo. Ali on i prijatelj živi san i zavojit jednostavnog iPhone app u vikend. Evo kako su to učinili:
"Tajlandski, salatu ili ramen?" Ovo je vrijeme ručka u tipičnom četvrtak i da nas udari da su milijuni ljudi diljem svijeta razmišljajući isto pitanje. Ovaj upitnik je naš lansirati, što nas čini dio od tisuća ljudi koji su htjeli izgraditi iPhone app za "da".
Ja sam proizvod i marketinški tip s nekim dizajn i kodiranje vještine.
Roy je programer sa nekim poslovnim pamet. Kombinirana smo napraviti veliki klub i nadopunjuju jedni druge vještine dobro, ali smo tek započeli s radom Objective-C prošle godine, kao i mnogi drugi koji su isprobavanja iPhone razvoj. Već smo izgradili app ili dva, tako da smo upoznati s jezikom i okvire. Međutim, kao i sa svim novim projektima, obično morate napraviti malo istraživanje da shvate kako pristupiti različitim izazovima ... pogotovo u svijetu definiran 320 × 480 piksela.
Za najduže vremena, da smo igrali s oko ideje o stvaranju app za zabavu. Nakon što je odbacivanje par dobrih ideja (jer su previše komplicirani ili brzo pretraživanje u App Store je pokazalo da je netko već to dobro), ručka nas zemljišta na jednostavan, zabavna ideja da se pomogne ljudima zaglavi između odluke.
Ali, dok većina ljudi želi stvoriti velike iPhone app, moj prijatelj i ja otići jedan korak dalje, što pakt završiti projekt u sklopu vikend-ili realno, naš app nikad ne bi dobili dovršen.

Na komad papira, mi se piskarati dva-tri wireframes i razvio koncept za neke osnovne ekrana. Mi odlučuje o app koji nudi i do tri više izbora. Možete pisati vlastite odgovore na primjer, tajlandski, salata ili ramen-a možete jednostavno odabrati randomized izbor da vidite odgovor na svoje odluke. Mi smo odlučili iskoristiti igrajući karte kao temu. Odmah smo krug "mora imati" izgled (prvi prioritet), onda "kao da su" mogućnosti (zadnji prioritet), te konačno značajke koje treba više istražuju. Mi ostavite ručak u četvrtak s malo domaćih zadaća i plan da se zajedno u subotu.
Moja zadaća uključuje određivanje izgled, osjećaj i interakciju na svakom zaslonu. Roy treba istraživanja neke od mogućnosti Xcode nismo imali priliku igrati s još u našem "pravi" poslovi, uglavnom animacije i poslučajenje.
U subotu ujutro, susrećemo u lokalnom kafiću koji je besplatan Wi-Fi, tvrde veliki stol tako da možemo sjediti side-by-side i iskoristite prvi od mnogih velikih šalica kave. Onda smo stvoriti zajedničku Dropbox mapu za ovaj projekt-Osnovni račun je besplatan i dolazi sa 2GB prostora za pohranu. Dropbox je važno jer nam omogućuje istovremeni izvršavanje više zadaća na istom projektu s bilo / sve promjene usklađivanje u stvarnom vremenu. Za veće projekte, svibanj ištanje to uzeti u obzir GitHub.
Mi podići detaljniji pregled onoga što želimo ostvariti za naših cca kao i osnovni wireframes. S obzirom da imamo samo vikend završiti ovaj app, odlučili smo se fokusirati samo na "mora imati" izgled. Developer može uvijek izdati značajka ažuriranja na neki kasniji datum da uključuje "izbirljiv to imati" izgled.
Izlasci ekran po ekranu, mi detalj elemenata na stranici, stil tretmani, izgled, vrijeme, itd. Također, ono što raspravljati o animacija Roya naučio kartice lak udarac pokretu, budući da je ovo bila jedna od ključnih funkcionalnosti app. Mi ukratko pregled kvarc 2D i Core Animation knjižnice, budući da smo imali prije nije učinio nikakva posla s tim. Možemo čak razgovarati koristeći UIWebView to ponavljanje animacije unutar WebKit's CSS. Na kraju smo doznali jednostavno rješenje korištenjem standardnih UIViews i UIButtons. UIView klasa ima neke metode animacije razred, a jedan od izgrađen u prijelazi je lak udarac efekt. Kao i za poslučajenje, znali smo da većina jezika osigurati slučajan funkciju, a Objective-C nije iznimka. U svrhu ovog app, sve što smo htjeli je jednostavan Metodije to miješaj polja. Roy pronašao nekoliko primjera ove, ali jedan od njih je da je stajao tamo kod dr. Touch's website. On opisuje pristup sa kojim bi mogao provoditi metodom klasa ekstenzija tako da možete lako dvoličnost bilo koje polje.
Roni se u odgovarajućim MacBook Pro s Borg-kao što je fokus na našim pojedinim područjima stručnosti. Ja otvoriti Photoshop i počela zgrade ekrana. Prvi ekran je zadana slika. Ovo je prvi ekran ljudi vide kad app pokreće i počinje utovar. Apps može biti izgrađen u bilo portret ili pejzaž pogled. Ako odlučite da izgradite app u pejzažnom prikazu kao što je naše, još uvijek morate napraviti zadanu sliku koja prikazuje u portretnom prikazu. Jednostavno otvorite svoje krajolik pogled i zakretanje smjeru kazaljke na satu ili suprotno od kazaljke na satu (ovisno o tome želite li lijevo ili desno krajolik pogled). Sada zadane slike opterećenja u portretnom prikazu svoje slike, ali budući je rotirala, korisnik će se uviti iPhone u horizontalni način pregleda.
I onda provesti narednih nekoliko sati stvaranja comps, pozadinske slike, dugmad, kartica (prednja i stražnja) i info stranicu. Također sam provesti neko vrijeme s naglaskom na ikonu app. To je očito "lice" od svoje app-značku u čast, tako da ćete želite staviti oprezan misli na ikonu slike. Zapamtite, morat ćete ikonu u oba 57 × 57 i 512 × 512 veličinama. Jedanput izrađen, JA upload Internet to Dropbox tako da bi mogao Roy početi koristiti kreativne elemente.

Uz put sam pogled natrag na Roy's laptop, on je stvorio novi Xcode projekt i već je igranje okolo sa kod animirati zelene kutije koja zrcaljenje na klik. Dok je on radio na prototip u iPhone Simulator, ja otimanje info.plist datoteke i urediti neke od postavki - maknuti traku stanja, app otkriti ime, uklanjanje sjaja od ikona, itd. Mi ćemo onda odlučiti da je vrijeme za nas da dodate neke pravi slike na naš prototip. Mi smo stavili u pozadini slike, prednje i stražnje karata i navigacijskih gumba. Pozicioniranja je od (po mnogo), ali kartica izgleda dobro i to je preklapanje glatko. Mi radimo neke loše matematikom, ali na kraju dobiti točan razmak i pozicioniranje koji želimo za svaku karticu. Mi smo igrati oko s vremena na flip, set on / off države tipku za navigaciju, a sada to je prilično dobar osjećaj.

Vidjevši komada dolaze zajedno u app meni pokazuje da postoji nekoliko slika koje treba fino ugađanje. Ja napraviti izmjene kao Roy počinje rad na prilagodbu zaslona i info ekran. Prilagoditi ekran je mjesto koje omogućava ljudima da tip u kojem god oni žele prikazati na lice kartice. Mi se ograničiti na 25 znakova ... ništa više od toga i to piše iznad / izvan kartice. Mi govorimo kroz ovaj ekran malo više u detaljima. Interakcija u svakom polju, kako tipkovnica djela, i kako smo spasiti prije odlaska natrag na karticama. Mi smo provesti malo vremena u Interface Builder ožičenje se točno koliko želimo ovu stranicu izgledati i djelovati. Info stranica je potpuno neobavezno, ali mi to imati jer to uključuje dodatne načine doći do nas.
Wow, sedam sati i četiri velike kave poslije, imamo mnogo učinjeno, ali ima još puno više ići. Ono što imamo sada je app da požari gore; prikazuje zaslon zadani loading; dobiva ljudi ekran koji pokazuje tri karte (poleđini kartice prikazuje), oni mogu odabrati bilo koji / sve kartice i kartice flips pokazati prednjoj strani kartice, oni mogu kliknuti na gumb s oznakom "Try Again" za poništavanje karata, oni mogu kliknuti na gumb s oznakom "Customize", koji se otvara novi ekran, "Prilagodi" zaslon omogućuje unos teksta u 3 zasebne polja sa max 25 znakova u svakom polju, i možete doći do info ekran. Mi provesti posljednja sata dnevno zajedno čišćenje i raspravlja o kôd ono što smo ostavili za sutra ostvariti.

U nedjelju, susrećemo u drugi kafić sa free Wi-Fi. Kava prvi. Mi se osjećaju kao mi smo oko 80 posto učinjeno prije nego što počnete raditi opet. Glavni posao ostavio za dan unaprijed se štedi prilagođeni tekst, prikazujući prilagođeni tekst na licu kartice, a Randomizing teksta. Imali smo dodatne funkcije ideje, no držali smo sami iskreni, i čuvati opseg puzanja na minimum. Jedan primjer ovoga je metoda za skladištenje / spremanje prilagođeni tekst o svakoj od tri kartice. Mogao Roy stvorili SQLite baza podataka ili koristi Core podataka, ali je najlakši pristup je bio da samo koristiti ugrađeni u standardUserDefaults objekt nalazi u NSUserDefaults klasi. Koristeći ovu metodu pohranjuje vrijednosti do cca postavke pravedan prekid za naše potrebe i sprema nam mnogo vremena.

Dok Roy je radio na tim stavkama, to je savršena prilika za mene pripremiti neke od stvari koje će vam trebati kasnije taj dan. Kada pošaljete app na App Store, to nije jednostavan upload za datoteke. Apple zahtijeva sljedeće podatke za svaki app podnošenje: Application Name, Application Description, Device Requirements, osnovno i srednje kategorije, podkategorije, Copyright, App Rating, ključne riječi, SKU Number, Aplikacija URL, Screen Shots, marketing Opis, podrška URL, E-mail podrška Adresa, End User License Agreement, and Pricing / dostupnosti.
Dakle, pripremite sve app dostavljanje informacija, dok Roy je zauzet kodiranja daleko, najprije u potrazi za slične App Store apps i njihova imena. Mi kao što su "Stuck?", A srećom nitko drugi ne koristi ga, tako da ćemo ići s tim imenom. Mogu stvoriti app opis, dodati neke ključne riječi, postaviti cijenu i utvrditi gdje želimo prodati ovaj app (samo u SAD-u, određene zemlje ili u svijetu). Tada sam registrirati naziv domene (stuckapp.com) koji će se koristiti za aplikacije URL / support URL i on povezan s novonastalom Tumblr račun. Također sam stvorio potreban podržavaju e-mail adresa. Drugih stvari da ćete želite pripremiti unaprijed su: Screenshots (do pet), velika ikona (512 × 512) i, ako je ovo vaš prvi put podnošenja app, sve certifikate / provisioning profila.
Stvari imaju tendenciju da se duže nego što ste očekivali, a iako smo u osnovi završite sa cca početkom nedjelju poslijepodne, još uvijek se provesti nekoliko sati više ugađati sebi i priprema sve za podnošenje App Store-čišćenje kod i fino ugađanje kao idemo zajedno. Mi provodimo veći dio dana na jednom računalu guranje piksela, oblikovanje, te osiguravanje vremena i korisničke interakcije je točno onako kako smo oboje htjeli. Nakon gotovo pet sati rada nedjeljom, imamo app da smo oboje predviđeno. Mi početi ispitivanje u iPhone simulatoru, a zatim na uređajima (oba iPhone i iPod touch) za stabilnost i funkcionalnost. Opet, kao jednostavan app, to je bio jednostavan i brz za testiranje.
Nakon što je dokazati svoju stabilnost, odlučili smo objaviti Stuck? na App Store. Moj prvi pokušaj izdavanja drugog app po sebi je trajao dva dana, pokušaj, uspjeti, Google, pokušaj, uspjeti, Google i više, itd., sve dok ga konačno radila. Ali drugi put okolo je puno lakše i brže. Mi copy / paste cijeli tekst pripremljen ranije, a zatim dodao ekrana i slike. Sve u svemu, imamo app otpremljeno u oko 15 minuta. U ovom trenutku, mi smo uzbuđeni, gladan i umoran, ali i prilično ponosni da smo završili čvrste app tijekom vikenda u kafiću.

Mi smo imali naš fige da App Store će odobriti naših app. I, kao što smo bili izvan sebe da bismo mogli završiti app tijekom vikenda, stvaran iznenađenje došao nakon što smo dostavili App Store. Mi podnosi app u nedjelju navečer. Ona mijenja status iz Čekanje na pregled, kako bi na pregledu u ponedjeljak. U utorak smo primili e-poštu nas informira da je naš app je bio spreman za prodaju. Odobreno u dva dana! To mora biti rekord, posebno pred blagdane.
Pogotovo nakon što se govori o izgradnji app zajedno toliko dugo, kao što je toliko ljudi čita ovaj članak, moram reći, ispunjenje je neizmjeran. Mi napokon did it.

SAVJETI ZA Popunjavanje APP tijekom vikenda
1. Ne možete to učiniti sami. Možete, ali ne bi htio. U idealnom slučaju, da želite partnera s nekim s različitim, komplementarni set vještina. Partner s nekim tko zna i poštuje svoje područje stručnosti, ali je još više sigurni i obrazovan o svojim vještinama. Dobra komunikacija je implicirana u naporima kao što je to, tako da ćete proći kroz razdoblje od brzih požara pitanja odbijanja ideje jedni od drugih, a zatim razdoblja tišine dok radite na posebnim zadacima. Tu je mnogo učinjeno da se i zadataka će biti ključ.
2. Multitask. Kao što gore, radi s nekim tko se nadopunjuje svoje vještine omogućuje istovremeni izvršavanje više zadaća. Što mislim? Na primjer, u početku, nakon što precrtati Wireframe od ideja, jedna osoba može započeti kodiranje - stavljajući rezervirano mjesto tipke i blokovi na svoje mjesto. U isto vrijeme, druga osoba može stvoriti comps, a zatim izrezati svaki element koji se koristi kad dođu na pravo pozornici. Isto tako, na stražnji kraj projekta, jedna osoba može završiti projekt i čist, dok kod drugih priprema sve slike i marketing kopirati za podnošenje App Store proces.
3. Da li barem jednu stvar dobro. Razliku od većine desktop aplikacija ili web projekt, morate imati na umu da većina koji se kreće apps dobro ispuniti potrebu da se može doći bilo gdje, u bilo koje vrijeme. Vaša ideja app ne mora biti komplicirano, ali dobro apps činiti se za napraviti jednu ili više od tih stvari dobro:
- Rješava problem; - Je zabavne; - Služi određenu niša; - zahvaća korisnik i / ili - koristi prednosti jedinstvene značajke iPhone.
4. Postavljenih ciljeva i miljokaz. Bilo da je vaš cilj je brzina na tržište, samo kako bi dobili iskustvo, ili izgraditi Best Damn app koji ne (blank), jasno stanje svoje ciljeve. U početku, to će pomoći da se usredotočite na područjima koja su važna / kritične za uspjeh. Također će vam pomoći kasnije niz cestu kao što lice teško odluke o "must-have" značajke i "kao-da-ima" izgled. Zapamtite, uvijek možete izdati značajka ažuriranja na taj način fokusirati na "must-have" stvari i učiniti sve što je potrebno ispuniti taj cilj.
5. Get a Dropbox account. For small- to medium-sized projects, you cannot beat Dropbox. It allows you to store, share and synchronize files with others. Stop sharing files back and forth on your USB memory stick. Get a Dropbox account and share files in real time. We abused the hell out of our free, shared Dropbox folder and it worked flawlessly. For larger projects, you might want to give GitHub a try.
6. Test. Test. Test. When you see the finish line, it's easy to gloss over the important step of testing your app. Test in your iPhone simulator, but also try to get your hands on an iPod touch and of course on an iPhone as well. Depending on the complexity of your app, you might want to create a test plan to make sure all the use cases and functional tasks are covered. The last thing you want is to have an app in the App Store that crashes or doesn't work as expected. You may never recover from all the ego-shattering feedback.
7. Understand the App Store submission process. Apple provides a PDF document detailing to submission process. But that document is only available for registered developers. If you've already registered, read that document thoroughly before you begin the upload process. It will give you a good idea of what's involved, but also what you'll need to prepare in advance. Apple also provides some good tips for app store submission and approval .
Izvor
gizmodo