Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CocoonJS.pdf
Search
We Love JS
March 02, 2013
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CocoonJS.pdf
We Love JS
March 02, 2013
More Decks by We Love JS
See All by We Love JS
TypeScript.pdf
welovejs
0
310
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
410
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
67k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
450
Joys of Absence: A Defence of Solitary Play
codingconduct
1
550
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Writing Fast Ruby
sferik
630
63k
Transcript
Los orígenes • Todo empezó con iOS • Nueva plataforma:
iOS • Nuevo lenguage: ObjC • Toolkit para gráficos: Cocos2D soporta ObjC :D
Los orígenes
Nuevas plataformas • Android entra en escena • Nueva plataforma
• Nuevo lenguaje: Java • Toolkit para gráficos?: Cocos2D soporta Java :)
Nuevas plataformas
Nuevas plataformas • Y el browser? • Java: Back to
90s • Flash: ActionScript → otro lenguaje más? :(
Multiplataform: Round 1 • Lo más rápido: Herramientas de autor
• Multiplatarforma • Lenguage único: • Unity: Javascript, C# • Shiva: Lua, C++ • Torque: TorqueScript
Multiplatform: Round 1 • Problemas: • Precios licencias • Tecnología
de terceros • Solución para el browser: Plugins • No soportado en todos los navegadores • Usuario no quiere instalar más plugins
Resultado • iBasket: • iOS: ObjC • Android: Java •
Web: Unity
Multiplatform: Round 2 • Hagámoslo nosotros!
Multiplatform: Round 2 • Framework Multiplataforma C++: Cocoon • Capa
abstracción plataforma • Tipos, ciclos de vida, acceso hardware, filesystem, ... • Lenguaje único: C++ • Arquitectura orientada a servicios: Biwinning! • IOS y Android... cualquier otro con NDK • Abstracción servicios plataforma
Multiplatform: Round 2
Multiplatform: Round 2 • Pero y el navegador?
Meanwhile... • Aparece HTML5. • Standard → Sounds great! •
Desarrollamos CAAT • Director escena: gestor escenas, jerarquía, input, resoluciones, input,... • Independencia render: canvas, CSS o WebGL • Open Source • http://www.ludei.com/tech/caat
Meanwhile... • Pero y HTML5 en los móviles? • Problemas
de rendimiento • API incompleta • Faltan servicios de plataforma: Store, multiplayer, Ads,..
Meanwhile...
Multiplatform: Final Round • Tenemos por un lado • Cocoon:
Framework Multiplataforma C++ • Orientado a servicios • Por otro lado • HTML5 • CAAT: Toolkit gráfico JS HTML5 • Un problema: Rendimiento
Multiplatform: Final Round • Cocoon + JSVM → CocoonJS!
Arquitectura
Objetivos • Rendimiento nativo del canvas → OpenGL • Acceso
a facilidades de Hardware: • Vibración • Geolocalización • Brújula • Acelerómetro • ...
Objetivos • Acceso a servicios de plataforma: • Publicidad •
Analíticas • Stores • Multiplayer • Notificaciones • Redes sociales • ...
Soportamos todo HTML5? • Lo más importante para desarrollo juegos:
• Canvas • Audio • Websockets • LocalStorage • XMLHttpRequest • Geolocalización • … • http://wiki.ludei.com/cocoonjs:featurelist
Desarrollo con CocoonJS • Orientado a aplicaciones Canvas HTML5 •
Cíñete al estándar • Conoce las limitaciones • Utiliza un motor si no quieres reinventar la rueda • CAAT • ConstructJS • ImpactJS
Desarrollo con CocoonJS • Si quieres usar servicios de plataforma
no estándar, utiliza las librerías de CocoonJS
Rendimiento - Texturas • Vale cualquier cosa? • Texturas tamaño
potencia de 2 • Empaquetar texturas • Menos cambios contexto OpenGL • Menos desperdicio memoria
Rendimiento - Memoria • La plataformas móviles no son el
desktop • Gestión inteligente memoria • Cuidado con el garbage collection • Optimiza tu código
Herramientas - Launcher • Herramienta de testeo de desarrollo •
Disponible para iOS y Android • Actualizada con las últimas novedades y demos
Herramientas - Launcher • Puedes subir tus desarrollos o probarlos
en remoto • Mocks para servicios no disponibles • Testea en el Launcher hasta que todo vaya bien
Herramientas - Cloud • Cuando el desarrollo esté listo, súbelo
al Cloud • Configuración de servicios • Compilación multiplataforma “One-Click” • Subes el código • Te llega un correo para descargar paquetes para: • AppStore: IPA • PlayStore: APK • Amazon AppStore: APK • Chrome Web Store: .zip • Firefox Marketplace: .zip
Y ahora? • Más Markets: • Windows Phone • Blackbery
• Unbuntu Phone • Nook • … • WebGL • Ampliar oferta de servicios