Topic: Desarrollo/Programación

WebOpenSource simple y rapido: BitNami




BitNami es considerado por algunas personas como un framework de instalación para aplicaciones web open source, tienen un concepto muy interesante llamado stack y son paquetes con todo lo necesario para correr una aplicacion web como Joomla o WordPress, permiten instalaciones en local, para maquinas virtuales y tambien en entornos cloud como Amazon EC2, realmente facilitan mucho el trabajo a la hora de montar un servidor con alguna de las aplicaciones disponibles, ademas, es una buena opcion para probar software que no hemos usado sin meternos en complicaciones…

soda-stacksSitio oficial…

Ajax loaders para tus WebApps




Muchas veces, cuando estamos creando aplicaciones ajax requerimos de una buena imagen para usar de loader, aqui les traigon un excelente recurso en linea que te permite crear diferentes tipos de loaders, con configuracion de colores y tranparencia… espero sea util…

ajaxloaderIr al Sitio…

Lanzar una excepción desde __autoload() de PHP




La función __autoload es una de las mas útiles en PHP5 (aunque su desempeño es muchas veces cuestionado, ese no es el tema de esta entrada), nos permite definir un método para declarar nuestras clases, es decir, ya no tendremos que tener todos esos include y require, y el sistema automáticamente, al detectar que alguna clase no existe, disparara esta función (En la cual obviamente debemos realizar el include o require), todo bien hasta aqui, sin embargo esta función tiene una pequeña desventaja, no puede lanzar excepciones.

Afortunadamente existen algunas maneras de “cubrir” esta característica, el método más común (y el que yo uso) consiste en crear la clase que está buscando el autoload y después lanzamos la excepción desde esa clase, para esto haremos uso de la función eval y de __callstatic(Para cubrir llamados a métodos estáticos sin instanciar nada), aquí les un pequeño ejemplo:

function __autoload($class_name)
{
    if(file_exist($class_name.'.php'))
    {
        include $class_name.'.php';
    }
    else
    {
        eval("
            class $class_name
            {
                function __construct()
                {
                    throw new Exception('La clase $class_name no existe', 1001);
                }
                static function __callstatic($m, $args)
                {
                    throw new Exception('La clase $class_name no existe', 1001);
                }
            }
        ");
    }
    return;
}

Espero sea útil… saludos…

jCart: Comercio electrónico en Ajax, PHP y jQuery

jCart es un pequeño script e-commerce hecho con PHP y jQuery.

Nos brinda la funcionalidad básica de una tienda en línea incluyendo el carrito de compras, utiliza jQuery para darle una funcionalidad más dinámica por medio de Ajax aunque es completamente funcional con javascript deshabilitado.

free-php-ajax-shop-cart

Muy sencillo de adaptar a tu sitio, un recurso bastante útil…

Sitio oficial…

Web Uptime Monitor Script: phpWatch

A medida en que avanzamos en esto del desarrollo web, aumenta la necesidad de monitorear nuestras paginas, es un hecho que cualquier compañia de hosting algunas veces falla y esto es hasta cierto punto normal, siempre y cuando se encuentre dentro de que contratamos.

Existen algunos servicios web que nos permmiten hacer esto pero aqui les presento un script para que ustedes puedan controlar su propio sistema de monitoreo, phpWatch es gratuito y nos permite monitorear cualquier cantidad de sitios web, ademas contar con un sistema de notificaciones SMS y correo electronico…

free-php-uptime-monitor

Cuenta con una interfaz muy sencilla y trabaja en base a un script que tenemos que configurar en CRON(Linux) o en el administrador de tareas(Windows), tambien menciona que provee una pequeña API para que otras aplicaciones se puedan conectar y usar la información…

Pagina oficial…

Un CMS para pequeñas web: GetSimple

GetSimple es una aplicación CMS open source, cuya principal característica es que utiliza sus bases de datos en XML, esto la hace ideal para pequeñas web debido a que no es necesario tener instalado un servidor de bases de datos. La interfaz es muy sencilla y amigable y cuenta con algunas características interesantes como su backup/restore.

getsimple-cms

Tiene una documentación bastante aceptable donde pueden encontrar como crear formas de contactos o como cambiar la imagen de su sitio.

La verdad es un modelo muy interesante aunque sería interesante ver que es lo que se considera como una “pequeña web”, cuales son los limites y hasta donde podríamos llegar con este script y si podemos exportar la información de nuestra web para usarla con algún otro CMS más potente, aun no he probado este script a fondo pero parecer valer la pena…

Sitio oficial…

Frameworks de PHP, un acercamiento…

Dentro del desarrollo de aplicaciones existen tareas que se pueden volver muy repetitivas, existen cosas que realizamos en prácticamente todos los proyectos, tareas como permisos de usuarios, manejo de bases de datos, etc., esto ocurre tanto en proyectos de PHP como en cualquier otro lenguaje, y es para tratar de solucionar este problema el que existen los frameworks.

Generalmente los frameworks de PHP nos proveen la base para una aplicación, muchas cosas vienen pre construidas, además, la mayoría de las veces también nos proponen la estructura de archivos y directorios, todo esto nos puede ayudar a desarrollar aplicaciones de una forma mas rápida y solida, en otras palabras, nos permite ahorrar tiempo y reduce de una manera significativa la cantidad de código que se requiere en tareas comunes. La mayoría de los frameworks de PHP utilizan un patrón de diseño llamado MVC (Modelo-Vista-Controlador), este patrón de diseño plantea la idea de separar la lógica de negocios de la interfaz de usuario, permitiendo modificar de manera independiente una de la otra, esto permite que la programación en PHP sea más rápida, sencilla y organizada.

framework_php

Existen muchas razones para usar un framework, pero las principales son acelerar el proceso de desarrollo, evitar rehacer algunas de las tareas más comunes  y poder reutilizar código en varios proyectos, de esta forma los programadores pueden ocupar su tiempo para desarrollar solamente las partes específicas de la aplicación en lugar de estar reconstruyendo las bases para cada proyecto. La estabilidad es otra razón importante para utilizar los frameworks, aunque PHP es un lenguaje de programación muy sencillo, también es muy sencillo que programadores inexpertos escriban código erróneo, y dejen huecos de seguridad que pueden ser susceptibles a ataques.

¿Cuándo debo usar un Framework?

Esta es una pregunta muy común, y desafortunadamente no tiene una respuesta sencilla, para los desarrolladores principiantes, los frameworks ofrecen gran simplicidad y estabilidad, es una buena idea usarlos siempre que sea posible, esto ayudaría a eliminar malas prácticas y acelerar el proceso de desarrollo. Por otro lado, muchos programadores experimentados consideran a los frameworks como una herramienta para programadores débiles, que no saben escribir buen código, sin importar si esto es verdad o no, los frameworks son herramientas que nos permiten ahorrar tiempo y esfuerzo.

Entre los factores a tomar en cuenta a la hora de elegir un framework tenemos: facilidad de uso, rapidez en el desarrollo, popularidad entre otros desarrolladores y soporte/documentación, es recomendable probar con varios frameworks para encontrar el que mejor cumpla con nuestras necesidades, cada framework es diferente, tiene sus fortalezas y debilidades, por ejemplo Zend framework es uno de los más fuertes y con mas características, sin embargo, no es tan sencillo comenzar a usarlo, a diferencia de Codelgniter que aunque no es tan fuerte como Zend es mucho mas fácil de utilizar, algunos de los frameworks mas populares son:

Zend Framework
Es un framework muy popular enfocado en aplicaciones web 2.0, tiene una comunidad bastante grande y es desarrollado por la compañía Zend, la misma que creó el motor de PHP, es un framework muy robusto y potente, sin embargo, su uso requiere bastante conocimiento de PHP.

CakePHP
Es uno de los que más ha crecido en popularidad últimamente, está basado en los mismos principios de Ruby on Rails y está enfocado en agilizar el desarrollo, a diferencia de Zend, este framework es mucho mas fácil de utilizar.

Codelgniter
Codelgniter es conocido por su facilidad de uso, desempeño y velocidad. Ofrece soluciones simples y cuenta con muy buena documentación, esta opción es altamente recomendada para principiantes.

Symfony
Este framework open source fue el más popular hace algún tiempo, está enfocado en desarrolladores avanzados cuyo principal objetivo es crear aplicaciones de nivel empresarial, es un framework muy completo, sin embargo la velocidad de desarrollo es más lenta que la de los demás, muchos desarrolladores lo cambiaron por Zend.

En resumen, los frameworks de PHP son excelentes recursos para desarrolladores de todos los niveles, evitan escribir código repetitivo, aceleran el proceso de desarrollo y mejoran la seguridad de nuestras aplicaciones, aunque si debo decir que en todos se requiere cierto conocimiento de PHP, en cuanto a cual se debe usar, eso ya es decisión de ustedes…

Un saludo…

Gritter: Notificaciones con JQuery estilo Growl

Gritter es un plugin de jQuery para crear notificaciones estilo Growl con facilidad, estas notificaciones pueden ser estilizadas con facilidad, es posible crear multiples notificaciones cada una de ellas con ID unico y un comportamiento independiente, puedes elegir si quieres que desaparescan las notificaciones tras unos segundos o hasta que el usuario las cierre manualmente,muy buen plugin para tenerlo en la mente…

jquery-growl-notifications

Sitio oficial…

Mibew Messenger: Chat de soporte

Mibew Messenger (Antes Open Web Messenger) es una aplicación open source para lo que conocemos como LiveChat de soporte tecnico, permite que nuestros usuarios puedan chatear con nosotros para recibir soporte, en caso de que no tengamos algun ejecutivo  en sesión les pedira que dejen un mensaje, puede adaptarse la visualización a su sitio web y permite un seguimiento de soporte tecnico, una gran herramienta…

open-source-live-support

Sitio oficial…

Streber: Herramienta para manejos de proyecto “Wiki-Like”

Streber es una herramienta para administracion de proyectos escrita en PHP5, es una herramienta muy sencilla y amigable que podria ser ideal para equipos pequeños o para freelancers, su instalación es muy sencilla y el tiempo necesario para comenzar a usarla es relativamente corto, ademas, el manejo de topicos estilo wiki nos permite ir alimentando una posible documentación del proyecto, una opción a tomar en cuenta…

wiki-project-management

Sitio oficial…