miércoles, 15 de junio de 2011

Yii Framework

Como ya he venido comentando estoy en un tiempo de probar nuevos componentes para desarrollo y en estos últimos días he probado Yii, el cual es un framework PHP basado en componentes de alto desempeño para desarrollar aplicaciones Web de gran escala. El mismo permite la máxima reutilización en la programación web y puede acelerar el proceso de desarrollo. 
El requerimiento básico es tener un servidor Web con soporte PHP 5.1.0 o superior (Apache 2, Cherokee, IIS, lighttpd)
Gracias a que es liviano de correr y está equipado con soluciones de cacheo sofisticadas, es adecuado para desarrollar aplicaciones de grán tráfico como portales, foros, sistemas de administración de contenidos (CMS), Sistemas de comercio electrónico (e-commerce), etc.

Como la mayoría de los frameworks PHP posee las siguientes características:
  • MVC
  • ADO y Active Record
  • Validación de formularios
  • Widgets Web 2.0
  • Autenticación
  • Themes
  • Web Services
  • Internacionalización
  • Cache
  • Control de errores y logs
  • Seguridad
  • Generación automática de código
  • OOP
Sobresale frente a otro frameworks por su eficiencia, su gran cantidad de características y su clara documentación. En entregas posteriores haré mención con mayor detalle del uso de cada una de estas características.

martes, 14 de junio de 2011

Yii eah...!

Yii es un marco de trabajo MVC para desarrollo de aplicaciones web en lenguaje PHP5. Es una herramienta sencilla, poderosa y rápida de aprender.
Uno solo tiene que dar los siguiente pasos, para obtener los componentes más básicos, con los cuales podemos extender nuestra aplicación web.
  • Descargar desde el sitio web de Yii el paquete de su versión estable
  • Extraerlo de su empaque
  • Renombrar por una nomenclatura más amigable
  • Moverlo al directorio web de Apache
  • Cambiar permisos de dueño a la carpeta de yii
  • Escribir en el navegador web: "http://hostname/path/to/yii/requirements/index.php"
  • Ver los requerimientos que hacen falta, descargar e instalar (eso depende de la distro que utilicemos)
  • Abrir una consola de comandos e ir al directorio web de Apache y teclear el comando siguiente: 
    • php [ruta_base_de_yii]/yiic.php webapp [nombre_de_nuestra_aplicacion] (Asegurarse que donde vayamos a crear nuestra aplicaciones tengamos permisos de escritura en dicho directorio)
  • Escribir en el navegador web: "http://hostname/[nombre_de_nuestra_aplicacion]/index.php
  • Posterior a ello, podremos configurar el ingreso a nuestra base de datos y otros paramentros como el password para la interfaz gráfica de Gii, la cual es una herramienta que nos ayuda a tener rápidamente código funcional para nuestra aplicación, dicho archivo se encuentra en el directorio de nuestra aplicación, bajo la siguiente ruta: "protected/config/" y se llama "main.php"
  • Ya configurado esto, podemos ingresar al navegador la siguiente url " http://hostname/testdrive/index.php?r=gii" y proseguimos de siguiente manera:
    • Generar nuestras clases de modelo que sean mapeadas en nuestra base de datos a emplear
    • Generar crud's
  • Si todo salio bien y no hemos tenido problemas en los permisos de escritura, podremos introducir esta url en el navegador y ver nuestros registros de la bd ya presentados como una versión web muy simple: "http://hostname/testdrive/index.php?r=[tabla_base_de_datos]
Más adelante daré más detalles para ciertos pasos ya descritos aquí. Lo que quiero dejar como aporte es que Yii Framework es una herramienta de desarrollo muy fácil de implementar, para aplicaciones web con poco tiempo de entrega, pero es confiables y extensibles el uso de este Framework.

lunes, 13 de junio de 2011

Cloud Computing - Yiiea..!

La tendencia es los servicios de computación a través de Internet (Cloud), es un paradigma en el que la información se almacena de manera permanente en servidores de Internet y se envía a cachés temporales de cliente, lo que incluye equipos de escritorio, centros de ocio, portátiles, etc.

Este tipo de computación todo lo que puede ofrecer un sistema informático se ofrece como servicio, de modo que los usuarios puedan acceder a los servicios disponibles "en la nube de Internet" sin conocimientos en la gestión de los recursos que usan.

La computación en nube es un concepto que incorpora el software como servicio, como en la Web 2.0 y otros conceptos recientes, también conocidos como tendencias tecnológicas, que tienen en común el que confían en Internet para satisfacer las necesidades de cómputo de los usuarios.

Algunos de sus beneficios son:
  • Integración probada de servicios Red
  • Prestación de servicios a nivel mundial
  • Una infraestructura 100% de "Cloud Computing" no necesita instalar ningún tipo de hardware
  • Implementación más rápida y con menos riesgos
  • Actualizaciones automáticas que no afectan negativamente a los recursos de TI
  • Contribuye al uso eficiente de la energía
  • Evita el uso fraudulento del software y la piratería
Algunas de sus desventajas:
  • Interdependencia de los proveedores de servicios
  • Disponibilidad sin interrupciones de acceso a internet
  • Contexto de alta vulnerabilidad para la sustracción o robo de información de "datos sensibles"
  • La confiabilidad de los proveedores de servicios
  • La disponibilidad de servicios altamente especializados
  • La madurez funcional de las aplicaciones
  • Seguridad
  • Escalabilidad a largo plazo
En realidad es una alternativa tentativa para todos aquellos que usan la red con uso intensivo y que sus datos no son sensibles en su totalidad y los necesitan en todo momento y lugar por medio de cualquier dispositivo que tenga conexión a Internet.

Algunos de estos servicios son "Ubuntu One" de Cannonical, "iCloud" de Apple presentado la semana pasada y los servicios de Google como Gmail, Picasa, Docs entre otros, que son una prueba de que "Cloud Computing" puede funcionar en tareas comunes pero que aún tardara algún tiempo para que sean desarrollados servicios más especializados como los de diseño gráfico dígase Adobe Ilustrator, Corel Draw, edición de audio entre muchos otros.

viernes, 10 de junio de 2011

Parece que fue ayer... ta ta tara tararara tararara

Parece que fue ayer que llegue al mundo del software libre, hoy viendo la interfaz gráfica Unity que instale hace unos días atrás en mi laptop con Ubuntu 10.04 LTS, he recordado tantas experiencias de todo tipo con Linux. En realidad no hace muchos años, solo 8 que se de Linux y hace 5 que trabajo de lleno con él en todos mis proyectos personales y también en algunos del sector productivo.

Recuerdo hace más o menos como era todo hace 8 años, las distribuciones de GNU/Linux fuertes eran Debian y Red Hat, no existía nada de lo bonito que hay ahora de las distribuciones modernas.

Es un excelente avance desde entonces, realmente GNU/Linux siempre ha sido para mi una alternativa fuerte para detener la famosa "piratería informática" termino que se acuña a todos aquellos que infringen la licencia de distribución o reproducción de software de algún fabricante.
Esto quiere decir que yo soy un pirata informático cuando en mi sistema de computo tengo software que no he adquirido por los medios que el fabricante ha dispuesto legalmente, osea no he pagado para poder usarlo o distribuirlo.
Así que bueno GNU/Linux siempre me ha sido interesante para todos aquellos que no contábamos para compararnos una licencia de Windows o Mac.

Se que es cierto, muchos dispositivos de aquel entonces solo funcionaban con Windows XP, pero eso fue cambiando gradualmente. La comunidad de software libre retroalimentábamos a todos los equipos de desarrollo como hasta hoy se hace, para incrementar el soporte de hardware. En ocasiones uno mismo implementaba sus códigos para hacerlas funcionar.

Otro aspecto muy distintivo de ese entonces, era las suite de ofimática de moda en el mundo Linux StarOffice 6.0 un equivalente al famoso "Microsoft Office" (Word, Excel, Power Point, Publisher, Access). Realmente uno podía trabajar muy bien en la versión 6.0 de StarOffice, pero retomamos el punto anterior, así como el hardware era diseñado para trabajar con Windows, el símil era que, las personas que solo sabían y podían trabajar con Microsoft Office.

En el mundo de los navegadores no era la excepción. Las paginas web eran diseñadas para ser mostradas en el famoso y lento "Internet Explorer 6", el Firefox que ahora conocemos como un gran navegador web, en esos momentos era un embrión, aún no se llamaba siquiera Firefox sino Phoenix, el navegador web Netscape 7 era una muy buena opción.

Muchas, muchas cosas han ido mejorando y cuando trabajo con Unity vuelvo a repetir --"Parece que fue ayer, cuando todo era hecho por tus propias manos"-- En verdad los de Canonical han hecho que muchas cosas del mundo Linux sean vistas por todo el mundo de la informática con buenos ojos.

Me da gusto que en el mundo GNU/Linux se pueda avanzar para que todas las personas sean beneficiadas por las bondades del software libre. Hoy hay mucho soporte de hardware, software, muchas distribuciones para todos los gustos y muchos dispositivos sean servidores, estaciones de trabajo o móviles que ocupan directa o indirectamente software libre.

Hoy podemos darnos una oportunidad para poder incursionar en esta alternativa que es interesante, les animo a consumir Software Libre.

jueves, 9 de junio de 2011

Pensando de forma lateral - Mac OS X 10.7 Lion

Dar lugar y hacer mención a quien se lo merece, este es el caso del nuevo OS de Apple, aún que se que Mac OS X 10.7 Lion y todos los productos de Apple no son "GNU" pero si "Open Source", puedo decir que a primera vista es una fantástica Release.

Los ingenieros de Mac se lo tomaron muy apecho --"Pensamiento lateral"-- han hecho un trabajo excelente que se ve reflejado en funcionalidades muy básicas y potentes, con una interacción más intuitiva para los usuarios.

Entre las funciones que más destacan son:
  • Mejoras sensibles tanto a la interfaz de usuario como a la usabilidad
  • Los nuevos gestos del trackpad multitouch de Apple
  • Launchpad sustituto de la carpeta Aplicaciones del Dock
  • Mission Control es una mezcla extraña de Exposé, Spaces y Dashboard
  • Aplicaciones a pantalla completa = (FULL SCREEN) un tema mucho más natural
  • Mejora en el tema de las ventanas de una misma aplicación
Desde luego hay muchos más pequeños detalles en este nuevo sistema operativo, que tendré la oportunidad de probar en un futuro no lejano. Pero lo que está claro es que Mac OS X 10.7 Lion no revoluciona demasiado con características como Launchpad, Apple sabe bien que si una cosa funciona, mejor no tocarla. Y Mac OS X funciona muy bien desde hace algunos años.

Pensamiento lateral

La definición de la wikipedia dice esto: "Es un método de pensamiento que puede ser empleado como una técnica para la resolución de problemas de manera creativa."

En otras palabras: "Es el enfoque en el cual el equipo analista del software trata de pensar en el problema en nuevas formas para generar soluciones innovadoras."

Eso estoy en estos momentos, es parte del proceso de crear diferentes planes para alcanzar las metas del proyecto, en mi caso estoy haciendo mejoras de funcionalidad de un software desarrollado para la empresa en la cual laboro.
Y es muy sano el dejar de pensar en los problemas por un tiempo, para después volver a enfocarse y abordarlos con nuevas formas para generar soluciones innovadoras.

Así que hoy habrá día libre para desarrollar nuevas ideas.

Que tengan un excelente día.

miércoles, 8 de junio de 2011

Desde la república Android

Pues aquí probando las cualidades de una app para mi dispositivo. Al parecer responde muy bien y es en tiempo real todas las publicaciones de cada entrada. Es una potente herramientas para todos los blogeros.
Published with Blogger-droid v1.7.1

martes, 7 de junio de 2011

Smartphone con Android 2.2

Pues bien, después de un prolongado tiempo sin tener en mis manos un smartphone como el N85 que hace tiempo me robaron, se llego el momento, hace unas semanas atrás un amigo del trabajo me hizo la oferta de un smartphone con el OS Android 2.2 - "Froyo", después de pensarlo y analizar dicha compra me decidí por el. Hay muchas bondades del OS entre otras, mismas del dispositivo. Puedo decir que el precio por el cual me fue vendido es mínimo.

Ahora después de 2 semanas de tenerlo puedo dar alguna opinión de dicho dispositivo, en primera instancia me gusta como responde cada una de las funcionalidades. De las cosas que destacan son:
* Sincronizar desde la primera vez, me agrada la idea de que no tengo que cargar mis contactos al chip, porque todo se sincroniza con la cuenta que tengo en google.
* Mucha, muchas, muchas apps, la tienda "Android Market" tiene un sinfín de App's para todos los gustos, de todos colores y sabores.
* Una cámara estándar de 3 mpx., una de video de HD.
* La autonomía es muy buena ya que dura aproximadamente día y medio con una carga al 100% (Y digo algunas de las funciones que más demandan de la batería son reproducir música, yo escucho unas 3 horas en el día, llamadas, email, mensajes de texto, algunas apps que me gustan y que cargan datos desde G3 o en su caso Wi-Fi, juegos, sincronismo de todos los datos, siempre en modo activo el Wi-Fi)
* Escalable hasta 16 GB.
* Entre otras muchas cosas.

Las cosas que me dan mucha satisfacción es que de puro ocio lo restaure a la configuración de fabrica y bueno grata fue la sorpresa al reinicio del dispositivo, me pidió la cuenta de google y datos personales básicos, y después todo estaba ahí todas las aplicaciones, todas las actualizaciones, todos todos todos los datos que se me podrían ocurrir que se perderían.

Hasta aquí puedo decir que los chicos de Android han realizado un excelente trabajo.
Estoy feliz con mi nuevo dispositivo.