"Multiplatformní" je sprosté slovo!?
-
Upload
trinerdis -
Category
Technology
-
view
315 -
download
6
Transcript of "Multiplatformní" je sprosté slovo!?
![Page 1: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/1.jpg)
„Multiplatformní“ je sprosté slovo!?
Pavel ŽákRadek Bartoň
![Page 2: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/2.jpg)
„Multiplatformní“ aplikace
![Page 3: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/3.jpg)
Naše požadavky- Android + iOS + WEB- možnost kombinace s nativním API
![Page 4: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/4.jpg)
Co s tím?- vlastní řešení/engine- HTML + js- framework- nedělat to :)
![Page 5: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/5.jpg)
Vlastní engine- S&M- znovu-vynalezení kola- fuška s UI- t(engine) << t(aplikace)
![Page 6: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/6.jpg)
Trocha nostalgie:- OpenGL ES2, C++- beta forewer
![Page 7: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/7.jpg)
HTML+js- funguje všude- funguje ale stejně?- středa – výkonu třeba!
![Page 8: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/8.jpg)
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
![Page 9: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/9.jpg)
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)
![Page 10: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/10.jpg)
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
![Page 11: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/11.jpg)
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) { ... }
}
![Page 12: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/12.jpg)
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
![Page 13: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/13.jpg)
PlayN + Android+ nativní běh+ OpenGL- podpora nativních obrazovek (lze řešit)- portrait/landscape orientace, obojí ne- lagy zvuků (MP3)
![Page 14: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/14.jpg)
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
![Page 15: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/15.jpg)
PlayN + HTML+ vysoce optimalizovaný JS
+ OpenGL canvas- problémy na IE>10, chybí podpora IE>9- „void“ balíček cca 20 MB
![Page 16: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/16.jpg)
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
![Page 17: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/17.jpg)
Pokračování příště ?
![Page 18: "Multiplatformní" je sprosté slovo!?](https://reader034.fdocument.pub/reader034/viewer/2022042615/55cd8e71bb61eb9f228b4613/html5/thumbnails/18.jpg)
Flame!