SlideShare ist ein Scribd-Unternehmen logo
1 von 16
CONVERTIR WEB APP`S EN DESKTOP APP`S
CON NODE-WEBKIT
APP RUNTIME BASED ON CHROMIUM AND NODE.JS
JOSE GRATEREAUX
@JGRATEREAUX
https://github.com/gratereaux
CONCEPTOS BÁSICOS
¿node.JS?
ALGUNAS APPS
TweetDeck Sputnik (RSS reader)
Kindle Cloud Reader Weather-Map
ALGUNAS APPS
Popcorn Time LexiMail
A wizard`s Lizard (Game) Sqwiggle
¿QUE ES NODE-WEBKIT?
• Es un web app runtime
¿QUE ES NODE-WEBKIT?
• Integra funciones de Node.js dentro del
webkit
¿QUE ES NODE-WEBKIT?
• Multiplataforma, Se puede ejecutar en OS X,
Windows y Linux.
¿QUE ES NODE-WEBKIT?
• Fácil distribución y empaquetamiento
¿QUE ES NODE-WEBKIT?
• Puedes usar módulos de Node.js
¿QUE ES NODE-WEBKIT?
• Basado en Chromium y Node.js.
• Creado y desarrollado en Intel.
• Open source y publicado a github en Diciembre 2011.
• Soporta casi todas las características de HTML5.
• Audio y video soportado.
• Frameworks de juegos HTML5 como por ejemplo cocos2d trabajan
perfecto en node-webkit.
• Puedes instalar modulos de node.js usando el npm.
• Mas info en :
– https://github.com/rogerwang/node-webkit
EJEMPLOS - CASOS DE USO
• File explorer & file editor
– Puedes usar el modulo de node filesistem (fs) o HTML5 file API
– Puedes invocar dialogo de file select de javascript.
– Soporte de Dragging de archivos
– Demo de Node-webkit file explorer:
• https://github.com/zcbenz/nw-file-explorer
• Media applications
– getUserMedia es soportado en node-webkit.
– Camara y Audio recording es soportado (<video> y <audio> tags)
• Estructura de una app
CREANDO NUESTRO PROYECTO
CREANDO NUESTRO PROYECTO
Name: representa el nombre de
directorio de configuracion del app. En
Linux el app data sera guardado en
‘~/.config/nw-demo’, en Mac OS X en
‘~/Library/Application Support/nw-
demo’.
Window contiene la configuracion
de la ventana. Donde puedes
configurar ancho, alto, toolbar,
posicion, etc…
En Main se especifica la pagina
inicial que cargará el app.
CREANDO NUESTRO PROYECTO
• Al finalizar los codigos solo debemos:
– Empaquetarlo y ejecutarlo:
• Comprimirlo en un Zip
• Y ejecutarlo nw app.zip
• Podemos crear un standalone package con un
ejecutable
– En linux: $ cat nw app.nw > app
– En Windows: :/ copy /b nw.exe + app.nw nombre.exe
– En Mac OS X: cp app.nw nw/Contents/Resources/
Vamos a ver los códigos
CREANDO NUESTRO PROYECTO
GRACIAS
¿PREGUNTAS?
Algunos ejemplos:
https://github.com/zcbenz/nw-sample-apps

Weitere ähnliche Inhalte

Was ist angesagt?

Mi primera App con GAE
Mi primera App con GAEMi primera App con GAE
Mi primera App con GAE
GDG Lima
 
Mi primera app con GAE y GWT
Mi primera app con GAE y GWTMi primera app con GAE y GWT
Mi primera app con GAE y GWT
GDG Lima
 

Was ist angesagt? (20)

Presentación Adobe AIR para PlayBook - Reto BlackBerry
Presentación Adobe AIR para PlayBook - Reto BlackBerryPresentación Adobe AIR para PlayBook - Reto BlackBerry
Presentación Adobe AIR para PlayBook - Reto BlackBerry
 
Tutorial CodeIgniter + Netbeans 7
Tutorial CodeIgniter + Netbeans 7Tutorial CodeIgniter + Netbeans 7
Tutorial CodeIgniter + Netbeans 7
 
Desarrollando aplicaciones iOS con datos en tiempo real con Firebase y Swift
Desarrollando aplicaciones iOS con datos en tiempo real con Firebase y SwiftDesarrollando aplicaciones iOS con datos en tiempo real con Firebase y Swift
Desarrollando aplicaciones iOS con datos en tiempo real con Firebase y Swift
 
React redux workshop
React redux workshopReact redux workshop
React redux workshop
 
Git y drupal
Git y drupalGit y drupal
Git y drupal
 
IoT y Dispositivos
IoT y DispositivosIoT y Dispositivos
IoT y Dispositivos
 
Azure IoT Hub
Azure IoT HubAzure IoT Hub
Azure IoT Hub
 
Testeando aplicaciones Kubernetes: escalabilidad y tolerancia a fallos
Testeando aplicaciones Kubernetes: escalabilidad y tolerancia a fallosTesteando aplicaciones Kubernetes: escalabilidad y tolerancia a fallos
Testeando aplicaciones Kubernetes: escalabilidad y tolerancia a fallos
 
Mi primera App con GAE
Mi primera App con GAEMi primera App con GAE
Mi primera App con GAE
 
Sácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSSSácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSS
 
Gulp+bower
Gulp+bowerGulp+bower
Gulp+bower
 
Aplicaciones Real-Time con SignalR
Aplicaciones Real-Time con SignalRAplicaciones Real-Time con SignalR
Aplicaciones Real-Time con SignalR
 
Flujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendFlujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontend
 
Javascript vuela en primera clase con Firefox OS
Javascript vuela en primera clase con Firefox OSJavascript vuela en primera clase con Firefox OS
Javascript vuela en primera clase con Firefox OS
 
Gestión de documentos Office desde nuestras apps .NET con Open XML SDK
Gestión de documentos Office desde nuestras apps .NET con Open XML SDKGestión de documentos Office desde nuestras apps .NET con Open XML SDK
Gestión de documentos Office desde nuestras apps .NET con Open XML SDK
 
2018.sps madrid.spfx workshop
2018.sps madrid.spfx workshop2018.sps madrid.spfx workshop
2018.sps madrid.spfx workshop
 
Introduccion a Node.js
Introduccion a Node.jsIntroduccion a Node.js
Introduccion a Node.js
 
Mi primera app con GAE y GWT
Mi primera app con GAE y GWTMi primera app con GAE y GWT
Mi primera app con GAE y GWT
 
De escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincherasDe escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincheras
 
Introducción al framework Symfony
Introducción al framework SymfonyIntroducción al framework Symfony
Introducción al framework Symfony
 

Andere mochten auch

Client Case Study Media Publishing
Client Case Study   Media PublishingClient Case Study   Media Publishing
Client Case Study Media Publishing
Amy_Anderson
 
Uno de los nuevos desafíos del programa escolar 2008 estadística
Uno de los nuevos desafíos del programa escolar 2008   estadísticaUno de los nuevos desafíos del programa escolar 2008   estadística
Uno de los nuevos desafíos del programa escolar 2008 estadística
Daniela María Zabala Filippini
 
Historia del canton paute
Historia del canton pauteHistoria del canton paute
Historia del canton paute
crmen
 

Andere mochten auch (20)

LBC newsletter issue 11
LBC newsletter issue 11LBC newsletter issue 11
LBC newsletter issue 11
 
Web 2
Web 2Web 2
Web 2
 
Ri casipe bajo
Ri casipe bajoRi casipe bajo
Ri casipe bajo
 
CONECTATE 105: VEJEZ, CIELO
CONECTATE 105: VEJEZ, CIELOCONECTATE 105: VEJEZ, CIELO
CONECTATE 105: VEJEZ, CIELO
 
Client Case Study Media Publishing
Client Case Study   Media PublishingClient Case Study   Media Publishing
Client Case Study Media Publishing
 
Firmablogging - hvorfor
Firmablogging - hvorforFirmablogging - hvorfor
Firmablogging - hvorfor
 
Mobile only by google Breaking Mobile 2015
Mobile only by google Breaking Mobile 2015Mobile only by google Breaking Mobile 2015
Mobile only by google Breaking Mobile 2015
 
Comunicación para el éxito. Taller de Oratoria 2014 con @Matytchey y @AvanzaSf
Comunicación para el éxito. Taller de Oratoria 2014 con @Matytchey y @AvanzaSfComunicación para el éxito. Taller de Oratoria 2014 con @Matytchey y @AvanzaSf
Comunicación para el éxito. Taller de Oratoria 2014 con @Matytchey y @AvanzaSf
 
Construcción y operación del centro comercial suburbia carmen
Construcción y operación del centro comercial suburbia carmenConstrucción y operación del centro comercial suburbia carmen
Construcción y operación del centro comercial suburbia carmen
 
Presentación ympacto+
Presentación ympacto+Presentación ympacto+
Presentación ympacto+
 
La Persona Ante El Cosmos I
La Persona Ante El Cosmos ILa Persona Ante El Cosmos I
La Persona Ante El Cosmos I
 
El Mensajero Del Sol 70 1
El  Mensajero Del  Sol 70 1El  Mensajero Del  Sol 70 1
El Mensajero Del Sol 70 1
 
Reducing IT Complexity to Accelerate Digital Business
Reducing IT Complexity to Accelerate Digital BusinessReducing IT Complexity to Accelerate Digital Business
Reducing IT Complexity to Accelerate Digital Business
 
талалаївка рем
талалаївка ремталалаївка рем
талалаївка рем
 
Uno de los nuevos desafíos del programa escolar 2008 estadística
Uno de los nuevos desafíos del programa escolar 2008   estadísticaUno de los nuevos desafíos del programa escolar 2008   estadística
Uno de los nuevos desafíos del programa escolar 2008 estadística
 
About us
About usAbout us
About us
 
Practical Contract Law Understanding & Drafting Contracts for Non-Lawyers
Practical Contract Law Understanding & Drafting Contracts for Non-LawyersPractical Contract Law Understanding & Drafting Contracts for Non-Lawyers
Practical Contract Law Understanding & Drafting Contracts for Non-Lawyers
 
Historia del canton paute
Historia del canton pauteHistoria del canton paute
Historia del canton paute
 
Rotary Peace Centers 101
Rotary Peace Centers 101Rotary Peace Centers 101
Rotary Peace Centers 101
 
Comercio electrónico - Conceptos, Funcionalidad, Ejemplos
Comercio electrónico - Conceptos, Funcionalidad, EjemplosComercio electrónico - Conceptos, Funcionalidad, Ejemplos
Comercio electrónico - Conceptos, Funcionalidad, Ejemplos
 

Ähnlich wie Node-webkit

Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrasco
Manuel Carrasco Moñino
 

Ähnlich wie Node-webkit (20)

Introducción Nodejs
Introducción NodejsIntroducción Nodejs
Introducción Nodejs
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 
TRABAJO.ppt
TRABAJO.pptTRABAJO.ppt
TRABAJO.ppt
 
Netbeans ide 7.2
Netbeans ide 7.2Netbeans ide 7.2
Netbeans ide 7.2
 
Apps Days Firefox OS
Apps Days Firefox OSApps Days Firefox OS
Apps Days Firefox OS
 
Docker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJSDocker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJS
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
 
Taller girona
Taller gironaTaller girona
Taller girona
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrollo
 
Desarrollo de aplicaciones multiplataforma 1/2
Desarrollo de aplicaciones multiplataforma 1/2Desarrollo de aplicaciones multiplataforma 1/2
Desarrollo de aplicaciones multiplataforma 1/2
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualización
 
Ionic 2
Ionic 2 Ionic 2
Ionic 2
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrasco
 
Firefox OS App Days USACH 2014
Firefox OS App Days USACH 2014Firefox OS App Days USACH 2014
Firefox OS App Days USACH 2014
 
202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a Docker
 
Introduccion android
Introduccion androidIntroduccion android
Introduccion android
 
Jug málaga docker 101 - final
Jug málaga   docker 101 - finalJug málaga   docker 101 - final
Jug málaga docker 101 - final
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando docker
 

Kürzlich hochgeladen

Evaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdfEvaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdf
GuillermoBarquero7
 
2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx
EncomiendasElSherpa
 

Kürzlich hochgeladen (6)

ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOSESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
 
Caso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business CentralCaso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business Central
 
Evaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdfEvaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdf
 
Trabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - OfimáticaTrabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - Ofimática
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx
 

Node-webkit

  • 1. CONVERTIR WEB APP`S EN DESKTOP APP`S CON NODE-WEBKIT APP RUNTIME BASED ON CHROMIUM AND NODE.JS JOSE GRATEREAUX @JGRATEREAUX https://github.com/gratereaux
  • 3. ALGUNAS APPS TweetDeck Sputnik (RSS reader) Kindle Cloud Reader Weather-Map
  • 4. ALGUNAS APPS Popcorn Time LexiMail A wizard`s Lizard (Game) Sqwiggle
  • 5. ¿QUE ES NODE-WEBKIT? • Es un web app runtime
  • 6. ¿QUE ES NODE-WEBKIT? • Integra funciones de Node.js dentro del webkit
  • 7. ¿QUE ES NODE-WEBKIT? • Multiplataforma, Se puede ejecutar en OS X, Windows y Linux.
  • 8. ¿QUE ES NODE-WEBKIT? • Fácil distribución y empaquetamiento
  • 9. ¿QUE ES NODE-WEBKIT? • Puedes usar módulos de Node.js
  • 10. ¿QUE ES NODE-WEBKIT? • Basado en Chromium y Node.js. • Creado y desarrollado en Intel. • Open source y publicado a github en Diciembre 2011. • Soporta casi todas las características de HTML5. • Audio y video soportado. • Frameworks de juegos HTML5 como por ejemplo cocos2d trabajan perfecto en node-webkit. • Puedes instalar modulos de node.js usando el npm. • Mas info en : – https://github.com/rogerwang/node-webkit
  • 11. EJEMPLOS - CASOS DE USO • File explorer & file editor – Puedes usar el modulo de node filesistem (fs) o HTML5 file API – Puedes invocar dialogo de file select de javascript. – Soporte de Dragging de archivos – Demo de Node-webkit file explorer: • https://github.com/zcbenz/nw-file-explorer • Media applications – getUserMedia es soportado en node-webkit. – Camara y Audio recording es soportado (<video> y <audio> tags)
  • 12. • Estructura de una app CREANDO NUESTRO PROYECTO
  • 13. CREANDO NUESTRO PROYECTO Name: representa el nombre de directorio de configuracion del app. En Linux el app data sera guardado en ‘~/.config/nw-demo’, en Mac OS X en ‘~/Library/Application Support/nw- demo’. Window contiene la configuracion de la ventana. Donde puedes configurar ancho, alto, toolbar, posicion, etc… En Main se especifica la pagina inicial que cargará el app.
  • 14. CREANDO NUESTRO PROYECTO • Al finalizar los codigos solo debemos: – Empaquetarlo y ejecutarlo: • Comprimirlo en un Zip • Y ejecutarlo nw app.zip • Podemos crear un standalone package con un ejecutable – En linux: $ cat nw app.nw > app – En Windows: :/ copy /b nw.exe + app.nw nombre.exe – En Mac OS X: cp app.nw nw/Contents/Resources/
  • 15. Vamos a ver los códigos CREANDO NUESTRO PROYECTO

Hinweis der Redaktion

  1. Pop corn time
  2. Como su nombre indica (más o menos) es node.js corriendo sobre webkit… que dicho así no parece especialmente particular excepto porque resulta que el motor webkit va incluido dentro de tu aplicación. Node.js te proporciona un framework basado en javascript con el que desarrollar tu aplicación, y webkit te da el entorno “runtime” sobre el que ejecutarlo. En forma resumida: estás creando una página web sin tener que preocuparte de hacks para diferentes navegadores, ya que éste va dentro de tu app. El motor webkit que usarás está modificado para adaptarse al uso en aplicaciones de escritorio, donde muchas de las limitaciones de seguridad no son necesarias (no será un navegador de uso general a merced de ataques desde las webs por las que navegues) y por tanto tienes más libertad para acceder a recursos del sistema (como por ejemplo el sistema de ficheros). Además dado que dispones de versiones de node-webkit para distintas plataformas, el código que desarrolles en cualquiera de ellas será totalmente portable al resto.
  3. Name: representa el nombre de directorio de configuracion del app. En Linux el app data sera guardado en ‘~/.config/nw-demo’, en Mac OS X en ‘~/Library/Application Support/nw-demo’
  4. 1- bajamos el node-webkit y lo extraemos en una carpeta 2- creamos una carpeta del proyecto y coremos nmp init para crear el package.json 3- ponemos los datos 4- editamos el json, cambiamos el main por un html 5- agregamos la propiedad window en el json "window":{ "title": "Ejemplo de APP usando Node-webkit", "toolbar": true, "frame": true, "width": 850, "height": 500, "position": "center", "resizable": true, "icon": "sample.png" }, 6- creamos los archivos html y css segun el gusto 7- luego comprimimos a zip y cambiamos el nombre a "nombre" con extencion nw. 8 - luego cambio a false las propiedades de toolbar y frame para mostrar que se ocultan.
  5. https://github.com/zcbenz/nw-sample-apps