
En iPhoneSoftware hemos estrenado una nueva sección destinada a foros de debate. Los foros creados actualmente se irán ajustando a medida que los usuarios vayan participando, y es posible que modifiquemos alguno de ellos o que creemos otros.
Consideramos que independientemente a los artículos que sigamos desarrollando, es interesante disponer de un foro donde iremos conociendo a más gente con los mismos intereses.
Esperamos que os sean de utilidad y estamos abiertos a recibir opiniones y sugerencias acerca de los mismo.

Entre otras cosas, el objetivo principal del uso del framework gratuito iUI para la creación de aplicaciones Web para nuestro iPhone es aprovechar el uso de AJAX, limitar en función de la orientación del dispositivo el tamaño de los contenidos, utilizar el soporte de gráficos especiales de Safari llamado Canvas y detectar ciertos eventos que se producen en nuestro iPhone.
Para ello, una vez generemos el código HTML necesario para nuestra Web, iUI es capaz de reconocerlo y adaptarlo. Por supuesto, para que dicho reconocimiento sea efectivo,tenemos que generar ciertas estructuras con DIVs y ULs, junto a ciertos nombres de clases que darán los estilos necesarios y permitirán al iUI decidir qué acción tomar.
Existen 2 ejemplos que demuestran las capacidades de iUI, un mockup de Digg y un reproductor de música que nos muestran como cargar páginas adicionales por medio de peticiones AJAX, crear la navegación a la partir de una lista y la barra de herramientas.
Para los más inquietos, existe un pequeño Wiki donde explican todas las bases del desarrollo web para iPhone, y sobre las cuales está creado iUI.
Hasta ahora, en iPhoneSoftware.es nos hemos centrado en aplicaciones nativas, utilizando el entorno de desarrollo proporcionado por Apple y su kit de desarrollo (SDK).
Igualmente existe otra opción a la hora de desarrollar aplicaciones para nuestro dispositivo, como si de una página Web se tratara, pero teniendo en cuenta una serie de recomendaciones tanto a nivel técnico como estético, para que dicha aplicación tenga el aspecto más apropiado posible para el iPhone.
Es lógico que a la hora de mostrar cualquier página Web en las dimensiones de nuestro iPhone, nos resulte difícil ver la totalidad de su contenido, y menos aún poder leer con facilidad. Es por ello que debemos de ajustar ese contenido al iPhone manteniendo una homogeneidad con el resto de controles estándar de iPhone.
- Recomendaciones
Resumiendo, una navegación amigable, legible y manteniendo los estilos de las aplicaciones nativas de iPhone. En breve hablaremos de un pequeño paquete de Javascript y CSS que está siendo extendido para el desarrollo de cualquier aplicación web para iPhone, creada por Joe Hewitt, co-fundador de Firefox y creador de Firebug, que permite emular el lenguaje nativo visual del iPhone, llamada iUI.
Sin tiempo aún para revisar a fondo la anterior beta 4, hoy vuelven a publicar una nueva versión del kit de desarrollo de iPhone.
Esta vez, sin muchas novedades ya que arregla algunos bugs de versiones anteriores, mejora aspectos de la interfaz de usuario y añade soporte para la ultima versión del iPhone OS. Quien ya lo ha probado comenta también aspectos como la posibilidad de ver videos musicales en vertical y una opción llamada Location Services en las opciones de General.
Ya os contaré novedades si encuentro alguna más.
Las librerías dinámicas (.dylib) son como los ficheros de librería DLL conocidos en Windows. Son ficheros de enlace dinámico que pueden resultarnos útiles para la construcción de nuestro proyecto, al igual que los conjuntos de clases disponibles en los frameworks.
En función del tipo de plataforma sobre el que queramos crear nuestra aplicación (iPhone OS 2.0, Mac OS X 10.4, Mac OS X 10.5), recomiendo que a la hora de añadir el framework o librería dinámica que queramos incluir, no lo hagamos buscando de forma manual el fichero necesario, aunque en algunas ocasiones no quede más remedio, sino que lo hagamos desde nuestro árbol de proyectos, bajo la opción de Targets / Link Binary with libraries, con el botón derecho Add Existing Framework.

A diferencia de la búsqueda manual, veremos que de esta forma es mucho más sencillo, ya que además de localizar solamente los frameworks disponibles para nuestra plataforma, también podemos añadir librerías dylibs.



Desde la úlitma versión publicada del SDK de iPhone por Apple, entre otras novedades hemos podido ver un nuevo tipo de proyecto a la hora de trabajar con nuestro entorno de desarrollo de xCode. En concreto hablamos de Cocoa Touch Utility el cual creará el esqueleto de una aplicación para iPhone con una animación bastante vistosa.
El efecto en cuestión lo podemos apreciar al pulsar un pequeño botón de información situado en la parte inferior derecha de nuestra ventana principal de la aplicación, y para reconocerlo en nuestro código fuente nos vamos a referir a él como FlipsideView.
Vamos a desgranar el proyecto creado para conocer nuevos detalles y aprender de ellos.
1. Ficheros de recursos
Un detalle que observamos es la creación de varios ficheros de recursos XIB, donde además del ya creado por defecto, vemos el que se encargar de la ventana principal de la aplicación y un segundo que es para la ventana de información que viene tras el efecto animado. Ambos ficheros solo constan de una simple vista.
2. Main View
Como su nombre bien indica, aqui encontramos la vista y el controlador de la misma encargados de la vista principal que aparece al ejecutar nuestra aplicación. Tan solo destacar en ella la creación del botón de información, ubicado en nuestro fichero MainViewController.m. Como era de imaginar es un botón sencillo de la clase UIButton con un valor asignado al método buttonWithType de UIButtonTypeInfoLight. Existen otros tipos predefinidos como:
typedef enum {
UIButtonTypeCustom = 0,
UIButtonTypeRoundedRect,
UIButtonTypeGlass,
UIButtonTypeDetailDisclosure,
UIButtonTypeInfoLight,
UIButtonTypeInfoDark,
UIButtonTypeContactAdd,
UIButtonTypeNavigation = 100,
UIButtonTypeNavigationBack,
UIButtonTypeNavigationDone
} UIButtonType;
3. Flipside View
Al igual que en el apartado 2 anterior, aquí encontramos los ficheros responsables de la vista de información con su controlador incluido. Destacamos la creación de una barra de navegación con el botón Done para volver a la vista anterior.
Para dicho control utilizamos la clase UINavigationBar donde definimos el tipo de botón que queremos insertar con initWithBarButtonSystemItem:UIBarButtonSystemItemDone. Existen otros como:
typedef enum {
UIBarButtonSystemItemDone,
UIBarButtonSystemItemCancel,
UIBarButtonSystemItemEdit,
UIBarButtonSystemItemSave,
UIBarButtonSystemItemAdd,
UIBarButtonSystemItemFlexibleSpace,
UIBarButtonSystemItemFixedSpace,
UIBarButtonSystemItemCompose,
UIBarButtonSystemItemReply,
UIBarButtonSystemItemAction,
UIBarButtonSystemItemOrganize,
UIBarButtonSystemItemBookmarks,
UIBarButtonSystemItemSearch,
UIBarButtonSystemItemRefresh,
UIBarButtonSystemItemStop,
UIBarButtonSystemItemCamera,
UIBarButtonSystemItemTrash,
UIBarButtonSystemItemPageCurl,
UIBarButtonSystemItemPlay,
UIBarButtonSystemItemPause,
UIBarButtonSystemItemRewind,
UIBarButtonSystemItemFastForward,
} UIBarButtonSystemItem;
4. Application Controllers
Para finalizar, aqui encontramos la clase encargada de la carga y visualización de ambas vistas, así como de gestionar los eventos que se producen en ambas (ver (IBAction)toggleView:(id)sender en ambos controladores de vista así como action:@selector(toggleView
en ambos botones de info y done).
El encargado de este efecto es setAnimationTransition que mediante UIViewAnimationTransitionFlipFromLeft y UIViewAnimationTransitionFlipFromRight produce la animación.

Solo ha pasado un mes desde la anterior, y de nuevo llega otra versión beta más del kit de desarrollo de iPhone, en este caso la cuarta, en la que incluye novedades como el soporte OpenGL, que servirá para hacer aún más atractivas las aplicaciones para nuestro iPhone/iPod Touch, así como funciones de imagen/video con gran número de efectos.
Aunque esta es la novedad más importante, no dejemos de pasar otras como: