"multiplatformní" je sprosté slovo!?

Post on 14-Aug-2015

315 Views

Category:

Technology

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

„Multiplatformní“ je sprosté slovo!?

Pavel ŽákRadek Bartoň

„Multiplatformní“ aplikace

Naše požadavky- Android + iOS + WEB- možnost kombinace s nativním API

Co s tím?- vlastní řešení/engine- HTML + js- framework- nedělat to :)

Vlastní engine- S&M- znovu-vynalezení kola- fuška s UI- t(engine) << t(aplikace)

Trocha nostalgie:- OpenGL ES2, C++- beta forewer

HTML+js- funguje všude- funguje ale stejně?- středa – výkonu třeba!

HTML+js na iOS- ObjC-<js:

StringByEvaluatingJavaScriptFromString:

- js -< ObjC:window.location = „vlastní url scheme“

a odchycení vShouldStartLoadWithRequest:

- (problém s preloadem zvuků)- od iOS7 více striktní interpret

HTML+js na Androidu- problémy s verzemi (WebView, HW

akcelerace, clearRect())- problémy s výrobci HW (touch události)- výkon vykreslování!!!- pouze MP3 (velký lag ve smyčce)

PlayN- komunitní Google projekt

(http://code.google.com/p/playn/)- platformy Java, Android, iOS, HTML5,

(Flash)- UI a animační nadstavba Triple Play (

https://github.com/threerings/tripleplay)

PlayN hra dne: Division cell

public class HelloGame extends Game.Default { public HelloGame() { super(UPDATE_RATE); }

@Override public void init() { ... }

@Override public void update(int delta) { ... }

@Override public void paint(float alpha) { ... }

}

PlayN- multiplatformní build přes Maven (Gradle)- vrstvy, canvas, transformace- moduly: graphics, audio, assets, storage,

keyboard, pointer, touch, mouse, net, json, analytics, log - další lze relativně snadno dopsat

- HTML5 pomocí GWT

PlayN + Android+ nativní běh+ OpenGL- podpora nativních obrazovek (lze řešit)- portrait/landscape orientace, obojí ne- lagy zvuků (MP3)

PlayN + iOS- java, maven, Xamarin.ios, C# – WHAAT?!!!- „hra“ jako dll- vlastní UIWindow- nefunkční preload zvuků -< OpenAL- náběh na schizofrenii- pouze Java 6- ikvm neumí number format

PlayN + HTML+ vysoce optimalizovaný JS

+ OpenGL canvas- problémy na IE>10, chybí podpora IE>9- „void“ balíček cca 20 MB

Jiné možnosti? (alespoň pro hry)- Adobe AIR- Unity- Cocos2D- Marmalade- Appcelerator- GameSalad, Corona, Sparrow, ..

Na domácí počtení:- přednášky z mDevCamp 2013:

https://www.dropbox.com/sh/wxea4ilasosdwrz/JugxbAKOkL/107%20%28Jan%C3%A1k%29

Pokračování příště ?

Flame!

top related