Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CocoonJS.pdf

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for We Love JS We Love JS
March 02, 2013
170

 CocoonJS.pdf

Avatar for We Love JS

We Love JS

March 02, 2013
Tweet

Transcript

  1. Los orígenes • Todo empezó con iOS • Nueva plataforma:

    iOS • Nuevo lenguage: ObjC • Toolkit para gráficos: Cocos2D soporta ObjC :D
  2. Nuevas plataformas • Android entra en escena • Nueva plataforma

    • Nuevo lenguaje: Java • Toolkit para gráficos?: Cocos2D soporta Java :)
  3. Nuevas plataformas • Y el browser? • Java: Back to

    90s • Flash: ActionScript → otro lenguaje más? :(
  4. Multiplataform: Round 1 • Lo más rápido: Herramientas de autor

    • Multiplatarforma • Lenguage único: • Unity: Javascript, C# • Shiva: Lua, C++ • Torque: TorqueScript
  5. 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
  6. 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
  7. 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
  8. Meanwhile... • Pero y HTML5 en los móviles? • Problemas

    de rendimiento • API incompleta • Faltan servicios de plataforma: Store, multiplayer, Ads,..
  9. 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
  10. Objetivos • Rendimiento nativo del canvas → OpenGL • Acceso

    a facilidades de Hardware: • Vibración • Geolocalización • Brújula • Acelerómetro • ...
  11. Objetivos • Acceso a servicios de plataforma: • Publicidad •

    Analíticas • Stores • Multiplayer • Notificaciones • Redes sociales • ...
  12. Soportamos todo HTML5? • Lo más importante para desarrollo juegos:

    • Canvas • Audio • Websockets • LocalStorage • XMLHttpRequest • Geolocalización • … • http://wiki.ludei.com/cocoonjs:featurelist
  13. 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
  14. Desarrollo con CocoonJS • Si quieres usar servicios de plataforma

    no estándar, utiliza las librerías de CocoonJS
  15. Rendimiento - Texturas • Vale cualquier cosa? • Texturas tamaño

    potencia de 2 • Empaquetar texturas • Menos cambios contexto OpenGL • Menos desperdicio memoria
  16. Rendimiento - Memoria • La plataformas móviles no son el

    desktop • Gestión inteligente memoria • Cuidado con el garbage collection • Optimiza tu código
  17. Herramientas - Launcher • Herramienta de testeo de desarrollo •

    Disponible para iOS y Android • Actualizada con las últimas novedades y demos
  18. Herramientas - Launcher • Puedes subir tus desarrollos o probarlos

    en remoto • Mocks para servicios no disponibles • Testea en el Launcher hasta que todo vaya bien
  19. 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
  20. Y ahora? • Más Markets: • Windows Phone • Blackbery

    • Unbuntu Phone • Nook • … • WebGL • Ampliar oferta de servicios