W związku z premierą iPhone w Polsce chciałbym rozpocząć cykl postów z małym tutorialem do pisania programów na to urządzenie. Część rzeczy będę starał się tłumaczyć przez analogię do innych języków (w szczególności PHP). Zatem zaczynajmy.

Tutorial część 1

Co musimy posiadać?

System operacyjnym/komputer

Komputer Mac

Komputer Mac

Niestety wymaganiem by rozpocząć przygodę z programowaniem na iPhone jest posiadanie komputera Mac z systemem operacyjnym Mac OS 10.5. I to chyba jest największe ograniczenie moim skromnym zdaniem. Powoduje to, że firmy/osoby prywatne muszą zainwestować w dodatkowy sprzęt by rozpocząć pracę nad oprogramowaniem dla iPhone. Jest to zapewne świadome działanie firmy Apple na rzecz rozpowszechniania ich systemy kosztem ilości osób zaangażowanych w tworzenie aplikacji na iPhone. Z drugiej jednak strony eliminują także domorosłych programistów, którzy chcieliby w prosty sposób zarobić na słabej jakości aplikacjach.

Konto w iPhone Dev Center – dostęp do materiałów

iPhone Dev Center

iPhone Dev Center

Pierwsze kroki w przygodzie z iPhone można rozpocząć za darmo poprzez rejestrację w iPhone Dev Center. Rejestracja na tej stronie umożliwi nam pobranie ogromnej ilości tutoriali, przykładów czy też screencastów (poprzez iTunes). Ogrom materiałów może na początku przytłaczać, w szczególnie ilość poszczególnych elementów do opanowania na samym początku. Swoją drogę najlepiej rozpocząć od tego artykułu.

Środowisko programistyczne

XCode i Interface Builder

XCode i Interface Builder

Apple dostarcza w swoim centrum dla programistów paczkę SDK (obecnie – iPhone SDK for iPhone OS 2.1 ). Po pobraniu SDK dostajemy w pakiecie:

  • XCode – środowisko programistyczne
  • Interface Builder – środowisko do graficznego projektowania interfejsu
  • Instruments – oprogramowanie do testowania aplikacji.
  • interface simulator – symulator iPhone na Maca

Na początek to koniec

Na początek jest to całkowicie wystarczający zestaw potrzebny do zapoznania się z „iPhone programing”. Dalej to już tylko nauka i 99$ na dołączenie do iPhone Developer Program (by umieścić program w App Store). Testy na urządzeniu można przeprowadzić bez opłaty co opisze w 3 części tego tutoriala. Byłbym zapomniał trochę to ironiczne, ale nie potrzebujemy iPhona! (No chyba, że przymierzamy się do testów na prawdziwym urządzeniu).

Specyfika programowania na iPhone

Mamy jeden ekran

Przede wszystkim aplikacje na telefonie zakrywają cały ekran. Jest to o tyle ważne, że jeżeli użytkownik rozpoczyna pracę z daną aplikacją to musi widzieć co, jak i gdzie może zrobić? Nie są widoczne żadne inne ekrany lub podpowiedzi.

Użytkownik pracujący na iPhonie jest skupiony na zadaniu, dla którego włączył tą aplikację. Z tego właśnie powodu chce jak najszybciej tego dokonać. Stąd aplikacje często korzystają ze standardowych elementów interfejsu iPhone, które są znane dla ich użytkowników. Elementy te można obejrzeć po uruchomieniu Interface Buildera.

Zmiana sposobu reprezentacji danych dokonuje się zazwyczaj poprzez zmianę widoku, który przesłania stary ekran. W porównaniu do aplikacji Webowych, gdzie użytkownik dostaje za każdym razem ten sam szablon strony ze zmienioną zawartością, tutaj zmienia się prawie cały ekran poza elementem wspólnym takim jak nagłówek nawigacyjny. Trzeba tym samym zwrócić szczególną uwagę by użytkownicy wiedzieli, gdzie są.

Mamy cały system

Uruchamiając aplikację dostajemy do dyspozycji cały system będący uruchomiony na komórce. Mamy tym samym dostęp do kamery, żyroskopu sprzętowego wspomagania grafiki. Dostępne są także ustawienia telefonu czy też albumy zdjęć. Ale z drugiej strony użytkownik ma przycisk wyjścia z aplikacji, którego może użyć w dowolnej chwili.

Multitouch

Użytkownicy iPhone dostali do dyspozycji ekran dotykowy z wykrywaniem wielu punktów dotykowych. Tym samym programiści muszą zwrócić uwagę by elementy, które można dotknąć są wystarczająco duże. Na szczęście standardowe elementy interfejsu podpowiadają swoją wielkością jakie są zalecenia ze strony Apple.

Dostajemy także nowe możliwości względem aplikacji na komputery. Urządzeniem wskazującym jest bardziej naturalna niż myszka dłoń(albo raczej palce). W aplikacjach mamy do dyspozycji zdarzenia pozwalające na reakcje na dotykanie(rozciąganie, zwężanie) dwoma placami na elementach interfejsu. Moim zdaniem daje to spore możliwości projektantom w operowaniu multimediami lub wykorzystania w grach.

Generalna zasada

Najprościej i najskuteczniej to obejrzeć przykłady aplikacji tudzież gotowe produkty dostępne w App Store. Obecnie poprzez wyprodukowane już programy formują się pewne standardy w interfejsie iPhone, dlatego o ile chcemy żeby produkt był użyteczny trzymajmy się standardów.

Podsumowanie

Pisanie oprogramowania na platformy mobilne to wiele szczegółów i niuansów, które są zauważalne dopiero jak się używa programu w środowisku docelowym. Prawdopodobnie, dlatego Apple udostępnił bardzo wierny symulator zachowania iPhona. Dlatego korzystajmy z wszystkich możliwości środowiska jakie dostarczył nam producent by tworzyć jak najlepsze oprogramowanie. Polecam także zapoznanie się z zaleceniami Apple w tworzeniu ludzkich interfejsów.

W następnych częciach przejdę do omówienia Objective-C, który jest głównym językiem programowania dostępny w iPhone SDK oraz do tworzenia pierwszej aplikacji czyli „Jak połączyć XCode Interface Builder i Simulator w celu uruchomiania aplikacji?”

Kolejne części samouczka