martes, 26 de febrero de 2013

No sólo de desarrollo vive el hombre...

Me parece que cualquiera que haya visto (o, como en mi caso, haya subido) los vídeos de este blog se ha ganado un paréntesis musical. Y como siempre hay que "tirar para casa" (promover a los cercanos: familia, amigos...) y estos son de casa, pues os presento a Lost Kalaveras, aunque también son conocidos por su nombre en Formentera: Chimichurri. Es que son un poco argentinos ellos pero aún así, buena gente (es broma!!). Ahí va, ¡¡¡¡Caña!!!!

Prototipado de aplicaciones

Con este vídeo entramos en el mundo de la explotación comercial de lo que estamos aprendiendo. Vemos el comienzo de la creación de una página o una aplicación web, cómo enfocarla y cómo tomar contacto con el cliente. Todavía nos queda mucho por aprender pero es un comienzo. Y lo que veo...:-))) me gustaaa!!!
Otra cosa importante que hay que sacar de aquí es la aparición en escena de Olga Carreras y su blog. Creo que lo comenté en otro vídeo pero no me canso. La dirección es Usable y accesible. No dejo de asombrarme cuánto trabajo bien hecho hay ahí adentro. Y aquí, su vídeo:





En el resto de la página del temario de iDesweb aparecen varios enlaces interesantes sobre todo esto del prototipado y la diagramación. Allá que te voy:



Jesse James Garret es el creador de Ajax. Como no tengo tiempo ni esto es un blog para esos menesteres, os enlazo a un artículo sobre él donde os introducirán en quién es y lo que hace. 



No estoy seguro de si había ya incluido este enlace pero, ante la duda, lo repito. Es muy interesante y completo y merece más verse dos veces que ninguna.



Más artículos interesantes. Se muestran algunas formas de hacer diagramas, tipos de diagramas existentes y posibles herramientas para su elaboración. El autor también aporta su forma de diagramar. 





Un prototipo es un modelo (representación, demostración o simulación) fácilmente ampliable y modificable de un sistema planificado, probablemente incluyendo su interfaz y su funcionalidad de entradas y salidas. Según dicen en el curso, poco más



Volvemos con Olga Carreras. Prácticamente, si no de forma completa, nos explica en letras y gráficos lo que nos decía en el vídeo. Otra cosa buena de la página de Olga es la gran cantidad de enlaces interesantes que nos muestra en cada artículo que crea. Al final de la página hay información para pasar un semestre estudiando...



Esto seguro que será interesantísimo pero como estoy pobre de solemnidad, no puedo acceder a ello. Cuarenta pavos del ala...quién pudiera. Si eres de los que pueden y te interesa el tema, yo no me lo pensaba, ¡lo pedía ya!



Este es un tutorial -en inglés- sobre cómo hacer un blog personalizado en WordPress. Interesante. Ahora hay sitios que te ofrecen crear un blog pero a veces debes elegir una plantilla que otros muchos usarán también. De esta manera creas tu blog con un diseño personalizado. 



Proporcionado por Usable y Accesible, el blog de Olga Carreras.



Líneas básicas sobre la creación de wireframes, ofrecidas en un formato "presentación" en SlideShare. Bueno, puede servir como referencia para que se afirmen ideas en la cabeza, pero no me parece nada del otro jueves...



Un enlace para descargar este archivo. Yo ya lo tengo (en alguna parte) y es bueno echarle un vistazo porque el señor Jesse James Garrett no da puntadas sin hilo. Tú ya me entiendes...



Una página interesante, con gráficos que lo son también y enlaces a otros lugares que conviene visitar, así como archivos para descargar que merecen. 

La página de Bill Buxton, "investigador del area de investigación de Microsoft", he traducido de lo que pone en este blog pero no sé si lo habré hecho bien. En todo caso, en este otro sitio te enteras mejor de qué va la cosa y de qué ofrece el amigo Bill. Es muy interesante y se puede conseguir su libro con facilidad. Además proporciona vídeos y otras cosas...


Wireframes otra vez, pero en inglés


Tiene muy buen aspecto pero no he tenido tiempo de verla yo mismo. Es una página o blog dedicado totalmente a las wireframes.

Lo que viene ahora es ya otra cosa aunque trata también sobre wireframes. Voy a intentar embeber una presentación, a ver si sale bien. Eso me gustaría...


Wireframes for the Wicked from Nick Finck


Pues mira, ha quedado bien. A disfrutarlo!

Y hasta aquí este ¿artículo? que he expuesto aquí a costa del trabajo previo de iDesWeb (introducción al desarrollo Web), el curso MOOC o CAEM que estoy siguiendo a trancas y barrancas pero que, gracias a este blog, espero tener a mi disposición, y la de quien venga, durante el tiempo suficiente para aprendérmelo todo. Un neófito como yo tiene tanto que asimilar aquí que no me van a ser suficientes las doce (o eran quince?) semanas que dura. Me tomo las cosas a conciencia. Cuando me ofrecen información tengo que desentrañarla entera y aprender lo que hay, no tengo medias tintas. ¿Es un defecto o una virtud? Muchas veces me entran dudas...Saludos.

viernes, 22 de febrero de 2013

Cómo crear una página HTML sin tener mucha idea (y acabar enterándote, además)

Como digo, aquí vas a aprender a hacer una página en HTML ( o XHTML, quizá sería mejor decirlo así) porque Olga Carreras nos ofrece el nivel básico para empezar y logra un gran post, de los de cabecera. En él nos indica los criterios que se siguen, los parámetros que debemos observar, bueno, un montón de cosas a tener en cuenta, pero diciéndonos por qué, cómo, dónde, a veces incluso quién, siempre dejándonos la libertad de elegir entre la información que poseemos y la que podemos conseguir, sin imponerse y menos aún, sin razonar. Me sorprende mucho y de forma desagradable algunos comentarios que se dejan al final. Hay personas que no demuestran el menor respeto para abrir la boca y decir tonterías. La acusan de plagiar en uno, obviando echar un vistazo a su currículum, el cual demuestra que posee conocimientos sobre el tema más que suficientes. Sin valorar tampoco, porque seguramente será mucho pedir, su estilo de escritura, uniforme en todos los tutoriales de que dispone su página. Para terminar y siguiendo echándole flores a Olga, no hojeéis sólo este tutorial; todas las entradas pueden ilustrar la mente de, sobre todo, futuros desarrolladores. Plantilla base- Olga Carreras

sábado, 16 de febrero de 2013

Diseño web y desarrollo web, ¿cuál es la diferencia?

Dentro de el curso hay un vídeo que explica la diferencia entre un diseñador web y un desarrollador web los cuales, por lo visto, son habitualmente confundidos. Además de explicar la diferencia, nos muestra un gráfico del desarrollo de un proyecto web y la implicación de cada departamento (diseño y desarrollo, básicamente) en el mismo. Como se explican muy bien solos, no digo más...
Intenté incluir el gráfico que citaba antes, pero me ocupaba toda la página, era imposible de ver. Como todavía no sé cómo hacer para que eso no suceda (aunque lo he buscado), pues os dejo el enlace a ese bonito gráfico aquí, donde podréis descargarlo y echarle un vistazo. Lo recomiendo, es interesante...



domingo, 10 de febrero de 2013

Línea temporal de Internet- Timeline & Hall of fame

Este es un invento muy de los americanos pero muy ilustrativo. En este caso, que estamos accediendo al desarrollo de la web, me ha parecido interesante enseñaros, si no lo habéis visto en el curso, esta página. Está, en mi opinión, muy bien desarrollada. Me refiero a la parte de Timeline, no a Hall of fame, que me es indiferente. Muy instructivo además. Ahí va...Timeline- Línea temporal
(Y luego he visto esta y no he podido contenerme, está muy bien!)

Y dijo ARPA: "No es bueno que el protocolo esté sólo". Y ARPA vio que aquello era bueno...Si quieres una segunda opinión, aquí tienes

sábado, 9 de febrero de 2013

Estos crearon la máquina cuando aun no existía

Ahora vas a una tienda, te compras un ordenador, lo enchufas a la Red (antes a la corriente...) y, prácticamente, ya estás "navegando". Pero en aquellos años, justo después de haber iniciado la primera transmisión, no existían ordenadores capaces de conectarse entre sí. No sabían "navegar". Eran grandes trastos con poca capacidad en comparación con hoy día. Las universidades donde todo empezó tuvieron que hacer una licitación, solicitando que les construyeran ordenadores que hicieran cosas que todavía no se sabía si se podían hacer. Ellos sabían que se podía pero apenas habían tenido éxito con el experimento. Hubo varias compañías fabricantes que no creyeron posible realizar el encargo; creían que no era viable. Pero una sí tenía fe en conseguirlo. Mejor que lo expliquen ellos mismos...(en inglés) Arpanet

La Red- ¿Cómo podemos hacerlo? Es increíble!

En este vídeo vemos el trayecto que podría hacer una petición de datos de Internet cualquier día, en cualquier momento...Seguro que lo has pensado alguna vez y parece imposible. Pero sucede, lo hemos conseguido, hemos alcanzado al futuro, ¿aquél que veíamos tan lejos? Ya está aquí! Ayer mismo hablé con un amigo a través de videoconferencia múltiple (aunque sólo éramos dos) gratuita (Hangout- "Quedada"), de Google. Es algo impactante, si piensas en ello, claro. Estamos hablando sin eco, sin demora, en tiempo real totalmente. Yo estoy en el norte de España y el en Baleares. Y el proceso es instantáneo. Si te lo dicen hace veinte años no das crédito a lo que oyes.  Bueno, que me lío. Aquí os dejo esto (me lo han pasado, como casi todo, los del MOOC de iDesWeb) para que echéis un rato...

Historia de la Red: primera emisión

Dentro de la historia de la Red, Leonard Kleinrock supone una de sus figuras más importantes. Kleinrock es ingeniero eléctrico. Tras graduarse se doctoró en Informática e Ingeniería Eléctrica, entrando a trabajar en la Universidad de UCLA, donde todavía continúa. Uno de sus trabajos influyó en el proceso matemático que permitió la conmutación de paquetes, clave en la creación de Internet, aunque ha intervenido en más cuestiones importantes para "la red de redes". En este vídeo nos comenta con sencillez la forma en que se inició la primera red, que dio lugar, con tiempo y mucho trabajo de más gente, a la que hoy usamos y conocemos. También nos enseña el registro de eventos del IMP (Internet Message Program), el primer programa que permitió la comunicación de datos a través de una red de comunicaciones electrónica (no sé si lo he dicho bien...). En esa libreta aparece la primera reseña de Internet, sus primeros pasos (aunque todavía no tenía ese nombre).  Hay que tener en cuenta que en ese momento no tenían idea de que estaban haciendo Historia y no había cámaras, ni periodistas ni nada parecido. Sólo unos operarios haciendo su trabajo del día, con ilusión, pero sin tambores sonando de fondo...

jueves, 7 de febrero de 2013

Conceptos avanzados- HTML

Ya he hecho una entrada con uno de los vídeos de conceptos avanzados. Era el que trataba de Lenguaje de caracteres. Lo hice antes de ver que era demasiado ir uno por uno. Dejemos que siga así y dediquemos este espacio a hacer una entrada como la anterior, con enlaces a todos los capítulos de esta parte avanzada de las lecciones sobre HTML que nos quedan aún por ver. 
XML: HTML Y XHTML. En este se nos instruye sobre las diferencias entre estos códigos, que son como hermanos pero no iguales. Cada uno tiene su "carácter" (ja, que a propósito, no?) y aquí nos lo explican. También se relata un poco de la historia de cada uno de ellos, para que sepamos por qué tanta disparidad si todos vienen a querer hacer lo mismo.
HTML- Formularios. Este es un vídeo largo pero la materia a enseñar no es para menos. Y está dividido en una segunda parte, además. Los formularios, aunque en el vídeo se define mejor, son las "fichas" que rellenamos en muchas ocasiones: encuestas, registros en páginas web (Twitter, Facebook...), todas esas páginas donde nos registramos, usan formularios. Es un tema complejo porque hay muchos matices y acaba siendo necesaria la inclusión de otros códigos, como CSS, para que la presentación quede fina.
HTML- Validación del código. Aquí, Sergio nos hace varias recomendaciones sobre el proceso a seguir si queremos tener un código "canónico", "como está mandao". Veremos la forma de validar código en la página de W3C, lo que nos asegura que si el código de la página está bien escrito, será confirmado y, si no lo está, nos ofrecerá los lugares donde yerra y la forma de subsanarlos. También incluye unos ejemplos de validación y páginas donde el código es erróneo (aunque digan que es válido!). Interesante, efectivo, práctico y no muy "rollo".
HTML5- ¿Por qué es importante escribir código correcto? I. En este, disertación un poco larga sobre páginas mal codificadas. Sobre todo aquellas que dicen estar "optimizadas para un navegador en concreto", cuando es algo absurdo. Puedes fallar en un navegador, pero no optimizarlo para uno y dejar a los demás fuera. Si el código es correcto, sirve para todos...
HTML5- ¿Por qué es tan importante escribir correctamente código? II. Otra demostración de que los navegadores pueden reaccionar de formas diferentes a códigos mal escritos o incompletos, quedando demostrado que si se hace el cógido de forma correcta, no dejas opción al navegador a hacer una lectura errónea.
HTML5- ¿Por qué es tan importante escribir correctamente código? III En este nos explica lo que es el DOM, Document Object Model, una recomendación del W3C que está en el fondo de por qué los navegadores interpretan de forma diferente cada código, si no está escrito en ua forma que no admita error en su lectura. Se hace bastante farragoso seguir al maestro Luján...
Vale, hasta aquí el apartado de conceptos avanzados. La siguiente será HTML5, unos poquitos vídeos que nos explicarán sobre este nuevo formato de código, que añade funciones al ya conocido HTML pero que todavía no está terminado. Lo hará en 2014, si el tiempo y las autoridades no lo impiden...Luego entraremos en algo que ya he estado viendo y que tenía muy buena pinta: prototipado de aplicaciones. Pero eso...es otra historia!



miércoles, 6 de febrero de 2013

Módulo 1- HTML, conceptos básicos

Dentro de lo que es el curso, este módulo ocupa varios vídeos de ayuda. Como sería prolijo, innecesario, largo, hacer una entrada de cada uno, en esta única entrada voy a poner todos los enlaces a Youtube y allí nos las componemos. Si pusiera un vídeo en la paǵina de cada explicación que ha hecho iDesWeb quedaría muy bonito pero sería más largo que la obra del Escorial y tengo que estudiar, no llevar un blog. Venga, que se va la luz...
Conceptos básicos-III Modo Libre. Bien, aquí me salto el tutorial que hacen en iDesWeb porque en él recomiendan el uso de Notepad++ y, aunque me parece que dicen que es de código abierto, todo lo que sea instalar con .exe como en Windows, para mí es rechazable. No me gusta ni con Wine. Además, usando GNU/Linux, tengo editores de código competentes donde los haya. Tres ejemplos: Geany (muy similar a Notepad++- viene del desarrollo del mismo editor, anterior a ambos), Emacs y Vi (o Vim). Tres fenómenos. Teniendo cualquier GNU, basta con abrir Terminal y decirle que instale cualquiera de ellos y en un periquete lo tienes. 
Conceptos básicos- IV En este, Sergio Luján nos hace un pequeño repaso, aconsejando normas a seguir, indicando algunos lugares donde buscar información sobre HTML y encargándonos la realización de algunos "deberes" (hay que coger práctica!!). 
Problemas con los editores. Es un entretenimiento más que algo necesario. Advierte sobre los problemas que puede causar un editor de texto si no prestas atención. Al guardar el trabajo hay que guardar como se ha dicho antes ya, en otros vídeos. 
Tres errores típicos. Saltos de página, espacios en blanco y referencias de caracteres. Consejos sobre lo que no se debe hacer con estas etiquetas.
HTML- Listas. Este es muy interesante. Nos enseña a listar. En cualquier página web, en algún momento, es necesario listar algo: cualidades, modelos, objetivos...por lo que este apartado será vital tenerlo asimilado. Haciendo HTML nos vamos a "jartar" de hacer listados, eso seguro...
HTML- Tablas. Estas no serán tan importantes pero no dejan de ser muy necesarias en la composición de cualquier página web o aplicación.
HTML- Enlaces. Y ahora la estrella. Nada hay en una aplicación más útil que los enlaces y más ligado al "invento" Internet, del cual somos deudores si queremos desarrollar cualquier cosa...
HTML- Imagen. Otro clásico que da muy buenos resultados, espectaculares, de hecho.
Bien, esto sería en lo tocante a los conceptos básicos. En la siguiente entrada veremos los conceptos avanzados. Está resultando un curso denso, complejo; no esperaba menos pero va quedándome una sensación de "no-me-da-tiempo,-no-me-va-a-dar-tiempo!" que no te menees. Será cuestión de concentrarse y no perder el buen ánimo. 


lunes, 4 de febrero de 2013

Los lenguajes traen problemas, qué pena o Juegos de Caracteres

Seguramente todos tenemos esa sensación de que los lenguajes, en lugar de unir, dividen a la gente. Pero no es culpa suya, un lenguaje es una herramienta, no tiene capacidad sobre lo que hace o no. Quienes son responsables de su mal uso son quienes los utilizan. En asuntos de lenguaje de código sucede algo...que no tiene nada que ver. Esto era una divagación aprovechando que tengo que poner este enlace aquí. El asunto es bastante aburrido pero es muy conveniente tenerlo en cuenta y a mano por si se me olvida o tengo que refrescar la idea. Los juegos de caracteres son en informática los que se encargan de que las letras y otros signos que usamos tengan una coherencia al ser leídos. Para saber por dónde me ando, no hay más que acordarse de los signos raros que aparecen en algunos textos cuando debiera figurar nuestra querida "Ñ" y sale cualquier cosa parecida a los tacos de los cómics (&%$#!<¡*...). Bien, eso sucede por usar un juego de caracteres que no le corresponde a ese idioma (más o menos eso es lo que me ha quedado). Solución: usar el juego que nos recomienda el profesor, Sergio Luján: UTF-8 pero sin BOM (no, no es una explosión,  lo de los cómics ya acabó). BOM son las siglas de Byte Order Mark, el orden de marcado de bytes. Como no pienso repetir la explicación que se me ha dado porque lo he entendido pero no tengo por qué demostrarlo, os dejo aquí el video y el que no tenga más remedio que enterarse de lo que es, que lo mire. Yo me quedo con la moraleja: usa siempre el juego que te hemos dicho y si no, procura que sean los siguientes: ISO-8859-1 Latin 1 ó ISO-8859-15 Latin 1. Si no, tendrás símbolos de otras culturas bailando entre tus páginas web; uuuuuuuhhhhhhhh!!!!

domingo, 3 de febrero de 2013

History of Internet...espera, que te hago un dibujo!

Es que  este video que incluyo está hecho en un formato de dibujo...animado. Y lo han clavado porque es muy dinámico y muy claro explicando los conceptos y situaciones acaecidos en la creación de nuestra querida Red (yo al menos la quiero). Está prácticamente todo lo que ocurrió, hecho con brevedad precisa e incluyendo términos técnicos que quedan bien explicados con sus minimalistas dibujitos. Ya me callo. Mira, mira...

 

Así empezó esa cosa que llamamos InterNet...

No es un tema complicado para nada pero no sé si conseguiré explicarlo con claridad y de forma entretenida (si no, vaya rollo!). Como de todas formas siempre puedo volver a editarlo para que quede bien entendible, voy a incluir este video aunque me estoy saltando pasos. Se llama "How the Internet began" (y sigue bla, bla, bla...) y me ha parecido muy gráfico, muy fácil de entender lo que fue la propagación de la idea, de la red que formó la Red. Es un proceso al que hemos sido ajenos la mayoría de nosotros porque, de repente, un día, estábamos mandando correos e informándonos de cosas a través del invento pero, si hacemos memoria y nos ponemos a hablar de cuando éramos pequeños o cosas así, caemos en la cuenta de que no había smartphones, ni Internet, ni wasup, ni tantas otras cosas que ahora ya hemos integrado en nuestra vida diaria. No hablemos ya de quienes han nacido y todo esto ya estaba funcionando. Algunos incluso pensarán que vino una compañía privada y empezó a tender redes para luego cobrar y forrarse...no! que eso son las telefónicas! Bien, como decía, aquí podemos ver cómo se comienza a crear una comunicación entre tres universidades y la Red va medrando, quienes participan en su mantenimiento van viendo que se puede mejorar, ampliar, que hacen falta protocolos, sentar bases, convenios...(si quieres saber lo que ocurrió antes puedes ir aquí, aunque voy a incluir también una explicación y un video embebido sobre el particular (creo que lo haré). Bueno, no explico más, pasen y vean...

sábado, 2 de febrero de 2013

Empieza a complicarse la cosa!

Bien. Por fin empiezan las cosas que he venido a aprender. Ha habido alguna lección que no he colocado aquí porque eran cosas muy simples que, o bien conocía ya, o bien son fáciles de entender y no necesitan verse dos veces. Pero ahora es diferente, así que voy a ponerlo aquí porque voy a necesitar tenerlo a mano. Dale.



Arquitectura de Android

El siguiente gráfico muestra la arquitectura de Android. Como se puede ver está formada por cuatro capas. Una de las características más importantes es que todas las capas están basadas en software libre.

Figura 2:Arquitectura de Android.

El núcleo Linux



El núcleo de Android está formado por el sistema operativo Linux versión 2.6. Esta capa proporciona servicios como la seguridad, el manejo de la memoria, el multiproceso, la pila de protocolos y el soporte de drivers para dispositivos.
Esta capa del modelo actúa como capa de abstracción entre el hardware y el resto de la pila. Por lo tanto, es la única que es dependiente del hardware.


Runtime de Android


Está basado en el concepto de máquina virtual utilizado en Java. Dadas las limitaciones de los dispositivos donde ha de correr Android (poca memoria y procesador limitado) no fue posible utilizar una máquina virtual Java estándar. Google tomó la decisión de crear una nueva que respondiera mejor a estas limitaciones: la máquina virtual Dalvik.
Algunas características de la Dalvik son que facilitan la optimización de recursos con los ficheros Dalvik ejecutables (.dex) –formato optimizado para ahorrar memoria- y que, además, está basada en registros. Cada aplicación corre en su propio proceso Linux con su propia instancia. Por otro lado, delega al kernel de Linux algunas funciones como el threading y el manejo de la memoria a bajo nivel.
También se incluye en el Runtime de Android el “core libraries” con la mayoría de las librerías disponibles en el lenguaje Java.


Librerías nativas



Incluye un conjunto de librerías en C/C++ usadas en varios componentes de Android. Están compiladas en código nativo del procesador. Muchas de las librerías utilizan proyectos de código abierto. Algunas de estas librerías son:
· System C library: una derivación de la librería BSD de C estándar (libc), adaptada para      dispositivos embebidos basados en Linux.
· Media Framework: librería basada en PacketVideo's OpenCORE; soporta códecs de reproducción y grabación de multitud de formatos de audio, vídeo e imágenes MPEG4, H.264, MP3, AAC, AMR, JPG y PNG.
· Surface Manager: maneja el acceso al subsistema de representación gráfica en 2D y 3D.
· WebKit: soporta un moderno navegador web utilizado en el navegador Android y en la vista webview. Se trata de la misma librería que utiliza Google Chrome y Safari de Apple.
· SGL: motor de gráficos 2D.
· Librerías 3D: implementación basada en OpenGL ES 1.0 API. Las librerías utilizan el acelerador harware 3D si está disponible, o el software altamente optimizado de proyección 3D.
· FreeType: fuentes en bitmap y renderizado vectorial.
· SQLite: potente y ligero motor de bases de datos relacionales disponible para todas las aplicaciones.
· SSL: proporciona servicios de encriptación Secure Socket Layer.

Entorno de aplicación



Proporciona una plataforma de desarrollo libre para aplicaciones con gran riqueza e innovaciones (sensores, localización, servicios, barra de notificaciones...).
Esta capa ha sido diseñada para simplificar la reutilización de componentes. Las aplicaciones pueden publicar sus capacidades y otras pueden hacer uso de ellas (sujetas a las restricciones de seguridad). Este mismo mecanismo permite a los usuarios reemplazar componentes.
Una de las mayores fortalezas del entorno de aplicación de Android es que se aprovecha el lenguaje de programación Java. El SDK de Android no acaba de ofrecer todo lo disponible para su estándar del entorno de ejecución Java (JRE), pero es compatible con una fracción muy significativa de la misma.
Los servicios más importantes que incluye son:
· Views: extenso conjunto de vistas, (parte visual de los componentes).
· Resource Manager: proporciona acceso a recursos que no son en código.
· Activity Manager: maneja el ciclo de vida de las aplicaciones y proporciona un sistema de navegación entre ellas.
· Notification Manager: permite a las aplicaciones mostrar alertas personalizadas en la barra de estado.
· Content Providers: mecanismo sencillo para acceder a datos de otras aplicaciones (como los contactos).


Aplicaciones


Este nivel está formado por el conjunto de aplicaciones instaladas en una máquina Android. Todas las aplicaciones han de correr en la máquina virtual Dalvik para garantizar la seguridad del sistema.
Normalmente las aplicaciones Android están escritas en Java. Para desarrollar aplicaciones en Java podemos utilizar el Android SDK, aunque existe otra opción, consistente en desarrollar las aplicaciones utilizando C/C++. Para esta opción podemos utilizar el Android NDK (Native Development Kit).




viernes, 1 de febrero de 2013

¿Qué hace A Android especial?






Vamos introduciendo ya datos. Se acabó la introducción, vamos al lío...Como hemos comentado, existen muchas plataformas para móviles (iPhone, Symbian, Windows Phone, BlackBerry, Palm, Java Mobile Edition, Linux Mobile (LiMo),..); sin embargo Android presenta una serie de características que lo hacen diferente. Es el primero que combina en una misma solución las siguientes cualidades:
· Plataforma realmente abierta. Es una plataforma de desarrollo libre basada en Linux y de código abierto. Una de sus grandes ventajas es que se puede usar y customizar el sistema sin pagar royalties.
· Adaptable a cualquier tipo de hardware. Android no ha sido diseñado exclusivamente para su uso en teléfonos y tabletas. Hoy en día podemos encontrar relojes, cámaras, electrodomésticos y gran variedad de sistemas empotrados que se basan en este sistema operativo. Este hecho tiene sus evidentes ventajas, pero también va a suponer un esfuerzo adicional al programador. La aplicación ha de funcionar correctamente en dispositivos con gran variedad de tipos de entrada, pantalla, memoria, etc. Esta característica contrasta con la estrategia de Apple. En iOS tenemos que desarrollar una aplicación para iPhone y otra diferente para iPad.
· Portabilidad asegurada. Las aplicaciones finales son desarrolladas en Java lo que nos asegura que podrán ser ejecutadas en cualquier tipo de CPU, tanto presente como futuro. Esto se consigue gracias al concepto de máquina virtual.

· Arquitectura basada en componentes inspirados en Internet.Por ejemplo, el diseño de la interfaz de usuario se hace en xml, lo que permite que una misma aplicación se ejecute en un móvil de pantalla reducida o en un TV.
· Filosofía de dispositivo siempre conectado a Internet.
· Gran cantidad de servicios incorporados. por ejemplo, localización basada tanto en GPS como en redes, bases de datos con SQL, reconocimiento y síntesis de voz, navegador, multimedia…
· Aceptable nivel de seguridad. Los programas se encuentran aislados unos de otros gracias al concepto de ejecución dentro de una caja que hereda de Linux. Además, cada aplicación dispone de una serie de permisos que limitan su rango de actuación (servicios de localización, acceso a Internet, etc.)
· Optimizado para baja potencia y poca memoria. Por ejemplo, Android utiliza la Máquina Virtual Dalvik. Se trata de una implementación de Google de la máquina virtual de Java optimizada para dispositivos móviles.
· Alta calidad de gráficos y sonido. gráficos vectoriales suavizados, animaciones inspiradas en Flash, gráficos en 3 dimensiones basados en OpenGL. Incorpora codecs estándar más comunes de audio y vídeo, incluyendo H.264 (AVC), MP3, AAC, etc.
Como hemos visto Android combina características muy interesantes. No obstante, la pregunta del millón es ¿Se convertirá Android en el estándar de sistema operativo (S.O.) para dispositivos móviles? Para contestar a esta pregunta habrá que ver la evolución del iPhone de Apple y cuál es la respuesta de Windows con el lanzamiento de su nuevo S.O. para móviles. No obstante, Android ha alcanzado más de un 75% de cuota de mercado, por lo que, lo deja en una posición predominante que difícilmente pierda a corto plazo.
En conclusión Android nos ofrece una forma sencilla y novedosa de implementar potentes aplicaciones para diferentes tipos de dispositvo. A lo largo de estos textos trataremos de mostrar de la forma más sencilla posible como conseguirlo.

Declaraciones de intenciones

En Aplicaciones Android (llamaré así al curso a partir de ahora para no liarme) ya hemos empezado a proponer objetivos. Ahí van los de la primera lección:

  • Conocer las características de Android, destacando los aspectos que lo hacen diferente de sus competidores.
  • Estudiar la arquitectura interna de Android.
  • Aprender a instalar y trabajar con el entorno de desarrollo (Eclipse + Android SDK). -Con esto me estuve volviendo loco y no sabía si lo había conseguido. Ya iba a preguntar en el foro y me di cuenta de que me iban a enseñar aquí, claro...-
  • Enumerar las principales versiones de Android y aprender a elegir la más idónea para desarrollar nuestras aplicaciones.
  • Crear una primera aplicación y estudiar su estructura de un proyecto en Android.
  • Conocer donde podemos conseguir documentación sobre Android.
  • Aprender a utilizar las herramientas disponibles para detectar errores en el código.

Para ir empezando con Android...

En este video se nos habla de la existencia, como no podía ser de otra forma, de la maquetación de los proyectos de aplicaciones web. En este caso se denomina al proceso "Prototipado", por ser ciertamente la creación de un prototipo de lo que será la aplicación. Se incluyen incluso algunas funciones de lo que se verá en la producción final. Pero es mejor que nos lo explique la profesora Olga Carreras con un estilo claro y organizado...