
David Quinlan jest normalnym facetem z pracy dzień i trochę kodowania doświadczenia. Ale i przyjaciel mieszkał sen i łukowaty obecnie prostych aplikacji iPhone w weekend. Here's how they did it:
"Sałatka z Tajlandii, czy ramen?" It's lunch w typowej czwartek i uderza nas, że miliony ludzi na całym świecie rozważają to samo pytanie. To pytanie jest naszym startera, co nas do tysięcy ludzi, którzy chcieli zbudować iPhone app "ten".
Jestem facetem do obrotu produktów i niektóre umiejętności projektowania i kodowania.
Roy jest deweloper z niektórych doświadczonych przedsiębiorstw. Łącznie robimy wielki zespół wzajemnie się uzupełniają i umiejętności dobrze, ale tylko rozpoczął pracę w Objective-C w ubiegłym roku, podobnie jak wielu innych, którzy próbują obecnie iPhone rozwoju. Mamy już zbudować aplikację lub dwa, więc możemy znać język i ram. Jednak, jak wszystkie nowe projekty, które zwykle mają zrobić małe badania, aby zrozumieć, w jaki sposób podejść do różnych wyzwań ... zwłaszcza w świecie określone przez 320 × 480 pikseli.
Na najdłuższy czas, mamy bawił się pomysł stworzenia aplikacji dla zabawy. Po odrzuceniu kilku dobrych pomysłów (ponieważ są one zbyt skomplikowane i szybkie wyszukiwanie w App Store wykazało, że ktoś już to dobrze), tereny lunchu nas proste, Fun pomysł, aby pomóc ludziom utkwiła decyzji.
Ale podczas gdy większość ludzi chce stworzyć wielką aplikacji iPhone, moim przyjacielem i pójść o krok dalej, co pakt, aby zakończyć projekt w weekend lub realistycznie naszych aplikacji nie dostanie zakończone.

Na kawałku papieru, możemy bazgrać na dwa-trzy siatek i opracowany zarys podstawowych ekranów. Decydujemy się na aplikację, która oferuje do trzech różnych wyborów. Możesz napisać własną odpowiedź, na przykład, tajski, sałatka lub ramen i po prostu wybrać losowo wyboru, aby zobaczyć odpowiedzi na tę decyzję. Zdecydujemy się na wykorzystanie karty do gry, jak temat. Natychmiast kręgu "must have" cechy (priorytet), a następnie "lubią mieć" cechy (ostatnio priorytet), wreszcie cechy, które potrzebują więcej śledczego. Wyjeżdżamy obiad w czwartek z mało prac domowych i planuje się spotkać w sobotę.
Moje zadanie domowe zawiera określenia wygląd, styl i współdziałania na każdym ekranie. Roy potrzeby badań niektórych Xcode cechy nie mieliśmy szansę na grę z jeszcze w naszych "prawdziwych" miejsc pracy, głównie animacje i randomizacji.
W sobotę rano, spotykamy się w lokalnej kawiarni, które free Wi-Fi, twierdzą, duży stół, abyśmy mogli usiąść side-by-side i złapał pierwszy z wielu dużych filiżanek kawy. Następnie tworzymy wspólną Dropbox folder dla tego projektu podstawowego konta jest darmowe i jest wyposażony w 2 GB pamięci masowej. Dropbox jest ważny, ponieważ pozwala nam wielozadaniowe tego samego projektu z jakichkolwiek / synchronizacji wszystkich zmian w czasie rzeczywistym. W przypadku większych projektów, może warto rozważyć GitHub.
Mamy podciągnąć bardziej szczegółowy opis tego, co chcemy osiągnąć w naszej aplikacji, jak również podstawowych siatek. Zważywszy, że mamy tylko weekendy do zakończenia tej aplikacji, zdecydujemy się na skoncentrowanie się wyłącznie na "must have" funkcji. Autora zawsze kwestia aktualizacji funkcji w późniejszym terminie w celu włączenia "Cieszymy się, że" cechy.
Going ekran ze ekranu, możemy szczegółowo elementy strony, zabiegi styl, układ, czas itd. Mamy również nad tym, co Roy dowiedział się o animacji karty flip ruchu, gdyż była to jedna z podstawowych funkcji aplikacji. Pokrótce przegląd Quartz 2D oraz Core Animation bibliotek, ponieważ wcześniej nie zrobić żadnej pracy z nimi. Mamy nawet dyskutować używając UIWebView do renderowania animacji w CSS WebKit's. Ostatecznie, znajdziemy proste rozwiązanie przy użyciu standardowych UIViews i UIButtons. Klasa UIView ma kilka metod klasy animacji, a także jeden z wbudowanych w przejścia jest flip effect. Co do randomizacji, wiedzieliśmy, że większość języków zapewnienia losowej funkcji i Objective-C nie jest wyjątkiem. Dla celów tej aplikacji, wszyscy chcieliśmy był prosty sposób losowo tablicy. Roy znaleźć kilka przykładów tego, który jednak stał się skończyła się na stronie internetowej dr Touch's. Opisuje podejście, z którym w celu wdrożenia metody rozszerzenie klasy, dzięki czemu można łatwo shuffle każdej tablicy.
We dive into naszymi Plusy MacBook z Borg jak skupienie się na poszczególnych dziedzinach wiedzy. Otwieram Photoshopa i rozpoczął budowę ekranów. Na pierwszym ekranie jest domyślny obraz. Jest to pierwszy ekran ludzie zobaczą, gdy aplikacja uruchamia i rozpoczyna się ładowanie. Aplikacje mogą być budowane w orientacji pionowej lub widok poziomy. Jeśli zdecydujesz się budować swoją aplikację w celu krajobraz jak nasza, trzeba jeszcze utworzyć domyślny obraz wyświetlany w widoku pionowym. Wystarczy utworzyć widoku krajobrazu i obrócić w prawo lub w lewo (w zależności od tego, czy w lewo lub w prawo widok krajobrazu). Teraz ładuje domyślny obraz w widoku pionowym ale ponieważ zdjęć jest obracany, użytkownik będzie twist iPhone się na widok poziomy.
I potem spędzić kilka następnych godzin tworzenia comps, obrazy tła, przyciski, karta (przód i tył) oraz strony info. Ja również spędzić trochę czasu na skupienie się na ikonę aplikacji. To jest oczywiście "twarzą" Twoja aplikacja-Badge of Honor więc będziesz chciał umieścić refleksji na zdjęcia ikony. Pamiętaj, że musisz ikona zarówno 57 × 57 i 512 × 512 rozmiarach. Po zakończeniu I przesłać go do Dropbox tak, że Roy może rozpocząć korzystanie z twórczych elementów.

W czasie I spojrzenie wstecz do laptopa Roy's, on stworzył nowy projekt Xcode i jest już zabawy z kodem do animowania zielone pola, że klapki na kliknięcie. Choć pracuje nad prototypem w iPhone Simulator, chwytam Info.plist pliku i edytować niektóre z ustawień - usuwa pasek statusu, aplikacja wyświetlaną nazwę, usunąć połysk z Ikona, itp. Mamy wtedy decyzję nadszedł czas dla nas, aby dodać kilka rzeczywistych obrazów do naszego prototypu. Stawiamy na obraz w tle, z przodu iz tyłu karty i przyciski nawigacyjne. Pozycjonowania jest wyłączony (o wiele), ale karty wygląda dobrze i jest przerzucaniem sprawnie. Mamy złe matematyki, ale w końcu się spacjami i pozycjonowania, że chcemy dla każdej karty. Mamy bawić z harmonogramu klapki, ustawić włączanie / wyłączanie państw do przycisku nawigacyjnego i teraz jest to uczucie dość dobrze.

Widząc kawałki łączą się w aplikacji pokazuje mi, że istnieje kilka obrazów, które wymaga dostrajania. Wprowadzać zmiany Roy rozpoczyna pracę na dostosowanie ekranu i na ekranie informacji. Dostosować ekran jest miejsce, które pozwala ludziom typu, co chcą pokazać na twarzy karty. Mamy ograniczyć je do 25 znaków ... coś więcej niż to, i to pisze ponad / poza kartę. Rozmawiamy przez ten ekran nieco bardziej szczegółowo. Współdziałanie w każdej dziedzinie, w jaki sposób działa klawiatura, i jak się zapisać, zanim wrócę do karty. Spędzimy trochę czasu w Interface Builder okablowanie dokładnie tak, jak chcemy tę stronę wyglądać i działać. Strona informacji jest całkowicie dobrowolne, ale chcielibyśmy mieć, ponieważ zawiera ona dodatkowe sposoby do nas dojechać.
Wow, siedem godzin i czwórki dużych kaw później, musimy wiele zrobić, ale jest jeszcze wiele więcej do zrobienia. Co mamy teraz jest aplikacja, że pożary się; wyświetla ekran ładowania domyślnie pobiera ludzi do ekranu pokazuje trzy karty (z tyłu pokazano karty); mogą wybrać dowolny / wszystkie karty i karty flips pokazać przodu karty, mogą kliknąć na przycisk oznaczony "Try Again", aby zresetować karty, mogą kliknąć na przycisk oznaczony "Dostosuj", który otwiera się nowy ekran, "Dostosuj" ekran pozwala wpisać tekst na 3 odrębne pola max 25 znaków w każdej dziedzinie i można uzyskać na ekranie informacje. Spędzamy ostatnią godzinę dzień razem oczyszczania kodu i dyskusji, co nam zostało do osiągnięcia jutro.

W niedzielę spotykamy się w innym kawiarnia z free Wi-Fi. Kawa w pierwszej kolejności. Czujemy się tak, jakbyśmy o 80 procent zrobić przed rozpoczęciem pracy ponownie. Główne prace w lewo na dzień przed zapisywania własny tekst, wyświetlając własny tekst na powierzchni karty, a randomizing tekstu. Mieliśmy dodatkowe propozycje funkcji, ale trzymaliśmy się szczery, i przechowywane na pełzanie zakresu minimum. One example of this was the method for storing/saving the custom text on each of the three cards. Roy could have created a sqlite database or used Core Data, but the easiest approach was to just use the built in standardUserDefaults object found in the NSUserDefaults class. Using this method stores the values to the app's settings just fine for our needs and saves us a lot of time.

Choć Roy pracuje nad tymi pozycjami, to doskonała okazja dla mnie, aby przygotować niektóre rzeczy będziemy musieli później tego samego dnia. Podczas zgłaszania aplikacji do App Store, to nie jest proste przesyłanie pliku. Apple wymaga następujące informacje dla każdej aplikacji złożenia: Nazwa aplikacji, aplikacji Opis Wymagania urządzeń, pierwotne i wtórne kategorii, podkategorii, Copyright, App ocena, słowa kluczowe, SKU Number, Application URL, zrzuty ekranu, Marketing Opis Wsparcie URL Email Support Adres End User License Agreement i Cennik / Dostępność.
Więc, przygotowaliśmy wszystkie informacje składania aplikacji podczas Roy jest zajęty kodowania natychmiast, szukając App Store dla podobnych aplikacji oraz ich nazwy. Chcemy "Stuck" i na szczęście nikt nie używa, więc pójdziemy z tą nazwą. Utworzyć aplikację opis, dodać kilka słów kluczowych, ustawianie cen i określić, gdzie chcemy sprzedawać tej aplikacji (tylko w USA, niektórych krajach lub na świecie). Następnie należy zarejestrować nazwę domeny (stuckapp.com) do wykorzystania w aplikacji URL / adres URL pomocy technicznej i powiązanych do nowo utworzonego konta Tumblr. I stworzył również wymagane adres e-mail pomocy technicznej. Inne przedmioty warto przygotować wcześniej, to: zrzuty ekranu (do pięciu), duże ikony (512 × 512) oraz, jeśli jest to twój pierwszy raz składania aplikacji, wszelkie świadectwa / rezerw profili.
Things tend to take longer than you expect, and even though we're basically finished with the app by early Sunday afternoon, we still spend a couple of more hours tweaking it and preparing everything for the App Store submission—cleaning code and fine tuning as we go along. We spend the majority of the day on one computer pushing pixels, formatting, and ensuring the timing and user interaction was exactly as we both wanted. After almost five hours of work on Sunday, we have the app that we both envisioned. We begin testing in the iPhone simulator and then on devices (both iPhone and iPod touch) for stability and functionality. Again, being a simple app, it was easy and quick to test.
After proving its stability, we decide to publish Stuck? to the App Store. My first attempt at publishing another app by myself took two days—attempt, fail, Google, attempt, fail, Google more, etc.—until it finally worked. But the second time around was much easier and faster. We copy/paste all the text prepared earlier and then added the screenshots and images. All in all, we have our app uploaded in about 15 minutes. At this point, we're excited, hungry and tired, but also quite proud that we completed a solid app over a weekend in a coffee shop.

We had our fingers crossed that the App Store would approve our app. And, as amazed as we were that we could finish an app over the weekend, the real surprise came after we submitted to the App Store. We submitted the app on Sunday evening. It changed status from Waiting for Review‚ to In Review, on Monday. On Tuesday, we received an email informing us that our app was Ready for Sale. Approved in two days! That has to be a record‚ especially before the holidays.
Especially after talking about building an app together for so long, like so many people reading this article, I must say, the fulfillment is immense. We finally did it.

TIPS FOR COMPLETING AN APP OVER A WEEKEND
1. Nie można tego zrobić samodzielnie. Można, ale nie chcą. 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. What do I mean? 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 .
Źródło
gizmodo