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

CocoonJS.pdf

We Love JS
March 02, 2013
160

 CocoonJS.pdf

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