Articulo de referencia

Entorno de ejecución binario para comunicaciones inalámbricas

Logotipo del entorno de ejecución binario para comunicaciones inalámbricas El entorno de ejecución binario para tecnología inalámbrica ( BREW , también conocido como Brew MP o Q...

Logotipo del entorno de ejecución binario para comunicaciones inalámbricas

El entorno de ejecución binario para tecnología inalámbrica ( BREW , también conocido como Brew MP o Qualcomm BREW ) es una plataforma de desarrollo de aplicaciones obsoleta creada por Qualcomm , originalmente para teléfonos móviles con acceso múltiple por división de código (CDMA) , que incluía aplicaciones de terceros como juegos para móviles . Se ofrecía en algunos teléfonos básicos (principalmente con especificaciones similares a las de teléfonos móviles de gama media a alta), así como en teléfonos inteligentes .

Administrador de la aplicación BREW de UScellular , con una fuerte presencia de marca.

Desarrollado por primera vez en 1999, como una plataforma para aplicaciones inalámbricas en teléfonos móviles basados ​​en CDMA, debutó en septiembre de 2001. Como plataforma de software que puede descargar y ejecutar pequeños programas para jugar, enviar mensajes y compartir fotos, la principal ventaja de Brew MP era que los desarrolladores de aplicaciones podían portar fácilmente sus aplicaciones entre todos los dispositivos Brew MP proporcionando un conjunto estandarizado de interfaces de programación de aplicaciones . El software para teléfonos habilitados para Brew MP se puede desarrollar en C o C++ utilizando el kit de desarrollo de software (SDK) Brew MP de descarga gratuita. [ 1 ] La biblioteca de tiempo de ejecución BREW es parte del firmware en chip o sistema operativo del dispositivo inalámbrico para permitir a los programadores desarrollar aplicaciones sin necesidad de codificar para la interfaz del sistema o comprender las aplicaciones inalámbricas. BREW se describe como un pseudo sistema operativo, pero no un verdadero sistema operativo móvil . BREW no era una máquina virtual como Java ME , ya que ejecuta código de forma nativa .

Software

Para los desarrolladores de software, Brew MP era un conjunto completo de interfaces de programación de aplicaciones (API) que permitía crear software y aplicaciones en C , C++ y Java , y era compatible (plataforma) con un circuito integrado específico de aplicación (ASIC). Tenía un consumo de memoria de aproximadamente 15.900 KB (15,9 MB). De las versiones 1.x a 2.x (antes de 2004), tenía un consumo de memoria menor, de alrededor de 60 KB. BREW también ofrecía acceso directo al hardware. Las versiones anteriores a Brew MP se ejecutaban/dependían de REX OS (el RTOS propio de Qualcomm), mientras que Brew MP utilizaba Brew RTOS (otro RTOS para teléfonos con funciones avanzadas). En lugar de utilizar un código basado en intérprete, BREW también dependía de su propio hardware móvil.

Historial de versiones

BREW 1.0 / 1.1 (2001–2003)

BREW 1.0 - 1.1 Administrador de la aplicación 'Tienda Móvil' (2001–2003)

Lanzada en 2001, fue la primera versión de BREW. Originalmente diseñada para el Kyocera QCP-3035 (el primer teléfono con BREW disponible comercialmente) y el Sharp Z-800, utilizaba funciones de asistente digital personal (generalmente para algunas aplicaciones y la capacidad de ejecutar aplicaciones BREW). Sin embargo, carecía de funciones multimedia avanzadas y compatibilidad con Java ME, disponibles en versiones posteriores. Fue la única versión de BREW compatible con pantallas monocromáticas, ya que esta compatibilidad se eliminó en BREW 2.0. BREW 1.1 fue la primera versión de Brew en ejecutar aplicaciones Java ME. Estuvo disponible en algunos teléfonos con BREW en 2002 y principios de 2003.

BREW 2.0 / 2.1 (2002–2009)

Lanzada a mediados de 2002, se instaló en la mayoría de los teléfonos compatibles con BREW desde finales de 2002 hasta finales de 2009. Incluye compatibilidad con reproducción multimedia avanzada (reproducción de archivos de audio y vídeo, así como compatibilidad con formatos multimedia 3GPP), conectividad EV-DO y Bluetooth, protectores de pantalla y otras mejoras. También es compatible con MIDP 2.0 en BREW 2.1 y retrocompatible con aplicaciones BREW 1.x.

Se instaló en la mayoría de los teléfonos básicos en Indonesia, China y otros países desde 2004 y fue compatible con algunos operadores hasta 2017.

BREW 3.0 / 3.1 (2004–2012)

BREW 3.0.1 - 3.1.2 Administrador de aplicaciones (2004–2009) (por ejemplo, LG VX3400, Samsung SCH-A630, LG VX8600 Chocolate Flip y algunos teléfonos básicos CDMA. Incluye la mayoría de los SDK de BREW)

Lanzada a mediados de 2002, se instaló en la mayoría de los teléfonos compatibles con BREW desde finales de 2004 hasta principios de 2012. Fue la primera versión de BREW con cambios importantes y cuenta con una gran cantidad de funciones para teléfonos móviles, como conectividad Wi-Fi, OpenGL ES 1.0, compatibilidad con 3G, GPS, teclados QWERTY y pantallas con una resolución superior a 176x220. Es retrocompatible con las aplicaciones BREW 2.x, pero no con las aplicaciones BREW 1.x.

También es la primera versión de BREW que admite la renderización de gráficos 3D, aunque solo utiliza renderización por software (que también admite JSR 184 para juegos Java ME). La aceleración por hardware también es compatible de forma nativa mediante OpenGL ES 1.0 (si se dispone de un chip de aceleración 3D).

Se instaló en la mayoría de los teléfonos básicos en Estados Unidos y en otros países desde 2005 y todavía cuenta con el soporte de algunos operadores.

BREW 4.0.1 - 4.0.2 (2007–2011)

Lanzado entre 2007 y 2011, solo se integró en unos pocos teléfonos móviles (como el LG enV Touch y el LG Versa). Presentaba pocas mejoras y posteriormente fue reemplazado por Brew MP. Incluye funciones adicionales que también están disponibles en Brew MP, como compatibilidad con el acelerómetro y otros cambios.

También se utiliza para la consola Zeebo en México y Brasil.

Brew MP 5.0.1 - 5.0.4 (2009–2021)

BREW MP 1.0.1 - 1.0.4 Administrador de aplicaciones (2009–2015) (por ejemplo, Pantech Verse, Samsung SCH-R270 Chrono 2 y algunos teléfonos básicos CDMA)

Brew 5.0 se lanzó en 2009 con varias novedades (incluidas imágenes SVG) y era compatible con versiones anteriores de BREW 3.x y 4.x. Algunas API antiguas quedaron obsoletas en esta versión. Este lanzamiento también marcó el cambio al kernel en tiempo real propio de BREW, en lugar de utilizar el sistema operativo REX de Qualcomm.

La página de desarrolladores de Brew MP se cerró el 23 de julio de 2021, tras ocho años de inactividad.

Desarrollo de aplicaciones BREW

Para probar aplicaciones durante el proceso de desarrollo, el SDK incluye un emulador BREW o, a partir de la versión 1.1 de BREW, el simulador BREW . El entorno BREW ofrece varios niveles de firmas de aplicaciones . Una firma autentica al desarrollador. Otra firma verifica que una aplicación haya superado las pruebas True BREW y es otorgada por Intertek. Los operadores de telecomunicaciones configuran los teléfonos para que apliquen o ignoren la presencia y verificación de esta segunda firma. Los teléfonos compatibles con BREW tienen un modo de prueba que permite a las aplicaciones omitir la verificación de la firma. Qualcomm pone a disposición de los operadores de redes inalámbricas compatibles con BREW las aplicaciones que han superado las pruebas. Los operadores pueden entonces elegir cuáles de estas aplicaciones ofrecer a los usuarios finales en su catálogo.

Las firmas de BREW están protegidas por un Número de Serie Electrónico (ESN) y un Identificador de Equipo Móvil (MEID) . Esto impide la distribución no autorizada de aplicaciones BREW a terceros, en lugar de a operadores. Una vez que la aplicación se descarga de forma inalámbrica (OTA) a través de un operador que utiliza BREW, el archivo .sig genera automáticamente un número de serie electrónico para el dispositivo donde está instalada.

El emulador BREW, llamado BREW Simulator , no emula el hardware del dispositivo. En su lugar, la aplicación BREW se compila a código nativo y se enlaza con una biblioteca de tiempo de ejecución BREW compatible . Por este motivo, no es posible probar las aplicaciones para detectar errores de plataforma relacionados con la alineación de memoria y diversos fallos del firmware sin un dispositivo BREW en modo de prueba.

Para fines de prueba, las aplicaciones BREW se pueden transferir mediante un cable USB o serie a cualquier dispositivo compatible con BREW utilizando BREW App Loader de Qualcomm. Una aplicación BREW contiene varios componentes que, si no están presentes o no son válidos, provocan que la aplicación se elimine automáticamente al reiniciar el dispositivo. Esto incluye el archivo binario compilado, un archivo que describe la aplicación, las funciones que utiliza y los permisos solicitados, un archivo que contiene recursos de texto e imagen si es necesario, y un archivo que contiene la firma digital de la aplicación.

Las aplicaciones BREW pueden desinstalarse de un teléfono móvil para ahorrar espacio de memoria. Este proceso, conocido como "Desactivar/Restaurar", es un requisito del proceso de prueba True BREW. Los archivos guardados se conservan intactos al desactivar/restaurar, y es posible reinstalar la aplicación sin tener que pagar de nuevo. Al desactivarla, se eliminan todos los archivos .bar, .mod y .sig del teléfono, mientras que los demás archivos permanecen en su ubicación original. Al restaurar, los archivos .bar, .mod y .sig se descargan de la tienda de aplicaciones del operador, y la aplicación previamente desactivada recupera su funcionalidad completa. El proceso de desactivación/restauración solo está disponible para usuarios particulares cuando la memoria del teléfono está llena.

El 28 de mayo de 2008, Qualcomm y Adobe anunciaron una colaboración para integrar Adobe Flash Lite como interfaz de usuario compatible en BREW.

Desde marzo de 2006, el paquete de firma digital más económico para desarrolladores cuesta US$400 por 100 solicitudes. [ 2 ]

Implicaciones/disponibilidad del modelo de negocio

Estrictamente hablando, el tiempo de comercialización puede ser mayor con BREW que con Java ME debido a los rigurosos requisitos de certificación de Qualcomm BREW. Este proceso de certificación puede ser percibido como una ventaja por los desarrolladores de software consolidados, ya que las dificultades asociadas con las pruebas y los costos de desarrollo generan un alto costo de entrada para los desarrolladores con presupuestos bajos y poco tiempo, lo que resulta en una menor dilución del mercado. En concreto, los desarrolladores de juegos casuales corren menos riesgo de tener que competir con software gratuito similar desarrollado y autopublicado por aficionados. Sin embargo, esto tiene un costo para el usuario final, ya que hay menos competencia para desarrollar la mejor solución al menor precio.

  • Una vez escrita la aplicación, se necesitan dos semanas por cada iteración de las pruebas de True BREW (cada vez que la aplicación no supera la prueba).
  • A continuación, comienzan las negociaciones con la(s) compañía(s) transportista(s).
  • Luego, (si tiene éxito) el operador dedicará tiempo a volver a probar la aplicación con sus propias pruebas en su red.
  • Finalmente, lanzar una nueva versión implica comenzar el proceso de nuevo.

Diferencias entre Java ME y BREW

Actualmente, la mayoría de los desarrolladores optan por dar soporte tanto a Java ME como a BREW, o solo a Java ME. Java ME puede resultar más económico para el mercado, ya que la mayoría de los operadores permiten que las aplicaciones Java ME no certificadas se ejecuten en sus teléfonos. Los teléfonos Java ME tienen una mayor cuota de mercado que los dispositivos compatibles con BREW. Java ME se utiliza ampliamente en Europa, mientras que BREW se usa principalmente en Estados Unidos y Japón. Una de las ventajas iniciales de BREW fue que Verizon facilitó la compra de aplicaciones desde el teléfono, algo que la mayoría de los operadores de Java ME no hicieron. Sin embargo, la mayoría de los operadores de teléfonos Java ME ahora ofrecen portales de compra de fácil acceso.

Debido a sus diferentes API, Java ME depende de la máquina virtual de Java (código basado en intérprete), que es técnicamente más lento que BREW, que usa C/C++ nativo más y acceso directo al hardware (especialmente para juegos). [ 3 ] Java ME tiene un subconjunto limitado de API (tanto para aplicaciones como para juegos). Sin embargo, hay API e implementaciones de terceros (como MascotCapsule de HI CORPORATION. (API de renderizado 3D) y DoJa / Star de NTT Docomo) disponibles, pero no son populares ni exitosas fuera de Japón (particularmente la adopción de dispositivos). BREW (por otro lado), depende de sus propias API y acceso directo al hardware.

El rendimiento de las aplicaciones y juegos Java ME es más lento que el de BREW. Para los juegos 3D, Java ME utiliza JSR 184 (M3G), lo que hace que los juegos 3D desarrollados para Java ME sean más lentos (lo que resulta en 10 fotogramas por segundo en la mayoría de los dispositivos) y tengan gráficos limitados, mientras que BREW utiliza renderizado por software (si el dispositivo BREW no tiene un chip de aceleración 3D) u OpenGL ES (lo que le permite aprovechar su rendimiento). [ 4 ]

A diferencia de Java ME, cuando la aplicación BREW falla, el teléfono se reiniciará porque BREW no puede manejar ni recuperarse mientras la aplicación falla, crea "$SYS.EXCEPT_(número de 4 dígitos)" en la carpeta "except" en la raíz del directorio, luego el teléfono se reiniciará automáticamente por sí mismo, cuando la aplicación Java ME falla bajo BREW, Java ME la manejará correctamente y la recuperará del reinicio del teléfono por sí mismo.

Algunos fabricantes de teléfonos móviles no permiten la integración de la máquina virtual de Java ME en algunos de sus modelos.

Actualmente existen tecnologías comerciales para automatizar completamente la migración de Java ME a BREW. Esto reduce las barreras de entrada para la producción de aplicaciones BREW, ya que elimina la necesidad de desarrollar dos versiones de la misma aplicación, una en Java y otra en C/C++.

Fallo del sistema

El fallo del sistema en BREW se produce cuando los componentes dejan de funcionar correctamente, falta un archivo necesario para una aplicación BREW, la aplicación se bloquea o se producen otros errores. Esto crea el archivo "$SYS.EXCEPT_XXXX" dentro de la carpeta "except" en la raíz del directorio. El fallo del sistema de BREW tiene dos variantes: un error de componente y un reinicio forzoso.

Error de componente (ejemplo.c XXXXX)

Error de componente BREW 2.0.2 en el Samsung SCH-S399
$SYS.EXCEPT_0002 afectado por el error del componente en el Bloc de notas

El error de componente muestra una pantalla negra, blanca o azul con un texto de error durante unos 5 segundos si un componente deja de funcionar correctamente. A continuación, el teléfono se reinicia automáticamente. Este error puede variar según la actividad que esté realizando; por ejemplo:

  • fs_dir.c (error del sistema de archivos)
  • mdsptask.c (error de tarea)
  • oemheap3x.c (violación de montón)
  • memoria.c (corrupción de memoria)
  • nvm.c (violación de la comprobación de la NVM)
  • srch_mdsp.c (error de índice)
  • callheap.c (error de llamada)

La probabilidad de que ocurra esta variante es muy baja, ya que lo más común es un reinicio tras la muerte. Aquí tienes un ejemplo de las actividades que pueden desencadenar esta variante:

  • Si se reduce el voltaje del teléfono mientras está en funcionamiento, se producirá una corrupción de la memoria (normalmente si la batería está casi agotada; en los dispositivos modernos se ha añadido protección contra subtensión) (por ejemplo, LG VX10, [ 5 ] LG VX4400, [ 6 ] y LG PM225).
  • El teléfono está defectuoso. Normalmente, si esto ocurre, el teléfono se reiniciará por completo en lugar de mostrar un error de algún componente.
  • Se elimina la carpeta "brew", "nvm" o ".efs_private" (fs_dir.c o nvm.c).

Reinicio de la muerte

$SYS.EXCEPT_0003 afectado por el reinicio de la muerte en Notepad tiene algunos caracteres aleatorios.

Un reinicio fatal es un error que reinicia el teléfono automáticamente en lugar de mostrar una pantalla negra, blanca o azul con texto. Esta variante es mucho más común de lo que parece. Aquí hay un ejemplo de las actividades que pueden provocar esta variante:

  • Una aplicación se bloquea.
  • Retirar la tarjeta R-UIM.
  • El teléfono está defectuoso.
  • Ingresar un código SP de forma incorrecta.
  • Faltan archivos de la aplicación que los requiere.
  • Ejecutando la prueba de excepciones en modo de ingeniería.

Uso del dispositivo y disponibilidad del operador

Administrador de aplicaciones BREW 3.1.4 - 4.0.2 (2005–2012) (por ejemplo, Zeebo, Samsung SCH-R351 Freeform, LG Voyager VX10000 y algunos teléfonos básicos CDMA. Incluye SDK de BREW).

Qualcomm BREW es utilizado por algunos fabricantes de teléfonos móviles y redes móviles; sin embargo, en la mayoría de los casos, el usuario final lo desconoce, ya que los teléfonos móviles que ejecutan BREW generalmente carecen de la marca Qualcomm BREW y BREW se ejecuta en segundo plano con las "capas" personalizadas del fabricante o operador de telefonía móvil superpuestas. Qualcomm BREW es utilizado por Sprint Nextel , metroPCS , US Cellular , Verizon , Syringa Wireless , Cricket Wireless y AT&T (en el HTC Freestyle) en los EE. UU. , KDDI en Japón, KT y SK Telecom en Corea del Sur, China Telecom en China , MOVILNET y BellSouth Chile en Latinoamérica , Sistema Shyam (ahora MTS) en India , y por la red 3 en gran parte de Europa , el Reino Unido y Australia en muchos teléfonos móviles fabricados especialmente para su red.

Dado que BREW solo se ofrece a las redes móviles que operan en CDMA, otros países (con la excepción de partes de Europa , el Reino Unido y Australia a través de la red 3 , India, Japón y China) no tienen BREW, porque no tienen redes CDMA.

Fabricantes como Huawei , INQ Mobile , Amoi , LG , Samsung Mobile , ZTE y HTC , entre otros, utilizan Qualcomm BREW en algunos de sus teléfonos móviles. Este sistema está presente en tres teléfonos británicos , como el 3 Skypephone , el INQ1 , el ZTE Z431 y el Huawei u7510 (3 Touch). La consola Zeebo de Tectoy es la única que utiliza BREW. El Motorola T720 y el RAZR V3m también utilizan Qualcomm BREW.

Véase también

Referencias

  1. SDK y herramientas | Brew MP Developer Enlace obsoleto archivado el 17/12/2012 en archive.today . Developer.brewmp.com. Consultado el 21/07/2013.
  2. Certificados de firma de código para identificadores de documentos auténticos para BREW - Firmas digitales | Symantec. Archivado el 5 de febrero de 2009 en Wayback Machine . Verisign.com. Consultado el 21 de julio de 2013.
  3. "Elegir entre J2ME y BREW para el desarrollo inalámbrico - TechRepublic" . TechRepublic . Consultado el 21 de junio de 2017 .
  4. "Vea la diferencia gráfica entre los juegos Java y BREW" . Pocket Gamer . Consultado el 21 de junio de 2017 .
  5. Steven's Phones (14 de julio de 2019). "LG VX10 - Cuando la batería está MUY baja" . YouTube . Consultado el 4 de octubre de 2022 .
  6. Steven's Phones (14 de julio de 2019). "LG VX4400 - Cuando la batería está MUY baja" . YouTube . Consultado el 4 de octubre de 2022 .
  • Sitio web oficialEdita esto en Wikidata
  • Análisis en profundidad de BREW y otras plataformas móviles desde la perspectiva del mercado europeo.
  • Hoja de datos de Adobe Flash Lite para BREW (.pdf)
  • cxBrewUnit - Entorno de pruebas unitarias BREW para pruebas unitarias en C/C++.