
David Quinlan és un noi normal amb treball diari i una mica de la codificació de l'experiència. Però ell i un amic viscut el somni i la maneta a terme una senzilla aplicació per l'iPhone en un cap de setmana. Heus aquí com ho van fer:
"Tailandesa, amanida o ramen?" És l'hora de dinar típic en un dijous i ens sembla que milions de persones a tot el món estan reflexionant sobre la mateixa qüestió. Aquesta pregunta és la nostra plataforma de llançament, el que ens converteix part dels milers de persones que volien construir una aplicació per l'iPhone "que".
Sóc un noi de comercialització de productes i amb alguns coneixements de disseny i codificació.
Roy és un desenvolupador amb alguns coneixedors de negocis. Combinada, fem un gran equip i es complementen entre si i les habilitats, però només va començar a treballar amb Objective-C any passat, com molts altres que estan tractant a terme el desenvolupament de l'iPhone. Ja hem construït una aplicació o dos, així que estem familiaritzats amb el llenguatge i els marcs. No obstant això, com amb tots els nous projectes, en general ha de fer una petita recerca per entendre com apropar als diferents desafiaments ... especialment en un món definit per 320 × 480 píxels.
Durant molt temps, hem jugat amb la idea de crear una aplicació per a la diversió. Després de descartar un parell de bones idees (perquè eren massa complicats o una recerca ràpida a la App Store mostra que algú més ja ho fa bé), les terres de l'hora del dinar amb nosaltres en una manera simple, divertida idea per ajudar a persones atrapades entre les decisions.
Però mentre la majoria de la gent vol crear una gran aplicació per l'iPhone, el meu amic i jo anem un pas més enllà, fent un pacte per acabar el projecte dins d'un cap de setmana-o realista, la nostra aplicació mai arribaria completat.

En un tros de paper, que gargotejar dos a tres wireframes i va elaborar un esborrany d'algunes pantalles de base. Vàrem decidir sobre una aplicació que ofereix fins a tres opcions múltiples. Pots escriure les teves pròpies respostes, per exemple, tailandesa, amanida o ramen-i, simplement, agafar una elecció a l'atzar per veure la resposta a la seva decisió. Vam decidir utilitzar cartes com el tema. Immediatament, el cercle que "ha de tenir" característiques (primera prioritat), llavors el "com per tenir" característiques (última prioritat), i, finalment, les característiques que necessita més recerca. Deixem el dinar de dijous amb un petit treball i un pla per aconseguir junts el dissabte.
La meva tasca inclou la determinació de l'aparença, sensació i la interacció en cada pantalla. Roy necessita en la investigació algunes de les característiques de Xcode no hem tingut l'oportunitat de jugar amb encara en els nostres llocs de treball "reals", sobretot les animacions i la aleatorització.
El dissabte al matí, ens reunim en una cafeteria local, que havia Wi-Fi, l'afirmació d'una gran taula per a que puguem seure banda a banda i agafar la primera de moltes grans tasses de cafè. Llavors es crea una carpeta Dropbox compartida per aquest projecte-un compte bàsica és gratuïta i ve amb 2 GB d'emmagatzematge. El quadre de selecció és important perquè ens permet realitzar diverses tasques en el mateix projecte juntament amb algun o tots els canvis de la sincronització en temps real. Per a projectes més grans, pot ser que vulgueu considerar GitHub.
Ens aturem un esbós més detallat del que volem aconseguir per a la nostra aplicació, així com wireframes de base. Tenint en compte que només tenim un cap de setmana per completar aquesta aplicació, ens vam decidir a centrar-se només en el "ha de tenir" característiques. Un creador sempre pot emetre actualitzacions de funcions en una data posterior per incloure el "bo tenir" característiques.
Going pantalla per pantalla, que detalli els elements de la pàgina, els tractaments d'estil, disseny, horaris, etc També parlarem del que Roy aprendre sobre l'animació de moviment tapa de la targeta, ja que aquesta va ser una de les funcions bàsiques de l'aplicació. Es revisa breument el Quartz 2D i biblioteques Core Animation, ja que no havien fet cap treball amb ells. Podem fins i tot parlar amb un UIWebView per fer l'animació en CSS WebKit. En última instància, trobar una solució senzilla utilitzant UIViews estàndard i UIButtons. La classe UIView té alguns mètodes d'animació de classe, i un dels construïts en les transicions és un efecte de tirada. Pel que fa a l'assignació a l'atzar, sabíem que la majoria d'idiomes ofereixen una funció aleatòria, i Objective-C no és una excepció. Per efectes d'aquesta aplicació, l'únic que volia era un mètode senzill per canviar aleatòriament una matriu. Roy va trobar un parell d'exemples d'això, però un que es va destacar va ser en el lloc web del Dr Touch. Es descriu un mètode per posar en pràctica un mètode d'extensió de classe d'aquesta manera pot barrejar qualsevol matriu.
Ens submergim en els nostres respectius MacBook Pro amb un Borg-com l'enfocament a les nostres esferes de competència. Obro Photoshop i va començar a les pantalles de la construcció. La primera pantalla és la imatge per defecte. Aquesta és la primera pàgina la gent veu quan l'aplicació s'inicia i comença la càrrega. Aplicacions es poden construir en retrat o paisatge. Si decidiu crear la seva aplicació a la vista horitzontal com la nostra, vostè encara necessita per crear una imatge predeterminada que es mostra a la vista vertical. N'hi ha prou amb crear el seu punt de vista del paisatge i girar en sentit horari o antihorari (depenent de si voleu l'esquerra o la vista horitzontal a la dreta). Ara, la càrrega per defecte la imatge en vista vertical, però des de fa girar les imatges, l'usuari haurà de girar l'iPhone a la vista del paisatge.
Després passar el proper parell d'hores la creació de composicions, imatges de fons, botons, de la targeta (anvers i revers) i la pàgina d'informació. També passar algun temps a centrar-se en la icona d'aplicació. Aquesta és, òbviament, la "cara" de la seva aplicació, una insígnia d'honor, pel que vostè vol posar una reflexió acurada sobre la imatge de la icona. Recordi, vostè necessitarà la icona tant en el 57 × 57 i 512 × 512 mides. Un cop acabat, puc afegir que a selecció per tal que Roy pot començar a utilitzar els elements creatius.

En el moment de mirar cap enrere per portàtil de Roy, que ha creat un projecte de Xcode nou i ja està jugant amb el codi per animar a les caixes verdes que tapa en un clic. Mentre està treballant en el prototip a l'iPhone Simulator, agafo les Info.plist arxiu i editar algunes de les opcions - Eliminar la barra d'estat, de nom aplicació, eliminar la icona de brillantor, etc Llavors decideix que és hora d'afegir alguns les imatges reals en el nostre prototip. Posem a la imatge de fons, l'anvers i revers de les targetes i els botons de navegació. La posició està desactivat (per molt), però les targetes es vegi bé i és moure d'una tirada sense problemes. Fem una mica de matemàtiques malament, però finalment obtenir la separació i la posició exacta que volem per a cada targeta. Juguem una mica amb el calendari de la tapa, sistema d'encesa / apagat estats per al botó de navegació i ara se sent bastant bé.

En veure les peces s'uneixen en l'aplicació em mostra que hi ha un parell d'imatges que les necessitats d'ajust fi. Puc fer canvis com Roy comença a treballar a la pantalla de personalitzar i pantalla d'informació. Personalitzar la pantalla és el lloc que permet que la gent escrigui el que vulgui mostrar a la cara de la targeta. Ens limitem a 25 caràcters ... res més que això i s'escriu en / fora de la targeta. Parlem a través d'aquesta pantalla una mica més en detall. La interacció en cada camp, com actua el teclat, i com desar abans de tornar a les targetes. Passem una mica de temps en la interfície de cablejat Builder exactament com volem que aquesta pàgina per buscar i actuar. La pàgina d'informació és completament opcional, però ens agradaria tenir-lo, ja que inclou altres formes d'arribar a nosaltres.
Wow, set hores i de quatre grans cafès més tard, tenim molt per fer, però encara hi ha molt més per fer. El que tenim ara és una aplicació que activa fins, mostra una pantalla de càrrega per defecte, fa que la gent a una pantalla que mostra tres cartes (part posterior de la mostra de targeta), ja que poden seleccionar qualsevol o totes les targetes i la targeta de llançaments per mostrar la capdavant de la targeta, poden fer clic en un botó anomenat "Try Again" per restablir les targetes, poden fer clic en un botó "Personalitzar" que s'obre una nova pantalla, el "Personalitzar" pantalla li permet introduir text en 3 diferents camps amb un màxim de 25 caràcters en cada camp, i es pot arribar a la pantalla d'informació. Ens passem l'última hora del dia junts la neteja de codi i discutir el que ens queda per dur a terme demà.

Diumenge, ens vam reunir en una altra botiga de cafè amb Wi-Fi. Primer cafè. Ens sentim que estem a prop del 80 per cent de fer abans de començar a treballar de nou. El treball principal a l'esquerra per al dia següent és guardar el text personalitzat, mostrant el text personalitzat a la cara de la targeta, i l'atzar el text. Teníem idees funcionalitat addicional, però seguim nosaltres honesta, i va mantenir el sobredimensionament de l'abast a un mínim. Un exemple d'això va ser el mètode per emmagatzemar / desar el text personalitzat en cadascuna de les tres cartes. Roy podria haver creat una base de dades SQLite o utilitzat de Dades Bàsics, però l'enfocament més senzill era simplement utilitzar el construït en standardUserDefaults objecte trobat a la classe NSUserDefaults. L'ús d'aquest mètode emmagatzema els valors de configuració de bé per a les nostres necessitats de l'aplicació i ens estalvia molt de temps.

Si bé Roy està treballant en aquests temes, és una oportunitat perfecta per a mi, per preparar algunes de les coses que necessitarem més tard aquell dia. Quan vostè envia una aplicació a la App Store, no és una simple càrrega d'un arxiu. Apple requereix la següent informació per a cada presentació App: Nom de l'aplicació, l'aplicació Descripció, requisits de dispositius, Primària i Secundària Categoria, Subcategoria, Dret d'Autor, App Classificació, paraules clau, Número SKU, Sol.licitud URL, captures de pantalla, Màrqueting Descripció de Suport adreça, e-mail de suport Direcció, End User License Agreement, i preus i la disponibilitat.
Així que tota la informació de preparació per a la presentació app mentre que Roy està ocupat codificació de distància, en primer lloc la recerca de la App Store per a aplicacions similars, i els seus noms. Ens agrada "Stuck?" I, afortunadament, ningú més està usant, així que anem amb aquest nom. Puc crear la descripció d'aplicació, afegir algunes paraules clau, establir el preu i decidir si volem vendre aquesta aplicació (només als EUA, alguns països o en tot el món). Llavors registrar un nom de domini (stuckapp.com) que s'utilitzarà per a la sol.licitud d'URL / URL de suport i vinculat a un compte en Tumblr de nova creació. També va crear la necessària adreça de correu electrònic de suport. Els altres temes que voleu preparar per endavant són: captures de pantalla (fins a cinc), una icona gran (512 × 512) i, si aquesta és la primera vegada que la presentació d'una aplicació, els certificats / provisió perfils.
Les coses tendeixen a prendre més temps del que s'esperava, i encara que estem bàsicament acabat amb l'aplicació en la tarda del diumenge al matí, encara passar un parell de retocs més hores, i tot el que la preparació per a la presentació de l'App Store de neteja de codi i afinar que anem avançant. Passem la major part del dia en un equip pressionant píxels, el format i garantir la oportunitat i la interacció de l'usuari és exactament el que volíem. Després de gairebé cinc hores de treball el diumenge, tenim l'aplicació que els dos previstos. Comencem les proves en el simulador de iPhone i després en els dispositius (tant a l'iPhone i l'iPod touch) per a l'estabilitat i funcionalitat. Una vegada més, en ser una aplicació senzilla, que era fàcil i ràpida de la prova.
Després de provar la seva estabilitat, vam decidir enviar Stuck? a l'App Store. El meu primer intent de publicar una altra aplicació per mi mateix va prendre dos dies d'intent, no, Google, intent, no, Google més, etc-, fins que finalment va funcionar. Però la segona vegada va ser molt més fàcil i més ràpid. Ens copiar i enganxar tot el text preparat amb anterioritat i després afegir les captures de pantalla i imatges. En conjunt, hem pujat la nostra aplicació en uns 15 minuts. En aquest punt, estem emocionats, afamat i cansat, però també molt orgullós que haguem completat una aplicació sòlida durant un cap de setmana en una botiga de cafè.

Hem tingut els nostres dits creuats perquè l'App Store s'aprovi la nostra aplicació. I, com sorpresos com nosaltres de que pogués acabar una aplicació sobre el cap de setmana, la veritable sorpresa va venir després que va presentar a l'App Store. Hem presentat l'aplicació en la nit del diumenge. Va canviar l'estat d'espera d'una revisió, per a la revisió, dilluns. Dimarts, vam rebre un correu electrònic informant que la nostra aplicació estava preparat per a la venda. Aprovat en dos dies! Això ha de ser un rècord, especialment abans de les vacances.
Sobretot després de parlar sobre la construcció d'una aplicació tant de temps junts, com tanta gent que llegeix aquest article, he de dir, el compliment és immensa. Finalment ho va fer.

CONSELLS PER A COMPLETAR UNA APP en cap de setmana
1. No podeu fer-ho vostè mateix. Vostè pot, però no li agradaria. Idealment, voleu associar-se amb algú amb un conjunt diferent, complementari de les competències. Associar-se amb algú que coneix i respecta la seva àrea d'especialització, però és encara més segur i coneixedor de les seves pròpies capacitats. La bona comunicació és implícita en un esforç d'aquest tipus de manera que també passen per períodes de preguntes foc ràpid rebotant idees dels uns als altres i després períodes de silenci mentre es treballa en tasques separades. Hi ha molt que es facin i la multitasca serà la clau.
2. Realitzar múltiples tasques. Com es va suggerir anteriorment, treballar amb algú que complementa la seva pròpia capacitat li permet realitzar múltiples tasques. Què vull dir? Per exemple, al principi, una vegada que esgarrapar un filferro d'una idea, una persona pot començar a codificar - posar botons de marcador de posició i els blocs al seu lloc. Al mateix temps, l'altra persona pot crear composicions i es tallarà de cada element a utilitzar quan arriben a l'etapa de la dreta. A més, a l'extrem final del projecte, una persona pot alçar-se amb el projecte i netejar el codi i l'altre es prepara totes les imatges i còpia de la comercialització per al procés de presentació de la App Store.
3. Per a mínim una cosa així. A diferència de la majoria d'aplicacions d'escriptori o projecte web, cal recordar que les aplicacions mòbils més aviat satisfer una necessitat que pot sorgir en qualsevol lloc ia qualsevol hora. La seva idea d'aplicació no ha de ser complicat, però semblen bones aplicacions per fer un o més d'aquestes coses així:
- Soluciona un problema, - és divertit; - Serveix a un nínxol específic; - Emprèn l'usuari, i / o - Presa avantatge de les característiques úniques de l'iPhone.
4. Establir objectius i metes. Si el seu objectiu és la velocitat del mercat, només per adquirir experiència, o per a construir l'aplicació Best Damn que fa (en blanc), estableixen clarament les seves metes. En un principi, l'ajudarà a centrar-se en les àrees que són importants i crítics per a l'èxit. També t'ajudarà més endavant en el camí a mesura que s'enfronten a decisions difícils sobre "s'ha de tenir" característiques i "Like a tenir" característiques. Recordi, vostè sempre pot emetre actualitzacions de funcions per centrar-se en el "deure-té" els elements i fer tot el necessari per complir aquest objectiu.
5. Obtenir un compte de reenviament. Per als petits i mitjans projectes, no pot vèncer Dropbox. Us permet emmagatzemar, compartir i sincronitzar fitxers amb altres. Stop compartir arxius d'un costat a un altre a la teva memòria USB. Obtenir un compte de reenviament i compartir arxius en temps real. Hem abusat de la merda del nostre lliure, quadre de selecció de carpetes compartides i va funcionar a la perfecció. Per a projectes més grans, molts de vosaltres voleu donar GitHub intentar-ho.
6. Prova. Prova. De prova. Quan vegeu la línia de meta, és fàcil passar per alt l'important pas de les proves de la seva aplicació. De prova en el seu simulador de iPhone, però també tractar d'obtenir a les mans un iPod touch i, per descomptat en un iPhone. Depenent de la complexitat de la seva aplicació, és possible que vulgueu crear un pla de prova per assegurar-se que tots els casos d'ús i les tasques funcionals estan coberts. L'última cosa que volem és tenir una aplicació a la App Store que es bloqueja o no funciona com s'espera. Vostè mai no podrà recuperar l'ego totes les destrossant comentaris.
7. Entendre el procés de presentació de la App Store. Apple ofereix un document PDF que detalla el procés de presentació. No obstant això, aquest document només està disponible per als desenvolupadors registrats. Si ja estàs registrat, llegiu aquest document amb cura abans de començar el procés de càrrega. Li donarà una bona idea del que implica, sinó també el que vostè necessita per a preparar amb antelació. Apple també ofereix alguns bons consells per a la presentació de la App Store i aprovació.
Font
gizmodo