Mostrar más resultados
28369

El papel de Qualcomm en la programación móvil

El papel de Qualcomm en la programación móvil

Escrito por Albert Miró

Actualmente hay más de un billón de dispositivos Android que funcionan con procesadores Qualcomm, el fabricante americano de semiconductores líder en el mundo smartphone. Esta empresa ha innovado en rendimiento, optimización de consumo y gráficos 3D como nadie y sin duda es un referente. Tal es el punto que, sin ir más lejos, BQ, el fabricante español, cambió su trato con Mediatek para iniciar una relación comercial con Qualcomm. ¿Pero quienes son esta gente y qué herramientas dan a los desarrolladores de software móvil? Vamos a hablar un poco más de ellos.

Qualcomm y su relación con el desarrollo

Con su origen en San Diego, California, Qualcomm empezó dando sus pasos en 1985 por un grupo de alumnos y su profesor de universidad para así convertirse en un gigante de la computación actual. Fue comprando y adquiriendo otras empresas en su camino a lo que es hoy en día y ha innovado en tecnología móvil con estándares tan importantes como el cdmaOne para las comunicaciones inalámbricas o el cdma2000 para las comunicaciones 3G. En la actualidad está liderando la propiedad de las patentes que han evolucionado de ese trabajo, teniendo bajo sus brazos incluso la conectividad LTE, más conocida como 4G, y que han marcado un gran hito ya que estamos gozando de velocidades jamás pensadas en nuestros smartphones, capaces de reproducir un video a 4K sin sufrir barones (siempre y que la cobertura acompañe, por supuesto). Obviamente esto ha llevado a problemas legales relacionados con dichas patentes, ya que como ocurre en estos casos, otros fabricantes que desearan usar estas tecnologías debían pagar una cantidad a Qualcomm, pero en EEUU están acostumbrados a las guerras de patentes y es casi como un deporte para ellos. Entre sus productos tenemos micro-procesadores, chips gráficos, semiconductores, dispositivos satélite o de seguimiento, software variado como un sistema operativo llamado BREW y herramientas de diagnóstico.

Está claro que un gigante como este necesita personas que hagan software externo a ellos para poder alimentar los dispositivos, y aquí es donde entra Android. Qualcomm ofrece un SDK a disposición de todo el mundo con el que se podrá trabajar con C y C++ en desarrollo relacionado con:

  • La potencia de los procesadores
  • El trabajo con los chips gráficos Adreno
  • Un depurador especializado para la serie Snapdragon para Eclipse y Visual Studio

Y muchos más, pero estos son los que más de cerca nos tocan como programadores de aplicaciones móviles. Pensad que una empresa así no sobrevive únicamente de los royalties, también necesita gente dispuesta a alimentar sus sistemas, y es una gran cruz cuando la misma empresa no te pone facilidades para ello. Estas herramientas hacen que ingenieros, QAs testers o diseñadores de gráficos puedan comunicarse a un nivel muy bajo con el hardware del dispositivo para tener así los mejores resultados, de ahí la elección de C/C++. Recordemos que, a diferencia de Java o C#, en este lenguaje de scripting tenemos la potencia de poder gestionar prácticamente como nosotros queramos el comportamiento de los componentes, lo cual es la razón principal de los desarrolladores para escoger C como lenguaje favorito. Esto no significa que estamos haciendo aplicaciones Android sin Java, si no que las tareas más específicas e internas, como por ejemplo pedir a la Adreno que dibuje un personaje por pantalla, píxel por píxel, lo haremos con C, mientras que la interfaz o la parte más externa de la app seguirá siendo construido con Java. Es muy normal encontrarse que un solo programa tiene encapsuladas varias tareas, use lenguajes distintos para comunicarse con el hardware.

¿Estamos obligados a hacer todo esto? Ni mucho menos. Esto es únicamente una posibilidad más que tenemos a nuestro alcance para construir nuestro software en plataformas móviles, concretamente en este caso las que usan componentes de Qualcomm, y es muy importante que se nos de esta posibilidad, porqué entonces logramos controlar de forma más eficiente lo que hacen nuestros programas, en vez de esperar que el sistema operativo objetivo, como es Android, lo gestione todo. Pese a que cada vez esto lo hacen mejor, en el caso de Android además tenemos que sumar una variante más: nunca sabemos las características del dispositivo final. Como he dicho, hay más de un billón de aparatos con Android que usan componentes Qualcomm y no podemos llegar a controlar todas las situaciones. Pero gracias a que nos dan estas herramientas y SDK, si que podemos reducir los escenarios de error producidos por causas ajenas a nuestro código y que no podíamos esperar.

Desde el depurador para la serie Snapdragon hasta unas bibliotecas concretas para el chip Adreno, Qualcomm nos brinda todo lo necesario para que nuestro software sea prácticamente perfecto en sus aparatos y nadie pueda venir a darnos la vara con quejas.

¿Sabías que no solo Qualcomm ofrece estas herramientas? La gran mayoría de empresas tienen su propio paquete de desarrollo para que lo tengamos más fácil. Sin ir más lejos, los motores gráficos o el propio SDK de Android.

Curso relacionado: Curso Superior de Desarrollo de Aplicaciones para Móviles