Távközlési és Médiainformatikai Tanszék Hálózatok és szolgáltatások szakirány. Szolgáltatások és alkalmazások. Apple App Store. Sándor Roland Martin



Hasonló dokumentumok
Mobil készülékek programozása

iphone és Android két jó barát...

Google Play és iphone App Store üzleti modell, alkalmazásfejlesztés. Szórádi Balázs BME TMIT Szolgáltatások és alkalmazások 2015

Mobil Informatikai Rendszerek

Mobil Informatikai Rendszerek

Mobilplatformok Merre tart a világ? Kis Gergely MattaKis Consulting

Mobil fizetési megoldások alkalmazása a GUIDE@HAND alkalmazás családban

Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás

Java I. A Java programozási nyelv

Több platform egy kódbázis Tanulságok a Tresorittól. Budai Péter, vezető fejlesztő

Visual Studio 2012 és MSDN. Csomagok és licencelés

Alkalmazás boltok. Android Market, Apple AppStore, WP7 MarketPlace Cserna Bence, Paksy Patrik

Bevezetés, platformok. Léczfalvy Ádám

A Java EE 5 plattform

MOBIL PLATFORMHÁBORÚ. Török Gábor

Windows XP. és Ubuntu. mi a különbség? Mátó Péter <mato.peter@fsf.hu> Windows XP vs Ubuntu Mátó Péter <mato.peter@fsf.

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

A szoftverfejlesztés eszközei

ios alkalmazásfejlesztés alapjai Nagy Aszter András BME MIK

Fejlesztői szemmel at K

STORE. Rajacsics Tamás BME AAIT

IBM WorkLight 5.0 mobil alkalmazás platform

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Pentaho 4: Mindennapi BI egyszerűen. Fekszi Csaba Ügyvezető október 6.

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata

A szoftverfejlesztés eszközei

Közösség, projektek, IDE

Mobilalkalmazás fejlesztés. Android I. előadás

Szoftver technológia. Build systems. Cserép Máté ELTE Informatikai Kar 2019.

A felhőről általában. Kacsuk Péter MTA SZTAKI

Szoftver technológia. Projektmenedzsment eszközök. Cserép Máté ELTE Informatikai Kar 2019.

Tegyünk nagyszerű dolgokat!

ARM Cortex magú mikrovezérlők. mbed

Dr. Schuster György október 30.

Felhőalkalmazások a. könyvvizsgálatban

Google App Engine az Oktatásban 1.0. ügyvezető MattaKis Consulting

RH/CentOS felügyelet SUSE Manager segítségével. Kovács Lajos Vezető konzultáns

Az NFC-technológia mindennapi életben való alkalmazásának vonzó lehetőségei

Code-a-thon. intenzív brainstorming és prototípus gyártás. Birtha Ákos CTO, Attrecto Zrt.

Szatmári Tamás Csicsics Tamás

Gyors, kényelmes, típusbiztos

Nokia N9 - MeeGo Harmattan bemutatkozik

Több app. Egy kódbázis

DWG fájlok megosztása, megtekintése és szerkesztése bárkivel, bárhol, bármikor

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

Flex: csak rugalmasan!

A Skype architektúrája. P2P hálózat Supernode ok, peer-ek, login server

ANDROID ALKALMAZÁS FEJLESZTÉS

Java I. A Java programozási nyelv

Symbian Nokia. A Symbian gyártója és a Nokia szabad forráskódúvá tette a Symbiant, így szabadon fejleszthetőek az applikációk a szoftverre.


Tartalomjegyzék. I. rész: Bevezetés. A szerzőről... xvii. Köszönetnyilvánítás... xix. Bevezetés... xxi. 1. Bevezetés az iphone programozásába...

Projekt beszámoló. NEWSIT News basedearlywarning System forintradaytrading: Hír alapú Korai Figyelmeztető Rendszer Napon belüli Kereskedéshez

Bevezetés. Kiknek szól a könyv?

RIEL Elektronikai Kft v1.0

JavaScript Web AppBuilder használata

H5P az e-learning kurzusokban és web oldalakon használható multimédiás szerzői rendszer

Apple ID készítése és vásárlás az AppStore áruházban

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Clang Static Analyzer belülről

*#Discount~ Kaspersky Internet Security - multidevice 2015 best software to buy for mac ]

A mobil nyelvtanár megvalósításának folyamata

C++ fejlesztés az ECLIPSE környezetben

A NetSupport School oktatást támogató rendszer

Egy egyszerű, gyors és szabad újratelepítő eszköz: upi

Objektum Vezérelt Szoftverek Analízise

Mobil operációs rendszerek. Készítette: Kisantal Tibor

MVC. Model View Controller

Microsoft SQL Server telepítése

Integrációs mellékhatások és gyógymódok a felhőben. Géczy Viktor Üzletfejlesztési igazgató

Vizuális, eseményvezérelt programozás XI.

Mobilizálódó OSZK. A nemzeti könyvtár mobileszközöket célzó fejlesztései az elmúlt időszakban. Garamvölgyi László. Networkshop, 2013.

Web harvesztelés. Automatikus módszerekkel

Én és az Ubuntu. Úr Balázs személyes tapasztalatai július 10. Én és az Ubuntu 1

A WORDPRESS TELEPÍTÉSÉNEK LÉPÉSEI

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Oracle GoldenGate Studio Nagyon rövid bemutató. Quick Talk. Gollnhofer Gábor

EBSCO PUBLISHING. Hogyan működik? október 2.

Gate Control okostelefon-alkalmazás

Gate Control okostelefon-alkalmazás

Virtualizációs technológiák és alkalmazások. Házi feladat. A Virtualbox. készítette: Andrus Tamás

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

Útmutató az OKM 2007 FIT-jelentés telepítéséhez

XCZ állományok ellenőrzése, átadása elektronikus beküldésre és közvetlen beküldése parancssori funkcióval az ÁNYK programban

Szoftver újrafelhasználás

.NET (Dot-NET) #1 (Bevezetés)

TANÚSÍTVÁNY. tanúsítja, hogy az. InfoScope Kft. által kifejlesztett. Attribútum tanúsítványok érvényességét ellenőrző SDK InfoSigno AC SDK v1.0.0.

Summer of LabVIEW The Sunny Side of System Design

Játékfejlesztés a Windows Phone 7 erejével

Hiba bejelentés azonnal a helyszínről elvégezhető. Egységes bejelentési forma jön létre Követhető, dokumentált folyamat. Regisztráció.

Informatikai Tesztek Katalógus

ERserver. iseries. Az iseries Access for Windows használatának megkezdése

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22

Java Programozó képzés A&K AKADÉMIA 2019.

CUCM 6.0 è 9.1 migráció a gyakorlatban

Cross platform játékmotor + szerkesztő Támogatott platformok

Átírás:

Távközlési és Médiainformatikai Tanszék Hálózatok és szolgáltatások szakirány Szolgáltatások és alkalmazások Apple App Store Sándor Roland Martin

Indulás, kezdetek 2007. június: megjelenik az iphone (kb. 20 alkalmazással) 2008. március: megjelenik az iphone SDK 2008. július: App Store indulás itunes frissítéssel Megjelenik az iphone 3G, iphone 2.0.1 szoftverrel, App Store támogatással A megjelenést követő első hétvégén (júl. 11-13.) 10 millió alkalmazás letöltés 2014.03.17. Sándor Roland Martin 2

App Store ios alkalmazások terjesztésére szolgáló digitális platform Alkalmazások böngészhetők és letölthetők Közvetlenül ios eszközre (iphone, ipad, ipod) PC-re itunes-szal Vásárlás: free, paid és in-app monetization Típusok: (Top) free / paid, Top grossing apps Általánosságban egy egységes piac, azonban vannak nemzeti határok Age Rating icloud Minden országnak saját App Store-ja van 4+, 9+, 12+, 17+ és No Rating Nem egyértelmű, számos gray area és képmutatás Megvásárolt alkalmazások, zene, stb. tárolására, így az összes ios eszközön elérhető (5 GB ingyenes tárhely) 2014.03.17. Sándor Roland Martin 3

App Store statisztikák Number of available apps in the itunes App Store from 2008 to 2013 (cumulative) Cumulative number of apps downloaded from the Apple Store from June 2008 to October 2013 (in billions) 2014.03.17. Sándor Roland Martin 4

Alkalmazás bevételek 2014.03.17. Sándor Roland Martin 5

Üzleti modell Az Apple felhasználók jellemzően vásárolnak fizetős alkalmazásokat A fejlesztőknek anyagilag jobban megéri ios-re fejleszteni A fejlesztő határozza meg az alkalmazás árát Az Apple jobban kedveli a fizetős alkalmazásokat Az ingyenes alkalmazások terjesztéséből nem szerez hasznot A fizetős alkalmazás 30%-át az Apple, 70%-át a fejlesztő kapja További bevételi források In-App Purchase Ingyenes és fizetős alkalmazásban prémium tartalom, előfizetés vásárlása Freemium Business Model Az alkalmazás ingyen letölthető, használható Egyes további funkcionalitások, kiterjesztések már fizetősek 2014.03.17. Sándor Roland Martin 6

Fejlesztés 1 App Strore-ban való megjelenéshez a fejlesztett alkalmazást az Apple-nek alá kell írnia Alapvető megbízhatósági tesztek és vizsgálatok Approval / Rejection (felhasználói helyzet reklámozáshoz, nem dokumentált API használata) Ad-hoc terjesztés:.ipa fájl csak az Apple által engedélyezett eszközökre Guidelines: segít megelőzni, elkerülni a problémákat a jogi, erőszakos, kérdésekben App Store Review Guidelines ios Human Interface Guidelines UI Design Dos and Don ts ios Developer Programs ios Developer Program ($99/year) ios Developer Enterprise Program ($299/year) Cégeknek, szervezeteknek, kormányzati szerveknek belső használatra készített alkalmazások ios Developer University Program (Free) 2014.03.17. Sándor Roland Martin 7

Fejlesztés 2 Natív szoftverfejlesztés Objective-C-ben írt, gépi kódra lefordított alkalmazás Felhasználhatóak C/C++ kódban írt könyvtárak/kódrészletek ios alkalmazások bundle-ök formájában léteznek AppName.app nevű meghatározott felépítésű könyvtár (alkalmazás binárisok, erőforrások) App ID: minden alkalmazáshoz egy egyedi (programozó által választott) azonosító tartozik (pl.: hu.developer.app) Az alkalmazás telepítéshez egy meghatározott helyre kell másolni Az alkalmazások framework-ökön keresztül érik el az ios funkciókat Framework: DLL + erőforrások + header-ök 2014.03.17. Sándor Roland Martin 8

Fejlesztés 3 Sandbox / Fájlrendszer Sandbox környezet Az alkalmazás nem tud akárhová írni a háttértáron, csak a saját sandbox írható (biztonságos, könnyen karbantartható) Az alkalmazások közötti kommunikáció erősen korlátozott Minden resource a sandbox-on belül van Documents: minden, amivel a felhasználó dolgozni szeretne (létrehozott fájlok, letöltött képek, adatbázis) Documents/Inbox: más alkalmazásoktól származó fájlok Library: alkalmazás specifikus, de nem felhasználói fájlok Library/cache: letöltött tartalmak, igény esetén újra letölthetők tmp: átmeneti tárolásra (túl nagy, hogy a memóriába tegyük, nem akarjuk, hogy sokáig megmaradjon) 2014.03.17. Sándor Roland Martin 9

Fejlesztés 4 Külső (3rd-party) kódkönyvtárak használata gyakori UI elemek: Cocoa Controls Core Data segítő, hálózati kommunikáció egyszerűsítése, REST hívások Általában forráskód formájában érhetőek el A források bemásolhatók a saját projektbe, így belefordul az alkalmazásba (függőségek feloldása) Cocoapods: ios Dependency Manager Megadhatók a külső kódkönyvtáraktól való függőségek (letölthetők és frissíthetők) A kódkönyvtárak git repository-ban elérhetővé tehető (a Cocoapods-hoz be kell regisztrálni) A függőségek Podfile nevű szöveges fájlban vannak leírva Műveletek: pods install, pods update pl.: AFNetworking, CocoaLumberJack, RestKit 2014.03.17. Sándor Roland Martin 10

Fejlesztőeszközök Xcode: Editor, Interface builder, Debugger, Compiler, ios SDK ios Simulator iphone és ipad Mac OS X alatt való szimulálása Hardveres képességek szimulálása: orientáció, hardver gombok, rázás, szimulált pozíció Instruments Futási idejű elemző (profiler) Képes mérni és kielemezni az alkalmazások különféle futás idejű tulajdonságait: memóriafogyasztás, energiafogyasztás, hálózati forgalom, stb. 2014.03.17. Sándor Roland Martin 11

Debug, Tesztelés, Static analyzer Asserting Tesztelés Xcode-ba épített funkció, mely kielemzi a forráskódot még a futás előtt, több hibát képes jelezni (pl. memóriaszivárgás) Olyan feltételeket fogalmazunk meg, melyeknek teljesülniük kell a helyes működéshez, ha a megadott feltétel nem teljesül leáll a futás OCUnit (XCUnit): SDK-ban beépítve megtalálható unit tesztelő keretrendszer, a tesztek egymástól függetlenül (izoláltan) futnak le TestFlight: bétatesztelést segítő szolgáltatás Automatizált UI tesztelés (teszt szkript írása Instruments használatával) CocoaLumberjack AppleDoc Loggoló library, képes többszintű logolásra és logolni különböző helyekre Apple-szerű dokumentáció generálása közvetlenül a forráskódból (~Javadoc) 2014.03.17. Sándor Roland Martin 12

Fejlesztés Xamarin-nal C# /.NET alapú cross-platform fejlesztés ios / Android / Windows Phone platformokra Natív alkalmazások készítése Windows-on / OS X-en Ahead-Of-Time (AOT) fordítás: IL kódból még a fejlesztői gépen ios bináris kód fordul (tehát nem JIT) Működik a.net garbage collection és elérhetőek a.net class library-k Szimulátoron való tesztelés továbbra is OS X-en Xamarin with Visual Studio / Xamarin Studio Amire alkalmas: nagy, komplex közös üzleti logika / adatréteg / hálózati kommunikáció, viszonylag vékony UI-réteggel Kódbázis módosítás nélküli újrafelhasználása A felületet minden platformhoz natív módon kell újrafejleszteni 2014.03.17. Sándor Roland Martin 13

Sprite Kit ios 7-en beépített keretrendszer 2D játékok fejlesztéséhez, az Apple válasza a 3rd-party megoldásokra (pl. Cocos2D) Előnyök: ios-be beépített, nincs szükség külső library-kre; támogatja a texture atlase-okat, részecskéket Hátrányok: ios-hez kötöttség, kezdeti állapotban van Az eszköz grafikus hardverét használja 2D képek előállításához magas FPS szám mellett Támogatott tartalmak: (nem) textúrázott téglalapok (sprite-ok), szöveg, tetszőleges CGPath-alapú alakzatok, videó Effektek, animációk használhatók 2014.03.17. Sándor Roland Martin 14

Kérdések? Köszönöm a figyelmet! 2014.03.17. Sándor Roland Martin 15