Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński

Podobne dokumenty
Temat 3. Projektowanie interfejsu użytkonwnika Kalkulator pierwszy program dla IOS

Programowanie dla ios

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C

Programowanie dla ios

Programowanie dla ios

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

OBC01/TOPMOB Projektowanie w języku Objective-C

Programowanie dla iphone projektowanie interfejsu użytkownika

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

Dzięki szkoleniu. Dni: 3. Opis: Adresaci szkolenia

Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C

BUDOWA APLIKACJI NA PLATFORMĘ IPHONE/IPAD. dr inż. Marcin Tomana

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Temat 4. Storyboard i element interfejsu użytkownika Gra w kulki- część 1

SpriteKit. Biblioteka do tworzenia gier wbudowana w SDK. Wspiera grafikę 2D w oparciu o sprite y

Wymagania systemowe dla Qlik Sense. Qlik Sense February 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Program jest ciągle uaktualniany tak, aby zawsze uwzględnić najnowszą wersję ios SDK.

Instrukcja laboratoryjna cz.3

Zdarzenia Klasa Application Powiadomienia Toast AlertDialog

Wymagania systemowe dla Qlik Sense. Qlik Sense June 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.h>

Programowanie w Objective-C na platformie ios-old

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Wymagania systemowe dla Qlik Sense. Qlik Sense June 2017 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

Programowanie obiektowe

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

SKRÓCONY PODRĘCZNIK UŻYTKOWNIKA PROGRAMU. NOKIA PC SUITE 4.51a for Nokia Copyright 2002 Nokia Corporation. Wszelkie prawa zastrzeżone.

Języki i techniki programowania Ćwiczenia 2

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Programowanie obiektowe

tel. (+48 81) /22 fax (+48 81) Cel przedmiotu

Programowanie Obiektowe GUI

Programowanie współbieżne i rozproszone

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Misja #1 Poznajemy Prophio.

MODUŁ INTEGRUJĄCY ELEKTRONICZNEGO NADAWCĘ Z WF-MAG SPIS TREŚCI

IBM SPSS Statistics dla systemu Windows Instrukcje instalacji (licencja sieciowa)

Projekt z przedmiotu Specjalizowane języki programowania Temat: Zastosowanie programowania obiektowego w środowisku LabView

Materiały informacyjne o aplikacjach mobilnych Getin Banku na stronę:

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Baza danych sql. 1. Wprowadzenie

Wprowadzenie do Objective-C

AMD Ryzen recenzja procesora. Wpisany przez Mateusz Ponikowski Piątek, 11 Październik :47

Programowanie na poziomie sprzętu. Programowanie w Windows API

SYSTEM OPERACYJNY. Monika Słomian

Java jako język programowania

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Wprowadzenie do biblioteki klas C++

Delphi podstawy programowania. Środowisko Delphi

Wykład 8: klasy cz. 4

I. Proces aktywacji iphone 3G.

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Program V-SIM tworzenie plików video z przebiegu symulacji

Paweł Skrobanek. C-3, pok

Laboratorium programowania urządzeń mobilnych

MVVM Light Toolkit. Julita Borkowska

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Archiwum DG 2016 PL-SOFT

SPECYFIKACJA TECHNICZNA OPROGRAMOWANIA

Dokumentacja aplikacji Szachy online

PyPy's Approach to Virtual Machine Construction

1.2. Architektura rdzenia ARM Cortex-M3...16

Wymagania systemowe dla Qlik Sense. Qlik Sense 3.1 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

PRZEWODNIK PO ETRADER PEKAO ROZDZIAŁ I. JAK ZACZĄĆ PRACĘ Z ETRADER PEKAO? SPIS TREŚCI

etrader Pekao Podręcznik użytkownika Jak zacząć pracę z etrader Pekao?

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Forum Client - Spring in Swing

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA: 4 ŚRODKI DYDAKTYCZNE:

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA

Nowy sposób autoryzacji przelewów w Usłudze Bankowości Elektronicznej

Konwersja maszyny fizycznej na wirtualną.

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...

C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści

Rozdział 5. Administracja kontami użytkowników

Programowanie obiektowe

Programowanie obiektowe. Wprowadzenie

SKRÓCONY PODRĘCZNIK UŻYTKOWNIKA PROGRAMU. NOKIA PC SUITE 4.81 for Nokia 6310i. Copyright 2001 Nokia Corporation. Wszelkie prawa zastrzeżone.

Podstawy programowania obiektowego

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

IBM SPSS Statistics dla systemu Windows Instrukcje dotyczące instalacji (licencja sieciowa)

Jak zainstalować program Photosynth i przygotowywać swoje projekty

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Dokumentacja techniczna

INSTRUKCJA INSTALACJI URZĄDZENIA


APLIKACJA SHAREPOINT

Temat 13. Czujniki Dlaczego Twój Smartfon jest taki smart?

Transkrypt:

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński

Plan Prezentacji. Programowanie ios. Jak zacząć? Co warto wiedzieć o programowaniu na platformę ios? Kilka słów na temat Obiective-C. Wstęp do modelu Model-View-Controller. Jak stworzyć pierwszą aplikacje? Zademonstrowanie działania. Tworzenie gier na iphone:obiectve-c Cocos2d. Tworzenie gier na Windows Phone: C# XNA.

Programowanie ios. O App Store. 5 marca 2012 roku Apple ogłosiło, iż z App Store pobrana została 25-cio bilionowa aplikacja. Obecnie App Store oferuje ok. 550 000 aplikacji dla 315 milionów użytkowników iphonów, ipodów i ipadów w 123 krajach.

Niezbędny sprzęt. Komputer Mac, oparty o platformę Intel i działający pod kontrolą systemu operacyjnego OSX w wersji 10.6.x (Snow Leopard) bądź nowszej. Xcode - jest to kompleksowe środowisko programowania dla systemów OSX oraz ios. Aplikację można bezpłatnie pobrać z Mac-App Store.

Programowanie ios. Jak zacząć? Rejestracja w programie developerskim Apple - ios Developer Program. https://developer.apple.com/

Co warto wiedzieć o programowaniu na platformę ios? Tylko jedna aktywna aplikacja. Tylko jedno okno. 960x640 iphone 4. 640 x 1136 iphone 5. Ograniczone zasoby systemowe. (Sym. Xcode) iphone 5: RAM: 1 GB LPDDR2 edram. Procesor CPU: 2 rdzenie, dynamiczny zegar 800-1300 MHz, architektura ARMv7

Kilka słów na temat Obiective-C. Język Objective-C rozszerza możliwości C poprzez dostarczenie funkcji zorientowanych obiektowo. Zastosowany tutaj model programowania zorientowanego obiektowo polega na wysyłaniu wiadomości obiektom. Możliwość wykorzystania bibliotek C (lub C++) w aplikacjach Objective-C.

Obiective-C. Automatic Reference Counting i Garbage Collection. Używają metody: Zliczanie referencji (ang. reference counting). ARC brak zabezpieczania: wzajemne (cykliczne) odwołania. ARC nie śledzi działania programu, w czasie kompilacji dopisuje, uzupełnia kod o komendy zwalniania pamięci. GC jest mniej wydajne niż ARC. Ale zapewnia niezawodne zwalnianie pamięci.

Wstęp do Model - View - Controller. - Model - wszelkie klasy odpowiedzialne za dane naszej aplikacji, - View - elementy interfejsu graficznego użytkownika, okna, widoki, przyciski, suwaki itd., - Controller - kod wiążący interfejs aplikacji z jej danymi.

Wstęp do Model - View - Controller. Głównym celem wzorca jest taka separacja kodu, aby wszystkie wspomniane elementy były od siebie jak najbardziej niezależne.

Wstęp do Model - View - Controller. Znaczy to tyle, że nasz model nie wie nic o interfejsie aplikacji, podobnie GUI jest całkowicie niezależne od danych. Kontroler jest tym, co łączy interfejs graficzny z danymi.

Wstęp do Model - View - Controller. Komunikacja GUI z kontrolerem odbywa się za pomocą mechanizmu zwanego target - action. Element interfejsu w razie konieczności (np. gdy użytkownik wciśnie przycisk na ekranie) przekazuje odpowiedniemu kontrolerowi (target) akcję do wykonania (action). -(IBAction)Klik:(id)przycisk;

Jak stworzyć pierwszą aplikacje? Uruchommy Xcode i utwórzmy nowy projekt wybierając szablon. AppDelegate klasa odpowiedzialna za działanie naszej aplikacji np. utworzenie okna. Nazwa-info.plist plik z postawowymi danymi o naszej aplikacji.

Atrybuty. atomic - używając tego atrybutu, generowany jest setter i getter synchroniczny, chodzi o operacje wielowątkowe i zabezpieczeniem się przed dostępem do obiektu z dwóch wątków jednocześnie. nonatomic przeciwieństwo atomic, setter i getter jest generowany bez synchronizacji. retain oznacza, że jesteśmy odpowiedzialni za zwolnienie obiektu z pamięci.

Atrybuty. assign - jest to tzw. słaba referencja, nie zwiększa ona licznika referencji do obiektu, najczęściej używana przy definicji delegatów, oraz wskaźników na prymitywne typy języka C. copy wykonuje kopie obiektu, za którą jesteśmy odpowiedzialni, musimy ja wyrzucić z pamięci. Tego atrybutu powinno się używać, gdy obiekt może się zmieniać (mutable object):

Atrybuty. strong jest to coś na wzór retain, ustawiamy silna referencja do obiektu, przez co licznik referencji jest zwiększany o jeden, oczywiście kompilator sam martwi się o usuwanie obiektu. weak coś podobnego do atrybutu assign słaba referencja z tą różnicą, że gdy obiekt na którego wskazujemy został usunięty a my chcemy się do niego odwołać, zwrócona wartość będzie nil ponieważ obiekt nie istnieje.

Zademonstrowanie działania. Przykładowa aplikacja. Zakupy: Model: Spis.plist. Controller: Dodaj(), ObliczCene(). View: UIButton * Dodaj, UIButton * Oblicz, UITextView * Text; IBOutlet, IBAction, @synthesize.

Tworzenie prostych gier na iphone:cocos2d. Demonstracja.

Tworzenie gier na Windows Phone: C# XNA. Demonstracja.