
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. You can't do it yourself. You can, but you wouldn't want to. Ideally, you want to partner with someone with a different, complementary set of skills. Partner with someone who knows and respects your area of expertise, but is even more confident and knowledgeable about their own skills. Good communication is implied in an effort such as this so you'll go through periods of rapid fire questions bouncing ideas off each other and then periods of silence as you work on separate tasks. There's a lot to get done and multitasking will be key.
2. Multitask. As suggested above, working with someone who complements your own skills allows you to multitask. Što mislim? For example, in the beginning, once you scratch out a wireframe of an idea, one person can begin coding - putting placeholder buttons and blocks into place. At the same time, the other person can create comps and then cut out each element to use when they get to the right stage. Also, at the tail end of the project, one person can wrap up the project and clean the code while the other prepares all the images and marketing copy for the App Store submission process.
3. Do at least one thing well. Unlike most desktop applications or web project, you have to remember that most good mobile apps fulfill a need that can come anywhere, any time. Your app idea doesn't have to be complicated, but good apps seem to do one or more of these things well:
- Solves a problem; - Is entertaining; - Serves a specific niche; - Engages the user; and/or - Takes advantage of the unique features of the iPhone.
4. Set goals and milestones. Whether your goal is speed to market, just to gain experience, or to build the best damn app that does (blank), clearly state your goals. Initially, it will help you focus on the areas that are important/critical for success. It will also help you later down the road as you face hard decisions about “must-have” features and “like-to-have” features. Remember, you can always issue feature updates so focus on the “must-have” items and do whatever is necessary to meet that goal.
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