iPhone 2.0: SDK y empresas

Escrito por Ramón Rey en Análisis de Software el 7 de marzo de 2008

Ayer tuvo lugar un evento de Apple en el que Steve Jobs junto a Phill Schiller y Scott Forstall se encargaron de anunciar las novedades de la que será la actualización más importante del software del iPhone desde su lanzamiento en Junio del año pasado.

El evento tuvo cuatro partes bien diferenciadas:

  • éxito del iPhone en ventas y como dispositivo de acceso móvil a la Web (Steve Jobs)
  • novedades del software del iPhone orientadas a las empresas (Phill Schiller)
  • presentación del SDK del iPhone (Scott Forstal)
  • anuncio del modelo de distribución y negocio del software nativo para el iPhone (Steve Jobs)
Steve Jobs

Éxito del iPhone

Para presentar el evento Steve Jobs comenzó con el habitual regocijo ante las buenas ventas del iPhone, con el 28% del mercado de smartphones en los Estados Unidos. Ahora mismo el iPhone se puede considerar la segunda plataforma de ese mercado tras Blackberry, que conserva un 41% en ventas en el último trimestre fiscal del 2007. El resto de fabricantes de smartphones del mercado incluyendo Palm, Nokia, Motorola (con Windows Mobile parasitándolos a todos, Symbian y PalmOS en minoría) llegan al 31%.

¿Ha tenido éxito el iPhone como dispositivo revolucionario de conexión a Internet? El segundo dato que ofreció Steve Jobs son las cifras de acceso de navegadores móviles de un estudio de Net Applications de Febrero de este año. Pocket IE y Palm juntos no llegan al 20% y el Safari del iPhone supone ya un 71% de utilización para el acceso móvil a la web. Evidentemente con estas cifras tan solo 8 meses después del lanzamiento del iPhone la respuesta es que sí: el iPhone está suponiendo una verdadera revolución en el acceso móvil a la web.

A continuación anunció que en el evento se iba a anunciar el roadmap del iPhone en cuanto a todo lo relacionado con software. Phil Schiller subió al escenario.

Software roadmap

iPhone para empresas

El primer punto a tratar, antes que el esperado y añorado SDK, fué el esfuerzo de Apple en responder a las expectativas del mundo empresarial sobre el iPhone. Puso algunos ejemplos de empresas que usan actualmente iPhones como parte de su ciclo de trabajo y las buenas reacciones del sector empresarial respecto al dispositivo (Genentech como caso relevante).

Pero tambien admitió que las empresas quieren del iPhone mucho más: soporte de tecnologías específicas que están ya disponibles para otras plataformas móviles como Windows Mobile o Blackberry pero de las que carece el iPhone. Esencialmente lo que las empresas demandan es el soporte de un sistema de correo de nivel empresarial con todas las tecnologías y beneficios que conlleva, además de otras tecnologías orientadas a la seguridad

  • Push email
  • Push calendar
  • Push contats
  • lista global de direcciones
  • soporte de IPSec y VPN
  • certificados e identidades
  • cifrado WPA2 y mejora en el soporte de tecnologías inalámbricas (802.11x)
  • políticas de seguridad
  • configuración y distribución de software automático para organizaciones
  • remote wipe

Toda estas características estarán disponibles en el firmware 2.0 del iPhone. Para dar soporte al iPhone de un email de nivel empresarial han licenciado ActiveSync a Microsoft. El iPhone ahora dispone de soporte de Exchange y puede conectarse directamente a servidores Microsoft Exchange sin necesidad de un software servidor especial o un servicio propietario de terceros que actue de puente para acceder a estos servicios (puya clarísima a Blackberry).

A través de estas tecnologías el iPhone tiene soporte de Push email, Push calendar, Push contacts, lista global de direcciones y remote wipe al mismo nivel que un dispositivo cualquiera con Windows Mobile.

El iPhone puede recibir y sincronizar de forma automática con un servidor Exchange tanto correo electrónico, eventos de calendario y contactos de forma instantánea. Además permite acceder a funciones de directorio de la empresa y en caso de robo del dispositivo mediante el remote wipe se puede borrar toda la información del dispositivo y dejarlo como salido de fábrica la próxima vez que se conecte al servidor Exchange si se ha sufrido un robo o una pérdida.

A continuación, Scott Forstal subió al escenario para hablar de la parte más esperada del evento: el desarrollo nativo para el iPhone.

iPhone SDKSDK nativo del iPhone

Se hizo hincapié en la importancia de las aplicaciones web diseñadas para el iPhone. La iniciativa de desarrollo de este tipo de aplicaciones ha tenido mucho éxito y ya hay más de 1000 aplicaciones web disponibles para el iPhone. Recordó que hace poco se añadió la posibilidad de incluir iconos de aplicaciones web directamente en la pantalla principal del iPhone, facilitando el acceso a los usuarios a estas aplicaciones.

Puso como ejemplo aplicaciones web muy exitosas las de Facebook y del Banco de América. Es impresionante la cifra de usuarios de de los servicios de banca online del Banco de America que acceden usando el iPhone: el 25%. Se ha prometido que seguirán trabajando en mejorar el desarrollo de aplicaciones web para el iPhone en la proxima versión.

Por fin tenemos un SDK para desarrollo de aplicaciones nativas del iPhone. Y en contra de muchos que auguraban erróneamente un boicot por parte de Apple al desarrollo de terceros, se trata de las mismas API´s y herramientas que usa Apple internamente para desdarrollar aplicaciones del iPhone.

Apple es una empresa que gira en torno a una plataforma, MacOSX, y la plataforma es lo mas importante para el desarrollo de aplicaciones. El sistema operativo del iPhone se ha basado en el que podemos disfrutar en cualquier Mac, que tiene diferentes capas:

  • Core OS
  • Core Services
  • Media
  • Cocoa

Las tres primeras capas Core OS, Core Services y Media han sido portadas al iPhone directamente desde el código fuente de MacOSX. La única que ha necesitado ciertas modificaciones es Cocoa, la capa de interfaz de usuario y el framework de desarrollo de aplicaciones gráficas del sistema.

En MacOSX, Cocoa esta basado en el uso de raton y teclado, con lo que ha sido necesario modificar ese aspecto para adaptar Cocoa al uso del iPhone, que es totalmente táctil. A partir de esto se ha creado lo que Apple llama Cocoa Touch

Desarrollando aplicaciones para el iPhone
Descubriendo las interioridades del sistema operativo del iPhone

La base del sistema operativvo del iPhone, Core OS lo forman

  • el kernel de OSX,
  • sistema de bibliotecas
  • la pila TCP / IP BSD
  • sockets
  • seguridad
  • gestion de energia
  • keychain
  • certificados
  • sistemas de archivos
  • Bonjour

El kernel del sistema que se ejecuta en el iPhone es el mismo y se compila a partir del mismo código fuente de MacOSX. Además también cuenta con la misma capa de red (sockets e implementación TCP/IP). La gestión de energia que ya era buena en los sistemas portátiles de Apple se ha mejorado mucho para el iPhone y es totalmente automatica tanto para el sistema operativo como para las aplicaciones.

La parte de servicios básicos del sistema, Core Services consta de

  • colecciones
  • agenda de direcciones
  • redes
  • acceso a archivos
  • sqlite
  • core location
  • net services
  • threading
  • preferencias
  • utilidades de URL

En la capa de gestión de multimedia (gráficos, audio y video), Media tenemos

  • Core Audio
  • openAL,
  • mezclador de sonido,
  • grabación de audio
  • reproducción de video
  • manejo de jpg, png, tiff, pdf
  • quartz (2d)
  • Core Animation
  • OpenGL ES

Y por último, la parte de más alto nivel, Cocoa Touch, el framework de desarrollo del iPhone para aplicaciones gráficas con soporte de todas las tecnologías disponibles

  • eventos y controles multi touch
  • soporte del acelerómetro
  • vista jerárquica
  • localización de aplicaciones
  • alertas
  • vista web
  • selector de contactos
  • selector de imágenes
  • soporte de la cámara

Probando software
Herramientas disponibles para el desarrollo

Para desarrollar se utilizará el mismo entorno de desarrollo que lleva años disponible de forma gratuita para MacOSX y que está integrado con todas sus tecnologías. En primer lugar XCode, que incluye editor de codigo fuente, gestor de proyectos, control de versiones y sistema de documentación integrada. Incluye además un debugger que permite testear las aplicaciones ejecutándolas en el iPhone (debugging remoto).

Para el diseño gráfico de aplicaciones y desarrollo rapido (RAD) se tiene Interface Builder, que tiene todos los controles de Cocoa Touch disponibles. Al igual que cuando se desarrolla software para MacOSX, funciona conectando controles con objetos (code connections) y está pensado para el modelo vista-controlador (MVC) habitual en las aplicaciones Cocoa. También incluye soporte completo para localización de las aplicaciones.

instruments permite analizar de forma gráfica y sencilla el rendimiento de las aplicaciones para el iPhone, visualizando todo tipo de estadísticas del funcionamiento de las aplicaciones que se desarrollen.

Estas tres herramientas no eran nuevas, pero lo que si ha sido una novedad es el iPhone simulator, un entorno de simulación del iPhone para ejecutar el software durante el proceso de desarrollo y de esa forma acelerar el proceso además de no ser necesario el poseer un iPhone ni pagar para desarrollar software nativo.

En las demostraciones que realizó Scott mostró un «hello word» (2 minutos de desarrollo), una herramienta que transforma fotos usando la pantalla táctil (2 dias de desarollo, aproximadamente dos mil líneas de código) y un juego que hacia uso de OpenGL ES y openAL,«Touch fighter» en el que se demostraba lo revolucionario del uso del acelerómetro para el movimiento de la nave y el control táctil para disparar sobre los enemigos (2 semanas de desarrollo y unas diez mil líneas de código).

Scott hizo notar la productividad del entorno de desarrollo y las herramientas del SDK del iPhone e hizo subir al escenario a varios representantes de compañías que han tenido ya acceso al kit de desarrollo y han empezado a crear sus primeros programas. Muy esclarecedor el hecho de que estuvieran presentes y hablaran representantes de dos compañias de videojuegos: Travis Boatman de EA, que hizo una demostración del juego Spore y Ethan Einhorn de Sega, con una demo del Super Monkey Ball. Ambos coincidieron en sus alabanzas hacie el iPhone como gran plataforma para desarrollo de juegos y revolucionaria en su concepción al usar el control táctil y el acelerómetro como sistema de control de los juegos.

Además de estos aparecieron Chuck Dietrich de Salesforce.com que hizo una demostración de software de gestión desarrollado por su compañia, y Rizwan Sattar (AOL) quien mostró un cliente de mensajería de AIM realizado en dos semanas y con una lista de contactos que aseguró tener funcional en cinco días de desarrollo. Mostró otro ejemplo del uso de la tecnología táctil para la usabilidad en el software desarrolado para el iPhone: cambiar entre conversaciones simplemente arrastrando con el dedo la conversación hacia un lado de la pantalla, apareciendo la siguiente deslizándose.

Tambien estuvo presente Glenn Keighley de Epocrates, desarrolladores de una suite de aplicaciones médicas para PDA´s muy popular, con una versión de su software médico para el iPhone. Después de estas demostraciones de software desarrollado en poco tiempo usando todas las tecnologías más punteras del iPhone, Steve Jobs volvió al escenario para descubrir los últimos detalles.

Herramientas desarrollo iPhone
Acceso al SDK y modelo de distribución de software

Steve presentó lo que será una aplicación estándar en todos los iPhone con el nuevo firmware: el App Store. Se trata de la única forma de distribuir las aplicaciones desarrolladas para ser instaladas en el iPhone. Esta aplicación tiene un directorio de aplicaciones que permite navegar por categorías, por las aplicaciones recomendadas por Apple y las más populares.

El App Store permite la instalacion via wifi de las aplicaciones, avisa cuando hay actualizaciones disponibles y permite realizarlas de forma simple desde el propio dispositivo. Además del App Store por separado en cada iPhone, habrá una nueva seccion en iTunes que permitirá descargar y sincronizar las aplicaciones con el iPhone.

App Store es la forma exclusiva de distribuir aplicaciones del iPhone para los desarrolladores. El desarrollador elige el precio y un 70% de los ingresos van para el desarrollador. No hay tasas por la gestión de los pagos, el hosting o el marketing y los ingresos se reciben mensualmente. Y si el desarrollador quiere poner a disposición de los usuarios su software de forma gratuita, Apple no cobra tampoco nada. Si existe una limitación a toda esta ayuda de Apple a la distribución del software de terceros: todo lo relacionado con porno, aplicaciones maliciosas, p2p, etc no estará permitido.

Todas las mejoras presentadas ayer del kit de desarrollo nativo del iPhone y de las nuevas características orientadas al sector empresarial estarán en la versión 2.0 del firmware del iPhone que se publicará a finales de Junio de este año. Ya está disponible la beta que Apple ha publicado junto con su kit de desarrollo para probar todas estas nuevas funcionalidades. Para el iPhone será una actualizacion gratuita  y el software también estará disponible con idénticas características en el iPod Touch con un cargo adicional por la actualización.

La descarga del SDK es gratuita e incluye el simulador de iPhone. Para poder hacer el debugging del software dentro del iPhone y distribuir las aplicaciones desarrolladas en el App Store hay que registrarse en el programa de desarrolladores de iPhone, de donde se recibe el certificado necesario para firmar el software y que se pueda ejecutar e instalar en el dispositivo.

En dicho programa se recibe asistencia técnica, se comprueba tu software y se permite su distribucion por un coste de 99 dolares. De esta forma se tiene controlado a todos los desarrolladores y si se detecta software malicioso o ilegal, es sencillo bloquear la distribución del software. Hay que hacer notar que para el uso de software interno de empresas, Apple está trabajando en otra solución.

One more thing
 
John Doerr de Kleiner, Perkins, Caufild & Byers anunció iFund, una iniciativa que pretende servir como impulsor de los servicios y aplicaciones innovadores desarrollados sobre la plataforma del iPhone. Dicha iniciativa cuenta con un capital inicial de 100 millones de dólares. 
 
Gadgets: Apple iPhone, iPod Touch
Fuente: Apple
  • Currently 5.0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Comentarios.

Avatar de Carlos Fenollosa

Por Carlos Fenollosa hace 7 meses

Yo me estoy planteando lo siguiente. Se supone que el único método para instalar aplicaciones es con la App Store, ¿verdad?

Pero, si el distribuidor nos pasa el código fuente (el proyecto de Xcode), podemos cargarlo directamente al teléfono, ¿no?. Ahí tenemos ya un agujero para instalar los sim-unlockers y demás.

A menos, claro, que Apple ejecute las aplicaciones de Xcode dentro de una jaula, pero no lo creo.

Avatar de Kurjak

Por Kurjak hace 7 meses

Acabo de echarle un ojo a la página de Apple Developer y por lo que veo hace falta un "Intel processor-based Mac running Mac OS X Leopard" para correr el SDK. Ya veo que poco a poco me van obligando a jubilar a mi precioso PowerBook G4 12'' y pasar otra vez por caja a por un Intel.

Otra cosa que no veo demasiado clara es si se podrá programar con Python, porque supongo que los bindings de Cocoa Touch serán diferentes a los de Cocoa normal, aunque he oído que en Leopard este tema de los bindings está más o menos resuelto de fábrica. Alguien que use Leopard con Python por aquí?

Avatar de Ramón Rey

Por Ramón Rey hace 7 meses

Carlos: para poder instalarlo en un telefono necesitarias su certificado de desarrollador, para poder compilarlo... y eso es inviable.

Kurjak: que yo sepa no han dicho nada de bindings, es todo objective-c puro y duro. Y si, hace falta ya Mac Intel para todo y Leopard, es lo que tiene Apple que empuja a la actualización cuando hay grandes cambios

Avatar de w4v3

Por w4v3 hace 7 meses

La verdad es que pinta realmente muy bien, yo me lo bajé ayer pero me pide el leopard. Lo que me parece muy interesante es que sean las herramientas que usa apple.

Avatar de Carlos Calvente

Por Carlos Calvente hace 7 meses

Lo que tenian que hacer estos de los iphones esos es dejarlos mas baratos, venderlos con un sistema no cerrado, digo yo para no tener que desprotegerlos nada mas comprarlos, esperemos que en poco salga alguno mejor seguro de la competencia y con más prestaciones.

Buena andadura.

Carlos Calvente
desde el otro lado del charco

Avatar de Nacho Lasheras

Por Nacho Lasheras hace 6 meses

Yo he estado siguiendo el tema del SDK de iPhone no muy de cerca, pero con cierto interés (ya que trabajo programando para móviles) y la verdad es que, aunque pinta cojonudo, tiene algunos detallitos que lo hacen menos atractivo que en la presentación (sera cosa del RDF de Steve Jobs.

i) La famosa cláusula 3.3.2: No se permite ningún tipo de código interpretado (así que olvidaos de emuladores, ScummVM y de Java). De esto espero que en algún momento alguien pregunte a Apple y de más detalles sobre que se permite y que no. No obstante, parece una medida "cautelar" para evitar bugs en la VM que comprometan la seguridad.

ii) No se permite ningún uso de APIs de forma no recomendada por Apple. No solo desaconsejan, sino que te prohiben intentar circunvalar las limitaciones del SDK.

iii) Solo ejecutas un programa a la vez. Parece que algunas aplicaciones van a tener que enfrentarse a retos interesantes para solventar esto. Aunque es una ventaja, porque en los móviles es un poco rollo el tema de la RAM (ya que en muchos teléfonos, la RAM y memoria de disco es lo mismo). Pero por otro lado, como los juegos de Gameloft tarden en cargar lo que tardan en Java... como te llamen te hunden en la miseria.

iv) Una putadilla menor, es que requiere Leopard, y algo mayor que hasta Junio, que sale el firmware 2.0, nada de ejecutar en el teléfono. Pero supongo que esto con el tiempo dará igual.

v) El sistema de certificados y registro previo-pago para desarrollar. Por un lado lo entiendo, pero por otro lado me "toca las narices" tener que registrarme para experimentar en mi fuckin' telefono. Aunque, cierto es también, que lo han llevado mucho mejor que Symbian.

Eso es todo lo que se me ocurre que es tarde y ya no escribo con claridad,
$PATH y japi jaquin'.

Escribe tu comentario

Si quieres dejar un comentario Inicia sesión o Registrate