"multiplatformní" je sprosté slovo!?
Post on 14-Aug-2015
315 Views
Preview:
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