miércoles, 20 de enero de 2010

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...