SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Headless Applications
Joel Ortíz
Diciembre 06 de 2013
Joel Ortíz
 BlackBerry Elite Member &
Community Manager
 Adobe Certified Instructor,
Expert & Adobe Community
Manager
 Active BlackBerry Alliance
Partner
 StarWars FanBoy
2
¿Qué es una Headless App?
 Es una aplicación que corre por detrás
sobre el OS BlackBerry 10.
 A diferencia las aplicaciones
convencionales con una UI y un Active
Frame asociado, las Headless App no
están bajo el control directo de un
usuario.

3
Tipos de Headless App
 Short-running Apps: este tipo de aplicaciones no requiere estar
corriendo todo el tiempo, comúnmente son disparadas por un
evento durante corto tiempo. Estas aplicaciones pueden ser
por ejemplo: notificaciones push, receptores de mensajes
SMS, downloaders (para suscripciones de podcasts o revistas)
o trackers de localización.
 Long-running Apps: este tipo de aplicaciones comúnmente
corren por un periodo largo de tiempo para monitorear cierta
actividad en el dispositivo como podrían ser clientes de
mensajería instantánea, loggers de actividad, etc.

4
¿Cómo funcionan?
 Ambos tipos de Headless App usan disparadores de eventos
(triggers). Un trigger es simplemente un evento que ejecuta la
aplicación. Como mencionamos anteriormente este evento
podrías ser un mensaje SMS, un cambio de ubicación, etc.
 Una vez disparada la Headless App puede funcionar como una
aplicación short-running o long-running dependiendo la tarea
que se desee realizar para controlar el evento.

5
¿Cómo se crean?
 Solo se requieren de dos partes:



UI
Headless

 Modificar los puntos de entrada
 Solicitar permiso del usuario
 Usar Invocation Framework para habilitar que la aplicación sea
disparada cuando el evento ocurre.

6
Proceso de una Headless App

7
Application Life Cycle
Ciclo de vida
 Las Headless App pueden ser iniciadas o detenidas basandose
en la disponibilidad de los recursos. Si el dispositivo BlackBerry
10 esta agotando los recursos del sistema como la batería o
RAM, la aplicación recibe un mensaje de stop y da tiempo para
guardar su estado y cerrarse.
 Cuando se están agotando los recursos del dispositivo, se
detienen los procesos dependiendo de su importancia. Los
procesos críticos son considerados los más importantes y
procesos de detenido son los menos importantes para el
usuario.

9
Niveles de importancia
 Critical: procesos que deben ejecutarse en todo momento
(procesos del sistema)
 Foreground: procesos que corren en primer plano
 Background: procesos que corren de fondo
 Stop: procesos que se cargan a la RAM

10
Application Life Cycle
Niveles de importancia
 Por default, las Headless App pueden ocupar solo 3 MB de
memoria. Este limite solo aplica para la parte Headless de la
aplicación, la parte de interfaz de usuario puede ocupar más de
3 MB de memoria. Esta cantidad de memoria debe ser
suficiente para la mayoría de Headless App porque la parte
Headless no incluye activos.
 El CPU que se asigna a una Headless App es entre 7% y un
25% cuando se ejecuta en segundo plano. Algo importante
acerca de la asignación de CPU es que la parte de Headless
recibe una cantidad limitada de tiempo en comparación con
una aplicación normal.
 Operaciones o cálculos de larga duración no deben ser
realizados en la parte Headless.
12
Performance y batería
 Las Headless App deben funcionar durante poco tiempo como
sea posible para minimizar el consumo de batería y optimizar
el rendimiento del dispositivo.
 Por default la duración cada vez que se invoca (activa) tiene
una duración de 20 segundos, sin embargo por medio de
permisos adicionales (_sys_headless_nostop) puede ampliarse
ese tiempo de duración inclusive determinarlo como indefinido.

13
Handling Notifications
Notification service
 Cuando una Headless App requiere informar de un evento
disparado al usuario dependiendo la configuración, la
aplicación pueden enviar una notificación.
 Debido a que no pueden tener UIs asociadas en primer plano
de forma directa, las Headless App usan el Notification Service
para realizar esas notificaciones.
 Reproducir audio, vibración del dispositivo, notificaciones en
BlackBerry HUB y previsualizaciones instantáneas son parte
de los tipos de notificaciones que se pueden emplear.

15
Notification service

16
Communicating Between th UI and
Headless Parts
Interprocess Comunication Technique
 Se puede emplear ICT para comunicar las partes Headless con
la parte UI de su aplicación.




Invocation Framework
Local Sockets (comunicación en tiempo real)
QSettings and file monitoring (comunicación persistente)

 Se puede emplear una de las técnicas anteriores o
combinarlas según la necesidad de su aplicación

18
Closing Headless App
Cerrando la aplicación
 El usuario puede cerrar una Headless App desde:


Settings -> App Manager -> Device Monitor -> {name app} -> CPU -> Stop

 Siempre hay que considerar que las Headless App se pueden
ejecutar por default por un tiempo de 20 segundos, por lo que
podemos detener la aplicación antes de haber culminado el
tiempo.
 La parte de UI puede consultar para determinar si se esta
ejecutanto la parte Headless y enviar una Signal para indicar
que se debe cerrar la parte Headless.
 Para aplicaciones Long-running debe considerarse a
conciencia para ahorrar bateria o CPU
20
Gracias por su atención
¿Preguntas?
@flashinstructor
joelortiz@blackberrydeveloper.mx

Mais conteúdo relacionado

Semelhante a Headless Applications (20)

Proteccion android
Proteccion androidProteccion android
Proteccion android
 
Los mi dlets_imprimible
Los mi dlets_imprimibleLos mi dlets_imprimible
Los mi dlets_imprimible
 
"Android de la A a la Z" -- Unidad 4
"Android de la A a la Z" -- Unidad 4"Android de la A a la Z" -- Unidad 4
"Android de la A a la Z" -- Unidad 4
 
Gestion de memoria_en_android
Gestion de memoria_en_androidGestion de memoria_en_android
Gestion de memoria_en_android
 
Clase 3 software
Clase 3   softwareClase 3   software
Clase 3 software
 
"Android de la A a la Z" -- Unidad 8
"Android de la A a la Z" -- Unidad 8"Android de la A a la Z" -- Unidad 8
"Android de la A a la Z" -- Unidad 8
 
Android de la A a la Z - Unidad 8
Android de la A a la Z - Unidad 8Android de la A a la Z - Unidad 8
Android de la A a la Z - Unidad 8
 
Actividad no. 3 dispositivos moviles
Actividad no. 3 dispositivos movilesActividad no. 3 dispositivos moviles
Actividad no. 3 dispositivos moviles
 
Marco teorico
Marco teoricoMarco teorico
Marco teorico
 
Aplicaciones
AplicacionesAplicaciones
Aplicaciones
 
Lorena bernal trabajo
Lorena bernal trabajoLorena bernal trabajo
Lorena bernal trabajo
 
Aplicaciones
AplicacionesAplicaciones
Aplicaciones
 
Los MIDlets
Los MIDletsLos MIDlets
Los MIDlets
 
Los mi dlets_imprimible
Los mi dlets_imprimibleLos mi dlets_imprimible
Los mi dlets_imprimible
 
Materitopicos.pdf
Materitopicos.pdfMateritopicos.pdf
Materitopicos.pdf
 
King root
King rootKing root
King root
 
Curso Android Tema 2
Curso Android Tema 2Curso Android Tema 2
Curso Android Tema 2
 
Aplicacion de escritorio
Aplicacion de escritorioAplicacion de escritorio
Aplicacion de escritorio
 
Informatica I - 4 programas de aplicación
Informatica I - 4 programas de aplicaciónInformatica I - 4 programas de aplicación
Informatica I - 4 programas de aplicación
 
Clasificación del software
Clasificación del softwareClasificación del software
Clasificación del software
 

Último

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (15)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Headless Applications

  • 2. Joel Ortíz  BlackBerry Elite Member & Community Manager  Adobe Certified Instructor, Expert & Adobe Community Manager  Active BlackBerry Alliance Partner  StarWars FanBoy 2
  • 3. ¿Qué es una Headless App?  Es una aplicación que corre por detrás sobre el OS BlackBerry 10.  A diferencia las aplicaciones convencionales con una UI y un Active Frame asociado, las Headless App no están bajo el control directo de un usuario. 3
  • 4. Tipos de Headless App  Short-running Apps: este tipo de aplicaciones no requiere estar corriendo todo el tiempo, comúnmente son disparadas por un evento durante corto tiempo. Estas aplicaciones pueden ser por ejemplo: notificaciones push, receptores de mensajes SMS, downloaders (para suscripciones de podcasts o revistas) o trackers de localización.  Long-running Apps: este tipo de aplicaciones comúnmente corren por un periodo largo de tiempo para monitorear cierta actividad en el dispositivo como podrían ser clientes de mensajería instantánea, loggers de actividad, etc. 4
  • 5. ¿Cómo funcionan?  Ambos tipos de Headless App usan disparadores de eventos (triggers). Un trigger es simplemente un evento que ejecuta la aplicación. Como mencionamos anteriormente este evento podrías ser un mensaje SMS, un cambio de ubicación, etc.  Una vez disparada la Headless App puede funcionar como una aplicación short-running o long-running dependiendo la tarea que se desee realizar para controlar el evento. 5
  • 6. ¿Cómo se crean?  Solo se requieren de dos partes:   UI Headless  Modificar los puntos de entrada  Solicitar permiso del usuario  Usar Invocation Framework para habilitar que la aplicación sea disparada cuando el evento ocurre. 6
  • 7. Proceso de una Headless App 7
  • 9. Ciclo de vida  Las Headless App pueden ser iniciadas o detenidas basandose en la disponibilidad de los recursos. Si el dispositivo BlackBerry 10 esta agotando los recursos del sistema como la batería o RAM, la aplicación recibe un mensaje de stop y da tiempo para guardar su estado y cerrarse.  Cuando se están agotando los recursos del dispositivo, se detienen los procesos dependiendo de su importancia. Los procesos críticos son considerados los más importantes y procesos de detenido son los menos importantes para el usuario. 9
  • 10. Niveles de importancia  Critical: procesos que deben ejecutarse en todo momento (procesos del sistema)  Foreground: procesos que corren en primer plano  Background: procesos que corren de fondo  Stop: procesos que se cargan a la RAM 10
  • 12. Niveles de importancia  Por default, las Headless App pueden ocupar solo 3 MB de memoria. Este limite solo aplica para la parte Headless de la aplicación, la parte de interfaz de usuario puede ocupar más de 3 MB de memoria. Esta cantidad de memoria debe ser suficiente para la mayoría de Headless App porque la parte Headless no incluye activos.  El CPU que se asigna a una Headless App es entre 7% y un 25% cuando se ejecuta en segundo plano. Algo importante acerca de la asignación de CPU es que la parte de Headless recibe una cantidad limitada de tiempo en comparación con una aplicación normal.  Operaciones o cálculos de larga duración no deben ser realizados en la parte Headless. 12
  • 13. Performance y batería  Las Headless App deben funcionar durante poco tiempo como sea posible para minimizar el consumo de batería y optimizar el rendimiento del dispositivo.  Por default la duración cada vez que se invoca (activa) tiene una duración de 20 segundos, sin embargo por medio de permisos adicionales (_sys_headless_nostop) puede ampliarse ese tiempo de duración inclusive determinarlo como indefinido. 13
  • 15. Notification service  Cuando una Headless App requiere informar de un evento disparado al usuario dependiendo la configuración, la aplicación pueden enviar una notificación.  Debido a que no pueden tener UIs asociadas en primer plano de forma directa, las Headless App usan el Notification Service para realizar esas notificaciones.  Reproducir audio, vibración del dispositivo, notificaciones en BlackBerry HUB y previsualizaciones instantáneas son parte de los tipos de notificaciones que se pueden emplear. 15
  • 17. Communicating Between th UI and Headless Parts
  • 18. Interprocess Comunication Technique  Se puede emplear ICT para comunicar las partes Headless con la parte UI de su aplicación.    Invocation Framework Local Sockets (comunicación en tiempo real) QSettings and file monitoring (comunicación persistente)  Se puede emplear una de las técnicas anteriores o combinarlas según la necesidad de su aplicación 18
  • 20. Cerrando la aplicación  El usuario puede cerrar una Headless App desde:  Settings -> App Manager -> Device Monitor -> {name app} -> CPU -> Stop  Siempre hay que considerar que las Headless App se pueden ejecutar por default por un tiempo de 20 segundos, por lo que podemos detener la aplicación antes de haber culminado el tiempo.  La parte de UI puede consultar para determinar si se esta ejecutanto la parte Headless y enviar una Signal para indicar que se debe cerrar la parte Headless.  Para aplicaciones Long-running debe considerarse a conciencia para ahorrar bateria o CPU 20
  • 21. Gracias por su atención ¿Preguntas? @flashinstructor joelortiz@blackberrydeveloper.mx