domingo, 24 de enero de 2010

Curso iPhone Programming RWTH Aachen University

Parece que el curso de la Universidad de Stanford no es el único disponible y gratuito... :D
Aunque no se si está en inglés...

URL: http://hci.rwth-aachen.de/iphone

EDIT: Lo bueno de estas cosas es que te las puedes descargar y ya las consultarás.

viernes, 22 de enero de 2010

CS 193P - Asignment1B - My solution

Aquí está mi solución para el Asignment1B.
Here is my solution for the Asignment1B.


CS 193P (1)

He comenzado hoy a seguir las clases diferidas del curso de programación de iPhone de la universidad de Stanford. Tras completar la primera clase, mis conclusiones son:
- Hablan bastante claro, es fácil seguirles.
- El software que usan no coincide con el que yo tengo (y yo tengo la última versión).
- El ejemplo que hacen, salvando las distancias de las versiones y el procedimiento para crear el controlador, no funciona de serie en mi versión de XCode (y lo he tenido claro desde el primer momento, porque faltarían cosas...) aunque a ellos les va perfectamente.

En las versiones más nuevas de XCode habría que cambiar:

int sliderValue = slider.value;

Por...

int sliderValue = [slider value];

Y:

label.text = [NSString stringWithFormat: @"%d", sliderValue];

Por...

[label setText: [NSString stringWithFormat: @"%d", sliderValue]];

Y con eso funcionaría. Estaba pensando en subir el archivo con el proyecto, pero no se donde guardar el archivo. A ver si encuentro algún sitio.

EDIT: Debe ser problema de algún parámetro de la configuración del proyecto, porque si descargas el proyecto de ejemplo y lo lanzas si que funciona a la primera. Pero si lo intento crear desde cero no me funciona con lo que dicen, si con mis modificaciones... Curioso. :)

EDIT: Mucho más interesante que la explicación, que no está de más para saber de que va el curso, son los ejercicios de la primera tanda. Pero está claro que hay que saber algo de objective-c para hacerlos. También los tengo hechos. A ver si abro una cuenta en rapidshare o algo así y los comparto...

miércoles, 20 de enero de 2010

Open GL vs. DirectX

Yo no tengo ninguna duda, pero si alguien las tiene, este enlace es interesante.

URL: http://blog.wolfire.com/2010/01/Why-you-should-use-OpenGL-and-not-DirectX

EDIT: Mi elección indudable, por si alguien no lo sabe, es OpenGL... :)

Objective-C Pocket Reference


Recién recibido. Es mucho más pequeño (pocket) de lo que me esperaba, pero al pegarle un repaso por encima he encontrado mucha información muy útil. Todo lo que podría esperar de una referencia.

Incluye indicaciones sobre las diferencias entre compilarlo en los sistemas más importantes que lo soportan. Parece muy interesante. Mañana por la tarde tengo unas horitas reservadas para leerlo (son a penas 100 páginas) y saber qué ofrece y qué no.


domingo, 17 de enero de 2010

Acceso a los posts de Blogger desde PHP

En 15 minutitos he montado este snippet para acceder a los posts de Blogger conociendo el ID del blog correspondiente. No está muy depurado pero funciona. El código es este:

$blog_id['miblog1']='01234568901234567';
$blog_id['miblog2']='12345689012345678';
$blog_id['miblog3']='23456890123456789';

function dataURL($id) {
return 'http://www.blogger.com/feeds/'.$id.'/posts/default?max-results=1';
}

function getData($url)
{
if ($handle = fopen($url, 'r')) {
$content = stream_get_contents($handle);
fclose($handle);
return $content;
}
}

function printData($data){
$xml = new SimpleXMLElement($data);
echo $xml->title, '
';
echo $xml->entry->title, '
';
echo $xml->entry->content, '
';
echo $xml->entry->link[4]['href'], '
';
echo $xml->entry->published, '
';
}

foreach ($blog_id as $key=>$value)
{
printData(getData(dataURL($value)));
}

Con esto lo que hacemos es recorrer todos los IDs de blogs que hemos metido como variables al principio y representarlos en la pantalla. Si imprimimos y analizamos lo que devuelve la función getData($url), podemos revisar el XML para ver qué parámetros queremos. La función printData($data) representa los contenidos deseados. Si el contenido incluye código HTML es posible que haya que utilizar alguna función intermedia para hacer que dicho código funcione, porque lo que está almacenado en la base de datos serán entidades HTML en lugar de los '<' y los '>'.

Espero que sea útil para alguien. A mi me ha dado varias ideas de cosas que hacer... Para todo lo demás, consultar la API de Blogger.

NOTA: La URL que obtenemos es la clave en la que hay que especificar qué queremos obtener. En mi caso selecciona el último post publicado. Se puede experimentar con la URL directamente (hay más parámetros en el enlace de la API de Blogger) para ver distintos resultados.

viernes, 15 de enero de 2010

Aprendiendo a programar para el iPhone

En respuesta a una pregunta que me han hecho por correo...

Lo primero, como en todas las cosas, es darse cuenta de que no estás "programando para el iPhone" sino que estás "programando" - "para el iPhone". Es decir, lo primero es saber programar. Leer, copiar y pegar como un mono es algo bastante contraproducente a la larga.

Para aprender. Se puede empezar a saco con Objective-C, pero yo recomiendo empezar con C. Entre otras cosas porque Objective-C es un superset de C (lo amplia).

Para aprender a programar en C, recomiendo el libro The C Programming Language de Kernighan. Hay otro que no he revisado del todo pero tiene buena pinta, es Learn C on the Mac.

Luego está el tema del Objective-C, el siguiente gran paso. En mi caso, parto de la base de conocer las bases de la programación orientada a objetos desde el libro Thinking in C++, de Bruce Eckel. Que puede ser útil llegado el caso para Objective-C++. Pero si queremos entrar a saco en Objective-C, sin duda el Learn Objective-C on the Mac. Con esto, estamos en el buen camino para el desarrollo de aplicaciones para iPhone OS y Mac OS X.

El siguiente paso sería Beginning iPhone 3 Development. Con esto ya se pueden hacer cosas más que interesantes.

Estoy a la espera de tener algo más de tiempo para poder revisar algunas cosas, pero desde el recuerdo de lo que leí en los documentos recomendados de Apple, esta trayectoria aclara muchos conceptos que en dichos documentos se sobreentienden.

jueves, 14 de enero de 2010

Curso de desarrollo para iPhone

La Universidad de Stanford está publicando un curso gratuito en iTunes U sobre programación en iPhone 3.1.

Yo ya me he suscrito.

miércoles, 13 de enero de 2010

Plantillas para desarrollo

Varias plantillas muy interesantes para facilitar el trabajo previo de bocetado y desarrollo de las pantallas de la aplicaciones.

lunes, 4 de enero de 2010

Dices 2

Prueba superada...

Ahora ya está instalado en el iPhone de prueba y funcionando. He encontrado un fallo, la aplicación se ve mal cuando la ventana cambia su tamaño. Es decir, cuando estoy compartiendo Internet la pantalla pierde unos cuantos pixels y la posición de los elementos cambia automáticamente, solapándose algunos. Es una cosa a tener en cuenta...

Por lo demás, ha sido instalar la última versión del XCode + iPhone SDK y meterle el Provisioning Profile correspondiente... y ajustar el mismo profile en las opciones del archivo plist del proyecto.

domingo, 3 de enero de 2010

iPhone Developer Program

Ya estoy inscrito. Cuesta 79€ al año y da acceso a muchísima información, recursos y al App Store para subir aplicaciones y que se distribuyan (cuando sean aprobadas...).

Siempre he leído que puede tardar bastante tiempo, pero para mi (supongo que por ser inscrito como individuo y no como empresa) ha costado poquito. Lo solicité entorno a las 19:15 horas y a las 1:15 me di cuenta de que ya tenía el código de desarrollador en mi buzón de correo.

Ahora voy a intentar asociar mi iPhone al XCode como equipo de pruebas y a ver como se ve el Dices 2.

EDITADO: La versión de XCode que tengo instalada no soporta el Firmware de mi teléfono... así que me tocará descargar la última versión (Octubre 2009, si no me equivoco) a ver que pasa. Pero claro, 2.5Gb no me los voy a descargar con el iPhone, que me puedo morir del asco. Así que mañana por la mañana los descargaré desde una ADSL.

EDITADO: La obtención de un certificado de prueba para instalar la aplicación en un iPhone es un proceso sencillo pero, a pesar de estar supuestamente "bien documentado" y existir un asistente, está resultando un dolor. Los enlaces en la documentación no llevan a donde tienen que llevar, acceder al portal a través del enlace que envía Apple en el correo de aceptación en el programa. En segundo lugar, el asistente se me cuelga, por lo que no puedo utilizarlo, así que he optado por la línea manual...

EDITADO: Obtenido e instalado. Ahora, para probarlo, me falta descargar una versión de XCode que soporte mi firmware o cambiar el firmware de mi iPhone. Pero eso lo haré mañana...