<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Actualidad iPhone &#187; Javier Echeverría Usúa</title>
	<atom:link href="http://www.actualidadiphone.com/author/javieu/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.actualidadiphone.com</link>
	<description>iPhone, iPhone 3G e iPod Touch. Informacion en español del nuevo telefono de Apple. Las mejores aplicaciones para el iPhone de la App Store. iPhone 2.0, Movistar, España, Telefónica, firmware, liberar iPhone, activar iPhone, jailbreak, tutoriales y manuales para el iPhone.</description>
	<lastBuildDate>Fri, 19 Mar 2010 12:33:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Zuinq 1.0.2 &#8211; Aplicaciones &#8211; AppStore</title>
		<link>http://www.actualidadiphone.com/2009/12/04/zuinq-1-0-2-aplicaciones-appstore/</link>
		<comments>http://www.actualidadiphone.com/2009/12/04/zuinq-1-0-2-aplicaciones-appstore/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 19:22:04 +0000</pubDate>
		<dc:creator>Javier Echeverría Usúa</dc:creator>
				<category><![CDATA[Aplicaciones iphone]]></category>
		<category><![CDATA[App store]]></category>

		<guid isPermaLink="false">http://www.actualidadiphone.com/?p=25254</guid>
		<description><![CDATA[
Zuinq es una aplicación de desarrollo español destinada a almacenar y localizar lugares geolocalizados. 
Si bien hay varias aplicaciones de esta naturaleza, tiene algunos puntos destacables:

Tiene integrados varios API’s públicos, como los de 11870.com (red social de publicación de comentarios de lugares), sevici (puntos de ubicación de bicicletas), etc.; parece además que se implementarán otros [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-25255" title="mapa zuinq" src="http://www.actualidadiphone.com/wp-content/uploads/2009/12/portada.png" alt="mapa zuinq" width="320" height="480" /></p>
<p>Zuinq es una aplicación de desarrollo español destinada a almacenar y localizar lugares geolocalizados. <span id="more-25254"></span></p>
<p>Si bien hay varias aplicaciones de esta naturaleza, tiene algunos puntos destacables:</p>
<ul>
<li>Tiene integrados varios API’s públicos, como los de 11870.com (red social de publicación de comentarios de lugares), sevici (puntos de ubicación de bicicletas), etc.; parece además que se implementarán otros como hotspots de Fon, etc.</li>
<li>Dispone de cierto comportamiento social, con puntuación de sitios, publicación de nuevos sitios, grupos, etc.</li>
</ul>
<p>Básicamente Zuinq permite:</p>
<ul>
<li>Filtrar lugares por categoría, grupo y nombre. Zuinq organiza los lugares de interés por categorías (gasolineras, bancos, hostelería, servicios públicos, &#8230;), que a su vez se dividen en grupos. De esta forma, puedes por ejemplo buscar los cajeros de tu banco eligiendo la categoría ‘bancos’, y seleccionando el grupo correspondiente. Además, puedes filtrar las listas de grupos y lugares introduciendo el nombre (o parte) de lo que estás buscando.</li>
</ul>
<p><img class="aligncenter size-full wp-image-25256" title="lugares_grupo" src="http://www.actualidadiphone.com/wp-content/uploads/2009/12/lugares_grupo.jpg" alt="lugares grupo Zuinq 1.0.2   Aplicaciones   AppStore" width="320" height="480" /></p>
<ul>
<li>Ver detalle del lugar. Una vez encuentres el lugar que buscas, puedes consultar su información relevante, como dirección, distancia, descripción, así como abrir su página web, enviar un email o llamar por teléfono al local. Además, podrás ver los comentarios y valoraciones de otras personas que los han visitado.</li>
<li>Localizar en el mapa. Puedes visualizar la posición de cualquier lugar en el mapa, y comprobar de un solo vistazo la localización de todos los lugares de su mismo grupo. Además, puedes calcular la ruta desde tu posición actual al lugar que desees.</li>
<li>Añadir comentarios. Permite compartir tu opinión de los lugares en los que has estado con el resto de usuarios. Puedes escribir una crítica, y dar una puntuación al lugar.</li>
</ul>
<p><img class="aligncenter size-full wp-image-25257" title="comentarios" src="http://www.actualidadiphone.com/wp-content/uploads/2009/12/comentarios.png" alt="comentarios Zuinq 1.0.2   Aplicaciones   AppStore" width="320" height="480" /></p>
<ul>
<li>Gestionar favoritos. Puedes añadir los grupos que más te interesen a tu lista de favoritos, para acceder a ellos de forma más rápida. Además, en el mapa de favoritos puedes ver los lugares de tus grupos, con tan solo un clic.</li>
<li>Crear nuevos lugares. Como se ha comentado, permite compartir con la comunidad un nuevo sitio. La aplicación toma automáticamente la dirección y coordenadas donde estés localizado, y te permite introducir el nombre del lugar, y añadir otros datos opcionales como la descripción, foto, teléfono, &#8230; además, se puede ajustar la localización exacta del lugar arrastrando el marcador en el mapa.</li>
<li>Crear nuevos grupos. Una de las diferencias más interesantes de Zuinq con respecto a otros ‘localizadores’ de lugares de interés, es la posibilidad de añadir nuevos grupos. De esta forma, la lista de grupos no se limita a un puñado de opciones predefinidas, sino que está en continuo crecimiento gracias a su orientación social.</li>
</ul>
<p>Zuinq incluye en su versión actual más de 50.000 lugares de toda España, entre más de 100 grupos. Interesante sobre todo para usuarios de 11870.com como el que suscribe.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.actualidadiphone.com/2009/12/04/zuinq-1-0-2-aplicaciones-appstore/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sevicicleta: encuentra tu bici en Sevilla</title>
		<link>http://www.actualidadiphone.com/2009/02/19/sevicicleta-encuentra-tu-bici-en-sevilla/</link>
		<comments>http://www.actualidadiphone.com/2009/02/19/sevicicleta-encuentra-tu-bici-en-sevilla/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 18:05:48 +0000</pubDate>
		<dc:creator>Javier Echeverría Usúa</dc:creator>
				<category><![CDATA[Aplicaciones iphone]]></category>
		<category><![CDATA[App store]]></category>
		<category><![CDATA[Curiosidades]]></category>

		<guid isPermaLink="false">http://www.actualidadiphone.com/?p=10169</guid>
		<description><![CDATA[
Acaba de publicarse una aplicación nativa para iPhone llamada Sevicicleta. Sevilla dispone de un servicio denominado Sevici, que permite a los usuarios alquilar bicicletas en una estación y dejarla en otra, constituyendo una alternativa real y cómoda de transporte.
El principal problema de este servicio es que en varias ocasiones, cuando llegamos a la estación no [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-10170" title="callejero" src="http://www.actualidadiphone.com/wp-content/uploads/2009/02/callejero.png" alt="callejero Sevicicleta: encuentra tu bici en Sevilla" width="321" height="480" /></p>
<p>Acaba de publicarse <a href="http://xnoccio.com/427-disponible-en-el-appstore/" target="_blank">una aplicación nativa para iPhone llamada Sevicicleta</a>. Sevilla dispone de un servicio denominado Sevici, que permite a los usuarios alquilar bicicletas en una estación y dejarla en otra, constituyendo una alternativa real y cómoda de transporte.</p>
<p><span id="more-10169"></span>El principal problema de este servicio es que en varias ocasiones, cuando llegamos a la estación no existen bicicletas libres, o nos encontramos que al llegar al punto deseado, no existe ningún anclaje libre para depositar nuestra bicicleta, obligándonos a ir a otra estación donde podríamos encontrarnos este mismo problema.</p>
<p><img class="aligncenter size-full wp-image-10171" title="favoritos" src="http://www.actualidadiphone.com/wp-content/uploads/2009/02/favoritos.png" alt="favoritos Sevicicleta: encuentra tu bici en Sevilla" width="320" height="479" /></p>
<p>Sevicicleta intenta aliviar estos problemas a los usuarios de este servicio. La aplicación hace uso del GPS del iPhone para geolocalizarnos, y mostrarnos las diversas estaciones de bicicletas que tenemos cerca de nosotros, pudiendo conocer las bicicletas y puntos de anclaje libres. También nos permite almacenar nuestras estaciones favoritas, visualizar su ubicación en un mapa, etc.</p>
<p><img class="aligncenter size-full wp-image-10172" title="listado" src="http://www.actualidadiphone.com/wp-content/uploads/2009/02/listado.png" alt="listado Sevicicleta: encuentra tu bici en Sevilla" width="319" height="479" /></p>
<p>En definitiva, una interesante opción para los afortunados ciclistas poseedores de nuestro teléfono favorito.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.actualidadiphone.com/2009/02/19/sevicicleta-encuentra-tu-bici-en-sevilla/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Desarrollando sobre iPhone (5): nuestra primera aplicación (III)</title>
		<link>http://www.actualidadiphone.com/2008/11/10/desarrollando-sobre-iphone-5-nuestra-primera-aplicacion-iii/</link>
		<comments>http://www.actualidadiphone.com/2008/11/10/desarrollando-sobre-iphone-5-nuestra-primera-aplicacion-iii/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 13:44:35 +0000</pubDate>
		<dc:creator>Javier Echeverría Usúa</dc:creator>
				<category><![CDATA[Desarrollo aplicaciones iPhone]]></category>
		<category><![CDATA[Varios]]></category>
		<category><![CDATA[aplicaciones]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[objetive c]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.actualidadiphone.com/?p=6213</guid>
		<description><![CDATA[
En nuestro anterior artículo habíamos incluido en la interfaz de nuestra aplicación un Label, un TextField y un Button. Pretendíamos que el contenido del Label se actualizase con lo introducido en el TextField al pulsar sobre el Button. Habíamos (paso 1) creado el proyecto, y (paso 2) utilizado InterfaceBuilder para definir la pantalla. Ahora continuaremos [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-17.png"><img class="size-medium wp-image-6311 aligncenter" title="imagen-17" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-17-155x300.png" alt="imagen 17 155x300 Desarrollando sobre iPhone (5): nuestra primera aplicación (III)" width="155" height="300" /></a></p>
<p>En <a href="http://www.actualidadiphone.com/2008/11/09/desarrollando-sobre-iphone-4-nuestra-primera-aplicacion-ii/">nuestro anterior artículo</a> habíamos incluido en la interfaz de nuestra aplicación un Label, un TextField y un Button. Pretendíamos que el contenido del Label se actualizase con lo introducido en el TextField al pulsar sobre el Button. Habíamos (paso 1) creado el proyecto, y (paso 2) utilizado InterfaceBuilder para definir la pantalla. Ahora continuaremos con el resto de pasos para dejar la aplicación funcionando.<span id="more-6213"></span></p>
<p><strong>Paso 3. Crear variables en el ViewController.</strong></p>
<p>Disponemos de nuestra interfaz correctamente. De hecho, si hiciésemos Build &amp; Go podríamos ver cómo nos va quedando:</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-71.png"><img class="size-medium wp-image-6215 aligncenter" title="imagen-71" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-71-156x300.png" alt="imagen 71 156x300 Desarrollando sobre iPhone (5): nuestra primera aplicación (III)" width="156" height="300" /></a></p>
<p>Pero obviamente no pasa nada el pulsar en el botón, porque no hemos realizado los desarrollos mínimos imprescindibles. En este paso 3 vamos a introducir las variables y métodos en el HelloWorldViewController, tanto en la interfaz (fichero .h) como en la implementación (fichero .m). Para ello, según indicamos al final del post anterior, tenemos que saber que el TextField se corresponde con una clase UITextField, y el Label con una clase UILabel. Estas 2 clases están dentro del framework UIKit.</p>
<p>Si no hemos cerrado y grabado Interface Builder, lo hacemos y en XCode abrimos el fichero HelloWorldViewController.h. El código ahora mismo tendrá algo así:</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-81.png"><img class="size-medium wp-image-6216 aligncenter" title="imagen-81" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-81-300x100.png" alt="imagen 81 300x100 Desarrollando sobre iPhone (5): nuestra primera aplicación (III)" width="300" height="100" /></a></p>
<p>Ya estamos viendo algo de Objective-C. En este código vemos una declaración de importación de la librería UIKit, donde están las clases UILabel y UITextField. Vemos cómo se declara la interface, y que ésta extiende de la genérica UIViewController de UIKit.</p>
<p>Dentro del código de la interfaz incluimos el siguiente código:</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-91.png"><img class="size-medium wp-image-6217 aligncenter" title="imagen-91" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-91-300x173.png" alt="imagen 91 300x173 Desarrollando sobre iPhone (5): nuestra primera aplicación (III)" width="300" height="173" /></a></p>
<p>Podemos explicar ahora qué hemos hecho:</p>
<ul>
<li>Hemos declarado dentro del bloque @interface 2atributos de tipo UILabel y UITextField, con 2 nombres de variables *label y *textField respectivamente. Por delante aparece IBOutlet. ¿Qué es todo esto? Nos explicamos. IBOutlet no es un tipo de variable; es una directiva que le ayuda a Interface Builder a conocer la existencia de estas variables de tipo UILabel y UITextField. Por cierto, recordad que en el anterior artículo os habíamos dado un truco para conocer los tipos de variable de los objetos de control (botones, label, text field, etc.) en Interface Builder. Por otro lado, el tema de los * delante del nombre de variable puede sorprender a los programadores Java, no tanto a los de C&#8230; pero aprended que así escribiréis en Objective-C las variables de instancia.</li>
<li>Se declaran las propiedades UILabel y UITextField. nonatomic y retain no lo veremos por ahora, está relacionado con la gestión de memoria.</li>
<li>Vemos que declaramos un método, updateTexto. Tiene un signo &#8211; delante, indicando que es un método de instancia, y no de clase (para ellos se explica un signo +). No podemos entrar a explicar a esto porque esto es programación básica orientado a objetos&#8230; Ese método no devuelve nada (es decir, void) y recibe un parámetro de tipo id. Básicamente se refiere al identificador del objeto que provocará la llamada a nuestro método updateTexto, que actualizará el valor del label. Podemos adivinar ya que ese control será el propio botón&#8230;</li>
</ul>
<p>Una vez hecho esto, hemos acabado con el paso 3.</p>
<p><strong><br />
</strong></p>
<p><strong>Paso 4. Enlazar controles de la vista con variables del controlador.</strong></p>
<p>Si repasamos, por un lado hemos desarrollado nuestra interfaz con Interface Builder, y por el otro disponemos de las variables relacionadas con esos controles en el HelloWorldViewController.h (interface de la clase controladora HelloWorldViewController.m). Sin embargo, todavía no existe una relación entre la vista y el controlador, es decir, no hemos dado ninguna instrucción para relacionar, por ejemplo, el campo de texto que diseñamos en Interface Builder con la variable de tipo UITextField que hemos metido en la clase. Ahora vamos a realizar esta tarea. Abrimos nuevamente Interface Builder pulsando sobre HelloWorldViewController.xib, pulsamos sobre la caja de texto, y en la paleta Inspector nos vamos a la segunda pestaña (Text Field Connections). Vemos que existe un apartado llamado Referencing Outlets, sin que haya nada marcado. Eso significa que en estos momentos Interface Builder no conoce ninguna relación entre este campo de texto y un IBOutlet (Interface Builder Outlet) de una clase&#8230; pero tenemos un IBOutlet UITextField en nuestro HelloWorldViewController, así que vamos a enlazarlo.</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-55.png"><img class="size-medium wp-image-6313 aligncenter" title="imagen-55" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-55-300x242.png" alt="imagen 55 300x242 Desarrollando sobre iPhone (5): nuestra primera aplicación (III)" width="300" height="242" /></a></p>
<p>Para ello, como vemos en la figura, pulsando sobre el pequeño círculo al lado de &#8220;New Referencing Outlet&#8221;, arrastramos hasta el File&#8217;s Owner de la ventana llamada HelloWorldViewController.xib. Nos dejará escoger 2 opciones, view (la vista completa) y textField (nuestra variable). Obviamente escogemos textField, y así relacionamos nuestra caja de texto con la variable de su tipo UITextField. Por cierto, el File&#8217;sOwner o dueño del fichero es ni más ni menos que nuestra clase controladora&#8230;</p>
<p>Repetimos la operación con el label, relacionándola con nuestra variable del controlador label. Y con el botón, es algo distinto. En este caso lo vamos a relacionar con nuestra operación updateTexto, pero para un evento en concreto. Haced esta operación con el evento &#8216;Touch Up Inside&#8217;, y escoged nuestro método updateTexto:</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-65.png"><img class="size-medium wp-image-6315 aligncenter" title="imagen-65" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-65.png" alt="imagen 65 Desarrollando sobre iPhone (5): nuestra primera aplicación (III)" width="271" height="257" /></a></p>
<p>Y de esta forma ya sí tenemos relacionados los controles que habíamos definido con Interface Builder y las variables que hemos metido en el controlador. Cerramos Interface Builder grabando todo y nos vamos al último paso volviendo a XCode.</p>
<p><strong>Paso 5. Últimos desarrollos.</strong></p>
<p>En XCode abrimos el HelloWorldViewController.m y metemos el siguiente código para que nuestra clase nos quede así:</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-73.png"><img class="size-medium wp-image-6318 aligncenter" title="imagen-73" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-73.png" alt="imagen 73 Desarrollando sobre iPhone (5): nuestra primera aplicación (III)" width="252" height="160" /></a></p>
<p>Si nos fijamos bien hemos metido simplemente el bloque @synthesize, y la implementación del método declarado en la interface .h, updateTexto. Debajo de ese código tendréis mucho código comentado.</p>
<p>La línea de @synthesize hace algo similar a generar los típicos getter/setter (accesores / mutadores) típicos en los lenguajes OO (encapsulación). Los necesitamos para que al controlador le llegue el contenido, por ejemplo, de la caja de texto.</p>
<p>El método updateTexto, como veis, simplemente actualiza el texto de nuestro label con el contenido del campo de texto. Hemos acabado.</p>
<p>Ahora, simplemente hacemos Build &amp; Go, y veréis que al meter una cadena de texto y pulsar en el botón, el contenido del label se actualiza. En el siguiente artículo introduciremos mejoras a nuestra aplicación.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.actualidadiphone.com/2008/11/10/desarrollando-sobre-iphone-5-nuestra-primera-aplicacion-iii/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Desarrollando sobre iPhone (4): nuestra primera aplicación (II)</title>
		<link>http://www.actualidadiphone.com/2008/11/09/desarrollando-sobre-iphone-4-nuestra-primera-aplicacion-ii/</link>
		<comments>http://www.actualidadiphone.com/2008/11/09/desarrollando-sobre-iphone-4-nuestra-primera-aplicacion-ii/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 10:55:15 +0000</pubDate>
		<dc:creator>Javier Echeverría Usúa</dc:creator>
				<category><![CDATA[Desarrollo aplicaciones iPhone]]></category>
		<category><![CDATA[Varios]]></category>
		<category><![CDATA[aplicaciones]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[objetive c]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.actualidadiphone.com/?p=6197</guid>
		<description><![CDATA[
En nuestro anterior post indicábamos cómo iba a ser nuestra aplicación HelloWorld y los pasos que íbamos a dar para construir nuestra aplicación, además de dar enlaces a documentación obligada. En este artículo empezamos abriendo el XCode y comenzamos a desarrollar.
Paso 1. Crear el Proyecto.
Por ello abrimos XCode y cerramos (si sale), la ventana de [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/background.png"><img class="size-medium wp-image-6200 aligncenter" title="background" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/background-200x300.png" alt="background 200x300 Desarrollando sobre iPhone (4): nuestra primera aplicación (II)" width="200" height="300" /></a></p>
<p>En <a href="http://www.actualidadiphone.com/2008/11/09/desarrollando-sobre-iphone-3-nuestra-primera-aplicacion-i/">nuestro anterior post</a> indicábamos cómo iba a ser nuestra aplicación HelloWorld y los pasos que íbamos a dar para construir nuestra aplicación, además de dar enlaces a documentación obligada. En este artículo empezamos abriendo el XCode y comenzamos a desarrollar.<span id="more-6197"></span></p>
<p><strong>Paso 1. Crear el Proyecto.</strong></p>
<p>Por ello abrimos XCode y cerramos (si sale), la ventana de bienvenida de la aplicación. Antes de crear nuestro proyecto, podemos entrar en las preferencias de XCode. En General -&gt; Layout escoged &#8216;All-In-One&#8217;, al menos si queréis poder comparar lo que veis en vuestras pantallas con las imágenes que veréis.</p>
<p>En este momento creamos el proyecto: File -&gt; New Project, y escogemos View-Based:</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-16.png"><img class="size-medium wp-image-6202 aligncenter" title="imagen-16" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-16-300x203.png" alt="imagen 16 300x203 Desarrollando sobre iPhone (4): nuestra primera aplicación (II)" width="300" height="203" /></a></p>
<p>Según indicamos en el artículo anterior, para un proyecto View-Based XCode nos crea una vista enlazada con una clase Controller (recordad que hablábamos del patrón MVC). Llamad al proyecto HelloWorld y guardadlo en la carpeta que deseéis. Veréis algo similar a esto:</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-25.png"><img class="size-medium wp-image-6203 aligncenter" title="imagen-25" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-25-300x128.png" alt="imagen 25 300x128 Desarrollando sobre iPhone (4): nuestra primera aplicación (II)" width="300" height="128" /></a></p>
<p>Vemos que disponemos de varios ficheros:</p>
<ul>
<li>HelloWorldViewController.h y HelloWorldViewController.m. Ambos se corresponden con el controlador de nuestra pantalla. Aquí estará la lógica relacionada con nuestra vista; en nuestro caso, aquí deberá estar el código que haga que el valor del label cambie con lo que se introduzca en la caja de texto. Vemos que hay un fichero .h y otro .m. El primero es la cabecera, en Java sería la Interface. Aquí van las declaraciones de variables, métodos, etc. El fichero .m es el que contiene ya la implementación.</li>
<li>HelloWorldViewController.xib. ib=Interface Builder. Este fichero es nuestra vista, la pantalla. Es invocado por MainWindow.xib, la fachada principal de vistas que no tocaremos.</li>
<li>HelloWorldAppDelegate (.h y .m). No los vamos a modificar, dispone de un puntero a nuestro ViewController.</li>
<li>Info.plist. Es un XML con información sobre nuestra aplicación. Aquí podemos por ejemplo indicar cuál es el icono de nuestra aplicación.</li>
</ul>
<p><strong>Paso 2. Diseñar la interfaz.</strong></p>
<p>Vamos a comenzar a &#8220;dibujar&#8221; la pantalla de nuestra aplicación. Para ello, en XCode hacemos doble clic sobre el HelloWorldViewController.xib, y veremos que se abre la aplicación Interface Builder. Antes de nada, como consejo práctico os recomiendo que verifiquéis siempre que tengáis abiertas las paletas Inspector y Library. Las podéis abrir en el menú Tools de Interface Builder. La paleta Library os permitirá añadir diferentes controles a vuestra vista, y la paleta Inspector os permite ver las propiedades de cada objeto y modificarlas.</p>
<p>No vamos a tratar de hacer una aplicación bonita, sino que funcione. Comenzad localizando la pantalla, etiquetada como View. Si no está abierta, se abre haciendo doble clic sobre View en la pantalla siguiente:</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-63.png"><img class="size-medium wp-image-6207 aligncenter" title="imagen-63" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-63-300x288.png" alt="imagen 63 300x288 Desarrollando sobre iPhone (4): nuestra primera aplicación (II)" width="300" height="288" /></a></p>
<p>Sobre la vista, arrastrad de la paleta Library un TextField arriba, un Label debajo y por último un Round Rect Button. Se nos fijamos, si tenemos seleccionado un control como el TextField, podemos mover el tamaño de este control, reubicarlo en la pantalla&#8230; y en la paleta Inspector podemos disponer de sus propiedades. Seleccionando el botón podemos ponerle un Title con valor &#8220;Cambia!&#8221;. Al final nos quedará algo como esto:</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-54.png"><img class="size-medium wp-image-6209 aligncenter" title="imagen-54" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-54-193x300.png" alt="imagen 54 193x300 Desarrollando sobre iPhone (4): nuestra primera aplicación (II)" width="193" height="300" /></a></p>
<p>Con esto hemos definido la interfaz de nuestra aplicación. Cumple con lo que habíamos previsto: una caja de texto (en adelante, TextField) donde meteremos información. Un Label (texto fijo) y un botón. Cuando pulsemos el botón, el Label mostrará lo que hayamos escrito en el TextField. Para ello tendremos que crear las variables que referencian al Label y al TextField en nuestro ViewController y deberemos indicarle a Interface Builder la relación entre el Label y el TextField con estas variables. También habrá que crear un método en el ViewController que se encargue de actualizar el valor del Label con lo que hayamos introducido en el TextField, y relacionar el botón con ese método en Interface Builder. Todo eso serán los pasos 3, 4 y 5 de nuestro guión inicial, y será explicado en el siguiente post.</p>
<p>Eso sí, antes de acabar os recomiendo que os fijéis en lo que sale en la paleta Library cuando tienes seleccionado por ejemplo un TextField para añadirlo a la vista:</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-37.png"><img class="size-medium wp-image-6210 aligncenter" title="imagen-37" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-37.png" alt="imagen 37 Desarrollando sobre iPhone (4): nuestra primera aplicación (II)" width="285" height="268" /></a></p>
<p>Podéis observar que te explica que hace el control TextField, pero también pone debajo &#8220;UITextField&#8221;. Esto es importante, porque nos está indicando qué clase del framework UIKit de Cocoa se corresponde con este control. Esto nos da una pista: para poder crear la variable que maneje este control en el ViewController, tendrá que ser de tipo UITextField.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.actualidadiphone.com/2008/11/09/desarrollando-sobre-iphone-4-nuestra-primera-aplicacion-ii/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Desarrollando sobre iPhone (3): nuestra primera aplicación (I)</title>
		<link>http://www.actualidadiphone.com/2008/11/09/desarrollando-sobre-iphone-3-nuestra-primera-aplicacion-i/</link>
		<comments>http://www.actualidadiphone.com/2008/11/09/desarrollando-sobre-iphone-3-nuestra-primera-aplicacion-i/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 10:14:30 +0000</pubDate>
		<dc:creator>Javier Echeverría Usúa</dc:creator>
				<category><![CDATA[Desarrollo aplicaciones iPhone]]></category>
		<category><![CDATA[Varios]]></category>
		<category><![CDATA[aplicaciones]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[objetive c]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[webapps]]></category>

		<guid isPermaLink="false">http://www.actualidadiphone.com/?p=6193</guid>
		<description><![CDATA[
En nuestro anterior artículo habíamos instalado el iPhone SDK y habíamos descargado, compilado y probado un ejemplo básico publicado por Apple. Nos toca ahora comenzar a desarrollar, paso a paso y desde cero, una aplicación similar.
Somos conscientes de que esto empieza a ser la parte dura, así que vamos a realizar una pequeña introducción. Como [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/apple-iphone-sdk.jpg"><img class="size-medium wp-image-6196 aligncenter" title="apple-iphone-sdk" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/apple-iphone-sdk-181x300.jpg" alt="apple iphone sdk 181x300 Desarrollando sobre iPhone (3): nuestra primera aplicación (I)" width="181" height="300" /></a></p>
<p>En <a href="http://www.actualidadiphone.com/2008/11/06/desarrollando-sobre-iphone-2-preparando-el-entorno/">nuestro anterior artículo</a> habíamos instalado el iPhone SDK y habíamos descargado, compilado y probado un ejemplo básico publicado por Apple. Nos toca ahora comenzar a desarrollar, paso a paso y desde cero, una aplicación similar.<span id="more-6193"></span></p>
<p>Somos conscientes de que esto empieza a ser la parte dura, así que vamos a realizar una pequeña introducción. Como ya hemos comentado, resulta casi imprescindible disponer de ciertos conocimientos de programación para poder entender a fondo cómo desarrollar una aplicación para iPhone. Debe tenerse en cuenta que se toca un importante número de materias diferentes:</p>
<ul>
<li>Patrones de diseño: Business Delegate, MVC (Model View Controller)&#8230; están presentes en la app más sencilla.</li>
<li>Lenguaje de programación Objective-C</li>
<li>Cocoa</li>
<li>Frameworks específicos de desarrollo: UIKit, Foundation</li>
<li>Herramientas: XCode, Interface Builder, iPhone Simulator&#8230;</li>
</ul>
<p>El problema es que si comenzamos explicando a fondo cada uno de estas materias antes de comenzar a desarrollar, el desánimo sería lógicamente importante. Para este ciclo de artículos hemos considerado más práctico empezar directamente con desarrollo sobre el SDK, e ir dando pinceladas de cada uno de estos aspectos sobre la marcha. Eso sí, antes de que empecemos a desarrollar, os dejamos algunos enlaces de documentación de interés:</p>
<ul>
<li><a href="http://developer.apple.com/iphone/library/navigation/index.html">iPhone Reference Library</a> (aquí podéis encontrar artículos, libros&#8230;), y <a href="http://developer.apple.com/iphone/library/navigation/Guides.html">guías específicas</a>.</li>
<li><a href="https://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/ObjectiveC/index.html">The Objective-C 2.0 Programming Language</a>. La referencia base del lenguaje de programación utilizado para programar nuestras aplicaciones. Resulta casi imprescindible ir conociéndolo&#8230; También he encontrado un <a href="http://www.macprogramadores.org/tutoriales/tutoriales/tutoriales.shtml#LenguajeObjective-C">libro de programación en castellano</a> destinado a programadores C++ y Java.</li>
<li><a href="https://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/CocoaFundamentals/index.html">Cocoa Fundamentals Guide</a>: una completa guía de Cocoa, donde se habla de UIKit, Foundation, etc.</li>
<li><a href="https://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/000-Introduction/chapter_1_section_1.html">iPhone Development Guide</a>: una breve guía de desarrollo para iPhone</li>
<li><a href="http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhone101/index.html">Your First iPhone Application</a>: tutorial paso a paso de creación de una aplicación &#8216;HelloWorld&#8217; (más completo que este, aunque bajo mi punto de vista introduce demasiados conceptos).</li>
</ul>
<p>En todo caso, nuestro IDE XCode también dispone de enlaces directos a toda la documentación de Apple&#8230;  En la opción Help -&gt; Documentation podemos ver que nos permite suscribirnos a diferentes temáticas.</p>
<p>Bueno, pues comenzamos a desarrollar. El objetivo va a ser construir una aplicación denominada HelloWorld (cómo no), que va a disponer de una sola pantalla. Esta tendrá un label (texto fijo), un campo de texto donde podremos introducir información, y un botón que, al ser pulsado, actualizará el valor del label con lo que hayamos introducido en el campo de texto. Para ello vamos a realizar los siguientes pasos:</p>
<ol>
<li>Crearemos un proyecto View-Based. XCode nos creará así una clase ViewController que manejará nuestra pantalla. Veremos que en Objetive-C la clase ViewController se compondrá de 2 ficheros de extensión .h (la interface) y .m (la implementación).</li>
<li>Dibujaremos los elementos de la pantalla (interfaz) con Interface Builder, y aprenderemos a detectar qué clases se corresponden con cada elemento (label, campo de texto, botón), y a modificar su aspecto, alineación, color&#8230;</li>
<li>Declararemos variables en el ViewController, que enlacen con el label y el texto, y un método para actualizar el valor del label con lo introducido en la caja de texto.</li>
<li>Utilizaremos Interface Builder para enlazar nuestros controles con la variables y métodos creados. Es decir, enlazaremos vista y controlador.</li>
<li>Programaremos ciertos comportamientos y probaremos nuestra aplicación.</li>
</ol>
<p>Para no alargar en exceso este post, en el siguiente directamente abriremos nuestro XCode y empezaremos con el paso 1.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.actualidadiphone.com/2008/11/09/desarrollando-sobre-iphone-3-nuestra-primera-aplicacion-i/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Accesorio: Protege tu iPhone con Artwizz ScratchStopper</title>
		<link>http://www.actualidadiphone.com/2008/11/08/accesorio-protege-tu-iphone-con-artwizz-scratchstopper/</link>
		<comments>http://www.actualidadiphone.com/2008/11/08/accesorio-protege-tu-iphone-con-artwizz-scratchstopper/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 10:42:19 +0000</pubDate>
		<dc:creator>Javier Echeverría Usúa</dc:creator>
				<category><![CDATA[Accesorios iPhone]]></category>
		<category><![CDATA[accesorios]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[protector]]></category>

		<guid isPermaLink="false">http://www.actualidadiphone.com/?p=6171</guid>
		<description><![CDATA[
ScratchStopper es una funda transparente para proteger la pantalla de tu iPhone de posibles rayaduras, huellas de dedos, suciedad, etc. Se podría comparar a la funda frontal Invisible Shield de Zagg.
Personalmente hablando, la funda de Zagg, además de ser bastante más cara, me dio serios problemas debido al líquido que se utiliza para adherir la [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/scratchstopper.jpg"><img class="size-medium wp-image-6172 aligncenter" title="scratchstopper" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/scratchstopper-300x215.jpg" alt="scratchstopper 300x215 Accesorio: Protege tu iPhone con Artwizz ScratchStopper" width="300" height="215" /></a></p>
<p>ScratchStopper es una funda transparente para proteger la pantalla de tu iPhone de posibles rayaduras, huellas de dedos, suciedad, etc. Se podría comparar a la funda frontal Invisible Shield de Zagg.<span id="more-6171"></span></p>
<p>Personalmente hablando, la funda de Zagg, además de ser bastante más cara, me dio serios problemas debido al líquido que se utiliza para adherir la funda a la pantalla. De no ser muy cuidadoso, este líquido llega a las juntas del teléfono y puede llegar a dar problemas.</p>
<p>En este caso la funda es muy económica. En mi caso me costó 11€ un paquete de 4 fundas, una pequeña gamuza limpiadora y las instrucciones. Es muy sencilla de poner y prácticamente no se nota al tacto con la pantalla. Muy recomendable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.actualidadiphone.com/2008/11/08/accesorio-protege-tu-iphone-con-artwizz-scratchstopper/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Desarrollando sobre iPhone (2): preparando el entorno</title>
		<link>http://www.actualidadiphone.com/2008/11/06/desarrollando-sobre-iphone-2-preparando-el-entorno/</link>
		<comments>http://www.actualidadiphone.com/2008/11/06/desarrollando-sobre-iphone-2-preparando-el-entorno/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 16:54:37 +0000</pubDate>
		<dc:creator>Javier Echeverría Usúa</dc:creator>
				<category><![CDATA[Desarrollo aplicaciones iPhone]]></category>
		<category><![CDATA[Varios]]></category>
		<category><![CDATA[aplicaciones]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[objetive c]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[webapps]]></category>

		<guid isPermaLink="false">http://www.actualidadiphone.com/?p=6023</guid>
		<description><![CDATA[
En nuestro anterior post hablábamos de las principales diferencias entre desarrollar aplicaciones web y aplicaciones nativas para nuestro iPhone. En este artículo vamos a pasar ahora a describir los primeros pasos que deberéis dar para comenzar a programar vuestras aplicaciones nativas con Objetive C. Para los lectores que ya hayan desarrollado aplicaciones nativas para iPhone [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-4777 aligncenter" title="iphonesdka87-thumb.jpg" src="http://www.actualidadiphone.com/wp-content/uploads/2008/10/iphonesdka87-thumb.jpg" alt="iphonesdka87 thumb Desarrollando sobre iPhone (2): preparando el entorno" width="283" height="278" /></p>
<p>En nuestro anterior <a href="http://www.actualidadiphone.com/2008/11/03/desarrollando-sobre-iphone-1-%C2%BFwebapps-o-aplicaciones-nativas/">post</a> hablábamos de las principales diferencias entre desarrollar aplicaciones web y aplicaciones nativas para nuestro iPhone. En este artículo vamos a pasar ahora a describir los primeros pasos que deberéis dar para comenzar a programar vuestras aplicaciones nativas con Objetive C. Para los lectores que ya hayan desarrollado aplicaciones nativas para iPhone esto será trivial; sin embargo, el resto de usuarios podrán observar que es raro encontrar buena documentación o tutoriales que explican cómo arrancar paso a paso. Intentaremos ayudar así a este tipo de usuarios.<br />
<span id="more-6023"></span></p>
<p>En primer lugar, quiero avisar que el SDK de iPhone distribuido por Apple sólo está disponible para usuarios con sistema operativo Mac OS X v10.5.4. Es decir, si no tienes un Mac con Leopard, y quieres ser desarrollador profesional iPhone, ya sabes lo que te toca. Los designios de Steve son inexcrutables&#8230;</p>
<p>Si cumples este requisito esencial, toca descargarse el SDK, es decir, el entorno de desarrollo. Éste consta de varios programas entre los que podríamos destacar XCode, el IDE con el que desarrollaremos, Interface Builder, para generar la interfaz de usuario de nuestras aplicaciones, Instruments, para poder evaluar características de rendimiento y comportamiento de los dispositivos (por ejemplo, sacar gráficas del acelerómetro) o el iPhone Simulator. Éste último nos servirá para probar nuestro código en una emulación de iPhone. Luego hablaremos de qué deberemos hacer para probar en nuestro propio iPhone.</p>
<p>El SDK es de descarga gratuita en la <a href="http://developer.apple.com/iphone/">zona de desarrolladores de Apple</a> (en inglés, funciona mejor en Safari).  Para poder acceder a ella deberemos registrarnos como desarrolladores, y procederemos a descargar el kit de desarrollo. Pesa mucho (1.3 GB aproximadamente), y va por la versión 3.1.1. Para cada versión nueva del firmware del iPhone se publica una nueva versión del SDK.</p>
<p>Una vez descargado se instala pulsando sobre el enlace &#8220;iPhone SDK&#8221;:</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-12.png"><img class="size-medium wp-image-6024 aligncenter" title="Instalando el iPhone SDK" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-12-300x181.png" alt="imagen 12 300x181 Desarrollando sobre iPhone (2): preparando el entorno" width="300" height="181" /></a></p>
<p>Y comienza un clásico wizard de instalación:</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-21.png"><img class="size-medium wp-image-6026 aligncenter" title="imagen-21" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-21-300x174.png" alt="imagen 21 300x174 Desarrollando sobre iPhone (2): preparando el entorno" width="300" height="174" /></a></p>
<p>En principio podemos escoger lo seleccionado por defecto y esperar unos buenos minutos a que todo se instala. Te pedirá que cierres el iTunes, por cierto.</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-34.png"><img class="size-medium wp-image-6027 aligncenter" title="Durante la instalación..." src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-34-300x174.png" alt="imagen 34 300x174 Desarrollando sobre iPhone (2): preparando el entorno" width="300" height="174" /></a></p>
<p>Una vez instalado tenemos, como hemos dicho, el SDK en nuestra máquina. Es decir, Xcode, iPhone Simulator y otras utilidades. ¿Y ahora qué? Ahora podemos empezar a programar. Antes de nada os dejo un par de URL&#8217;s muy majas:</p>
<ul>
<li>[1] Página de código de ejemplo de Apple (requiere registro): <a href="https://developer.apple.com/iphone/library/navigation/SampleCode.html">https://developer.apple.com/iphone/library/navigation/SampleCode.html</a></li>
<li>[2] 31 días, 31 aplicaciones: <a href="http://appsamuck.com/">appsamuck</a></li>
</ul>
<p>Son páginas donde podemos descargar código de ejemplo, lo cual bajo nuestro punto de vista es la mejor opción sin duda&#8230; Y como muestra un botón, nos vamos a descargar un proyecto de ejemplo sencillo. Cómo no, el proyecto &#8216;Hello World&#8217; de los códigos de ejemplo de Apple (ver el enlace anterior [1]). La aplicación simplemente deja escribir un texto, y lo presenta en pantalla. El proyecto en sí consta de un ZIP que descomprimiremos en la ubicación que deseemos. Una vez descargado abrimos el fichero HelloWorld.xcodeproj:</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-43.png"><img class="size-medium wp-image-6031 aligncenter" title="HelloWorld" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-43-300x218.png" alt="imagen 43 300x218 Desarrollando sobre iPhone (2): preparando el entorno" width="300" height="218" /></a></p>
<p>Y este fichero es abierto por nuestro IDE favorito, XCode:</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-52.png"><img class="size-medium wp-image-6032 aligncenter" title="XCode" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-52-300x121.png" alt="imagen 52 300x121 Desarrollando sobre iPhone (2): preparando el entorno" width="300" height="121" /></a></p>
<p>En el próximo artículo describiremos qué representa cada fichero, y dónde &#8220;se programa&#8221;. En este post simplemente vamos a suponer que hemos sido capaces de programar este ejemplo desde cero (ya podremos en el futuro), y vamos a ver el resultado en el simulador de iPhone. Para ello, pulsaremos simplemente sobre el botón &#8216;Build and go&#8217;, el IDE compilará los fuentes, abrirá el iPhone Simulator y veremos &#8220;nuestra&#8221; aplicación funcionando:</p>
<p style="text-align: center;"><a href="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-61.png"><img class="size-medium wp-image-6040 aligncenter" title="imagen-61" src="http://www.actualidadiphone.com/wp-content/uploads/2008/11/imagen-61-157x300.png" alt="imagen 61 157x300 Desarrollando sobre iPhone (2): preparando el entorno" width="157" height="300" /></a></p>
<p>Los usuarios más atentos podrán preguntar: ¿y si quiero probar en mi propio iPhone? Esto tiene indudables ventajas, ya que te aseguras que de verdad funciona la aplicación, y puedes ver una velocidad real conectándote a una red 3G o Wifi&#8230; además de disponer de aplicaciones muy interesantes como el XCode Graphical Debugger o un soporte técnico.</p>
<p>Pues tienes al menos tres opciones:</p>
<ol>
<li>A pagar a Apple <img src='http://www.actualidadiphone.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' title="Desarrollando sobre iPhone (2): preparando el entorno" />  Sí, sí, puedes creértelo, para probar tu aplicación en tu iPhone tienes que pagar, registrándote en el iPhone Developer Program (<a href="http://developer.apple.com/iphone/program/">http://developer.apple.com/iphone/program/</a>). Hay dos modalidades: Standard, a 99€, y Enterprise a 299€. Ya te puedo anticipar que en el 99,99% de los casos tú necesitarás la versión barata, Standard. La Enterprise está destinada a grandes corporaciones (más de 500 empleados)  que desean crear aplicaciones propietarias en entornos intranet. La Standard es suficiente para poder subir aplicaciones a la AppStore (si son aprobadas, claro), realizar distribuciones de tu aplicación sin pasar por la AppStore (mediante URL o email) hasta a 100 iPhones, etc.</li>
<li>Hacer jailbreak a tu iPhone, aunque todos sabemos que a la larga esto es una opción para usuarios avezados&#8230; En internet hay varias referencias a cómo solucionar esto, por ejemplo <a href="http://www.246tnt.com/iPhone/#xcode">esta</a> o <a href=" http://www.cuppadev.co.uk/platforms/running-your-own-iphone-applications-without-paying-the-developer-fee/">esta otra</a>.</li>
<li>Buscarte un compañero que ya esté registrado en el programa y probar en el suyo&#8230; la verdad es que no hay mayor problema en pagar una licencia entre varios. El único tema es que el certificado para firmar el código es nominal, y debéis tener buena confianza para que no ocurran temas como les pasó a los fundadores de Facebook <img src='http://www.actualidadiphone.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' title="Desarrollando sobre iPhone (2): preparando el entorno" /> </li>
</ol>
<p>Pues ahí lo dejamos. Hasta la siguiente clase, si esto os ha sabido a poco, podéis probar a bajaros más proyectos de ejemplo e ir echándole un ojo al código. Hasta el siguiente artículo!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.actualidadiphone.com/2008/11/06/desarrollando-sobre-iphone-2-preparando-el-entorno/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Desarrollando sobre iPhone (1): ¿webapps o aplicaciones nativas?</title>
		<link>http://www.actualidadiphone.com/2008/11/03/desarrollando-sobre-iphone-1-%c2%bfwebapps-o-aplicaciones-nativas/</link>
		<comments>http://www.actualidadiphone.com/2008/11/03/desarrollando-sobre-iphone-1-%c2%bfwebapps-o-aplicaciones-nativas/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 22:43:49 +0000</pubDate>
		<dc:creator>Javier Echeverría Usúa</dc:creator>
				<category><![CDATA[Desarrollo aplicaciones iPhone]]></category>
		<category><![CDATA[Tutoriales, manuales y reviews]]></category>
		<category><![CDATA[aplicaciones]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[objetive c]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[webapps]]></category>

		<guid isPermaLink="false">http://www.actualidadiphone.com/?p=5714</guid>
		<description><![CDATA[En ActualidadIphone vamos a comenzar a publicar una serie de posts dedicados a usuarios que pretendan realizar desarrollos de aplicaciones para nuestro gadget favorito, cómo no, iPhone. A pesar de que existe una gran cantidad de información ya accesible, intentaremos publicar una serie de guías sencillas que indiquen, paso a paso, lo esencial para comenzar [...]]]></description>
			<content:encoded><![CDATA[<p>En ActualidadIphone vamos a comenzar a publicar una serie de posts dedicados a usuarios que pretendan realizar desarrollos de aplicaciones para nuestro <em>gadget </em>favorito, cómo no, iPhone. A pesar de que existe una gran cantidad de información ya accesible, intentaremos publicar una serie de guías sencillas que indiquen, paso a paso, lo esencial para comenzar a desarrollar nuestras aplicaciones.</p>
<p>Antes de comenzar, podríamos hacer algunas consideraciones previas:</p>
<ul>
<li>Si no tienes ningún tipo de formación o experiencia en el desarrollo de aplicaciones, probablemente lo puedas pasar mal. En todo caso, en este mundo triunfan los aventureros <img src='http://www.actualidadiphone.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' title="Desarrollando sobre iPhone (1): ¿webapps o aplicaciones nativas?" /> </li>
<li>La mayoría de los casos irán destinados al iPhone 3G, sobre todo por el gran abanico de posibilidades que se abren con el GPS.</li>
<li>Si tienes experiencia en desarrollo de aplicaciones web dinámicas, es decir, conocimientos de HTML, CSS, javascript, y algún lenguaje o framework de servidor (PHP, Java, RubyOnRails, Python&#8230;), sin duda tienes las bases imprescindibles para comenzar a desarrollar <em>webapps</em>.</li>
<li>Si tienes conocimientos o experiencia en desarrollo con Objetive C (Cocoa, etc.) podrás comenzar a desarrollar rapidamente <em>aplicaciones nativas</em> para iPhone. En caso contrario te costará más. Si alguien te ha dicho que Objective C es muy parecido a Java, créeme, no es así <img src='http://www.actualidadiphone.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' title="Desarrollando sobre iPhone (1): ¿webapps o aplicaciones nativas?" /> </li>
</ul>
<p><span id="more-5714"></span></p>
<div>Bien, pero ¿qué es esto de las webapps y las aplicaciones nativas? Vamos a tratar de aclarar estos conceptos, y enumerar las principales ventajas e inconvenientes de cada uno de estos mundos.</div>
<div><strong>Webapps</strong>. Las webapps son aplicaciones web normales, como cualquiera de las que ya conocemos. Están por ello programadas por lenguajes de servidor (PHP, Java&#8230;) que generan HTML, maquetación con CSS y comportamiento con Javascript. Aplicando hojas de estilo CSS específicas, podremos darle a nuestras aplicaciones web una apariencia 100% adaptado al iPhone, consiguiendo que se parezca a una aplicación de escritorio. Apple <a href="http://www.apple.com/webapps/">dispone de un catálogo de varias aplicaciones</a>, aunque sin duda la mayoría de vosotros ya habéis usado, consciente o inconscientemente, varias: las aplicaciones web de Google (Gmail, Reader, etc.), la propia versión móvil de Facebook, etc.</div>
<div>Ventajas:</div>
<div>
<ul>
<li>No dependemos de Apple para que nos apruebe el alta de nuestra aplicación, ni para que publique una nueva versión que incluya nuevas funcionalidades o corrija fallos.</li>
<li>Los usuarios no necesitarán hacer jailbreak para usar nuestras aplicaciones, serán accesibles a través de Safari.</li>
<li>Desarrollo ágil y rápido.</li>
<li>No necesitaremos aprender Objetive C.</li>
<li>Si ya disponemos de una aplicación web, podremos crear una versón iPhone.</li>
<li>No necesitamos registrarnos como IPhone Developer y pagar para iniciar el proceso de registro de una aplicación en la AppStore.</li>
<li>No necesitamos un Mac para disponer del IDE de desarrollo (XCode). Bueno, para mí eso es más un inconveniente, pero sigue habiendo muchos usuarios de otros sistemas operativos <img src='http://www.actualidadiphone.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' title="Desarrollando sobre iPhone (1): ¿webapps o aplicaciones nativas?" /> </li>
</ul>
</div>
<div>Inconvenientes:</div>
<div>
<ul>
<li>No disponemos de acceso natural a las API&#8217;s del iPhone como cámara, GPS, acelerómetro, vibración&#8230; existen diversas iniciativas que tratan de exponer este tipo de funciones avanzadas a API&#8217;s javascript, con mayor o menor éxito, pero hoy por hoy Apple no ha estandarizado esto.</li>
<li>No disponemos de enlace en la AppStore, con lo que indudablemente se pierde el acceso a un escaparate perfecto para nuestros desarrollos. Eso sí, siempre nos quedará Google <img src='http://www.actualidadiphone.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' title="Desarrollando sobre iPhone (1): ¿webapps o aplicaciones nativas?" /> </li>
</ul>
</div>
<div><strong>Aplicaciones nativas</strong>. Son las aplicaciones que ya conocemos todos y que continuamente instalamos desde la AppStore (o Cydia para los iPhones <em>jailbroken</em>). Están desarrolladas con Objetive C (aunque comienzan a aparecer iniciativas para transformar webapps en aplicaciones nativas).</div>
<div>Ventajas:</div>
<div>
<ul>
<li>Tienen total acceso a las API&#8217;s mencionadas como GPS, acelerómetro, cámara&#8230;</li>
<li>Si Apple nos la aprueban (lo cual es mucho suponer), nuestra aplicación podrá ser accedida desde una gran cantidad de usuarios.</li>
<li>Disponemos de la opción de cobrar por nuestra aplicación, un modelo de negocio sencillo.</li>
</ul>
<div>Inconvenientes:</div>
<div>
<ul>
<li>Debemos desarrollar en Objective C.</li>
<li>Tenemos que registrarnos como desarrolladores Apple, y pagar para poder probar nuestros desarrollos en nuestro propio iPhone (!) y poder enviar las aplicaciones para su aprobación en la AppStore.</li>
</ul>
<div>En los siguientes posts comenzaremos por el desarrollo de aplicaciones nativas. ¡Preparad vuestros equipos!</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.actualidadiphone.com/2008/11/03/desarrollando-sobre-iphone-1-%c2%bfwebapps-o-aplicaciones-nativas/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
