Desarrollo Web

HTML 5, Cuando sale y que nos trae..

Todo el que ha intentando incursionar en la internet y ha querido tener su propio sitio web, a tenido que tocar como primer punto, el lenguaje de marcadores HMTL el cual nos permite en pocos minutos tener una web lo suficientemente decente para mostrar y seguir adelante con la siguiente fase que es añadirle estilos mediante CSS y convertirla en una web profesional o seguir mas allá y agregarle funcionabilidades mediante un lenguaje de scripting como PHP y soportar los datos mediante un manejador de BD´s como MySql.

Ahora bien llevamos varios años usando HTML 4 y el XHTML 1 estricto,  pero en los ultimos meses nos hemos visto muy influido por frameworks, API´s,etc. Ahora bien uno de los puntos mas interesantes es el uso extendido que se le esta dando al DOM desde el HTML mediante javascript, este ultimo que desde siempre ha acompañado al famoso lenguaje de marcadores habia sido poco tomado en cuenta  asi como el DOM, ya que para añadir dinamismo se usaba poco, asi como el Dhtml, porque el interes de los desarrolladores es de programar mas del lado del servidor , esto puede tener muchos PRO´s , uno de los que me viene a la mente al momento es la seguridad del código, mientras Javascript, Html, CSS puede visualizarse el codigo fuente por el  usuario PHP  y otros solo muestran una salida estandar.

Ahora bien,  sobre HTML 5,  tienen pensado lanzarlo hasta el 2012, aunque ya algunos navegadores poseen algunas de sus caracteristicas, y como decia arriba, tocará ser mas que una nueva version de HTML,  pues ademas se vera como una implementación de especificaciones, agregando lo mas nuevo y estable, y quitando lo que esta en desuso.

Y si bien nos sorprenderia la depuración comentada, lo mas importante es que HTML 5 obstentara convertirse en un proveedor de un API que permitirá a los usuarios crear aplicaciones dentro del navegador que de otra manera estuvieran solo disponibles mediante terceros.

Algunas de las Caracteristicas Nuevas son:

  • Estructura del cuerpo: La mayoría de las webs tienen un formato común, formado por elementos como cabecera, pie, navegadores, etc. HTML 5 permite agrupar todas estas partes de una web en nuevas etiquetas que representarán cada uno de las partes típicas de una página.
  • Etiquetas para contenido específico: Hasta ahora se utilizaba una única etiqueta para incorporar diversos tipos de contenido enriquecido, como animaciones Flash o vídeo. Ahora se utilizarán etiquetas específicas para cada tipo de contenido en particular, como audio, vídeo, etc.
  • Canvas: es un nuevo componente que permitirá dibujar, por medio de las funciones de un API, en la página todo tipo de formas, que podrán estar animadas y responder a interacción del usuario. Es algo así como las posibilidades que nos ofrece Flash, pero dentro de la especificación del HTML y sin la necesidad de tener instalado ningún plugin.
  • Bases de datos locales: el navegador permitirá el uso de una base de datos local, con la que se podrá trabajar en una página web por medio del cliente y a través de un API. Es algo así como las Cookies, pero pensadas para almacenar grandes cantidades de información, lo que permitirá la creación de aplicaciones web que funcionen sin necesidad de estar conectados a Internet.
  • Web Workers: son procesos que requieren bastante tiempo de procesamiento por parte del navegador, pero que se podrán realizar en un segundo plano, para que el usuario no tenga que esperar que se terminen para empezar a usar la página. Para ello se dispondrá también de un API para el trabajo con los Web Workers.
  • Aplicaciones web Offline: Existirá otro API para el trabajo con aplicaciones web, que se podrán desarrollar de modo que funcionen también en local y sin estar conectados a Internet.
  • Geolocalización: Las páginas web se podrán localizar geográficamente por medio de un API que permita la Geolocalización.
  • Nuevas APIs para interfaz de usuario: temas tan utilizados como el “drag & drop” (arrastrar y soltar) en las interfaces de usuario de los programas convencionales, serán incorporadas al HTML 5 por medio de un API.
  • Fin de las etiquetas de presentación: todas las etiquetas que tienen que ver con la presentación del documento, es decir, que modifican estilos de la página, serán eliminadas. La responsabilidad de definir el aspecto de una web correrá a cargo únicamente de CSS.
read more

Listado de Frameworks para CSS

Los frameworks CSS disponen una serie de clases (de hojas de estilo) ya creadas con las que ayudar a posicionar elementos en la página y crear estructuras de maquetación, más o menos versátiles. Así, en el desarrollo de páginas nuevas, o en el rediseño de páginas antiguas, podemos ayudarnos de frameworks CSS para disponer de una rejilla donde posicionar los distintos componentes de nuestro diseño. Con ello nos ahorraremos el tiempo de tener que crear de nuevo decenas de clases que estamos aburridos de implementar para crear maquetaciones a 2, 3 ó 4 columnas, con divisiones de cabecera, cuerpo y pie, etc.

960 Grid System

Es, tal vez, el más utilizado de los frameworks CSS, cuyas páginas se construyen en anchuras de 960 píxeles (de ahí su nombre). Ofrece dos posibilidades de maquetación de páginas, con una rejilla de 12 ó 16 columnas. Nosotros escogimos este framework CSS para explicarlo a los lectores de DesarrolloWeb.com, justamente por ser tan popular. En nuestro trabajo con este sistema hemos podido comprobar que es muy versátil y sobre todo, sencillo de utilizar.

Página web de 960 Grid System
Manual de 960 Grid System

Simple

Este framework CSS lo presenta un desarrollador chileno, con lo que todos los ejemplos y documentación que puedas encontrar está en español. El creador lo ha realizado para poder simplificar las cosas, no sólo en el desarrollo de las páginas, sino también en el aprendizaje. Lo destacamos en segundo lugar por ser un producto en castellano, que siempre se agradece tener herramientas para trabajar en nuestro propio idioma.

Página web de Simple
Artículo en DesarrolloWeb.com sobre Simple

Blueprint

Es un framework CSS que pretende reducir el tiempo de desarrollo de las páginas web. Ofrece una estructura sólida en la que fundar tu trabajo de diseño, por medio de la típica rejilla. Pero no se limita simplemente a eso, sino que ofrece otra serie de clases muy útiles para estilizar componentes típicos, como formularios, botones, pestañas, tipografías o para que tus páginas web se puedan imprimir de manera óptima en papel.

Página web de Blueprint

YUI Grids CSS

El framework CSS de Yahoo! Es un código CSS que permite maquetar páginas con distintas anchuras (750px, 950px, y 974px) y hacer todas las cosas típicas que se pueden desear en una página. Tiene 6 plantillas predefinidas y la posibilidad de crear más de 1.000 combinaciones de maquetación, en regiones de 2, 3 y 4 columnas. Forma parte de la Yahoo! User Interface Library, lo que da una garantía adicional, por venir de tan renombrado buscador.

Página web de YUI Grid CSS

Tripoli

Tripoli no es un framework CSS y según remarcan los creadores, ello significa que no te obliga a desarrollar tu página de una manera determinada. En contra, lo que ofrece es un código CSS que resetea los estilos predefinidos de los navegadores y los redefine, consiguiendo una base estable sobre la que realizar un sitio y que se vea igual en cualquier cliente web. Puede ser interesante porque intenta no caer en los problemas que tienen los frameworks CSS.

Página web de Tripoli

Boilerplate

Este framework me ha parecido interesante porque está creado por uno de los desarrolladores iniciales de Blueprint, que ha fundado el nuevo proyecto para poner en marcha sus ideas particulares. Como él dice, este framework está pensado para simplificar las cosas y ser ligero, aportando todo lo básico para poder maquetar una web, pero sin las complejidades que tiene Blueprint y con convenciones de nombres que dan más sentido y significado a lo que estamos codificando.

Pagina web de Boilerplate

BlueTrip

Según sus creadores, BlueTrip es una combinación de lo mejor de distintos frameworks CSS de los que hemos hablado ya. Su nombre viene de la unión de BLUEprint – TRIpoli, haciendo referencia a esa unión de ideas de los mejores framewoks, entre los que también se han inspirado en nuestro framework preferido en estos momentos, 960 grid, por su sencillez.

Página web de BlueTrip

Otros Framework CSS

Pongo otros frameworks CSS que he encontrado y que no he investigado tanto las posibilidades que ofrecen, aunque también pueden ser interesantes, sobre todo puede que den enfoques diferentes que puedan ser útiles en ciertas ocasiones.

Elements
ESWAT
Content with style
My CSS Framework
Hartija
Malo (Framework CSS ultra pequeño)
emastic

read more

Framework para PHP

CodeIgniter

CodeIgniter es un framework para desarrollo de aplicaciones en PHP. Es Open Source, tiene una interfase simple y un acceso a sus librerías bien estructurado. Es ligero y fácilmente instalable (puede usarse en un alojamiento compartido y no es necesario tener acceso a la línea de comando)

CakePHP

CakePHP es un framework para php que facilita el mantenimiento de contenidos (insertar, editar y eliminar registros), la validación de los campos de los formulario, previene de ataques por SQL injection, testeo de las aplicaciones, la interacción con la base de datos mediante el uso de ActiveRecord y también tiene un sistema de plantillas rápido y flexible.

Symfony

Symfony es un completo framework diseñado para optimizar, gracias a sus características, el desarrollo de las aplicaciones web. Para empezar, separa la lógica de negocio, la lógica de servidor y la presentación de la aplicación web. Proporciona varias herramientas y clases encaminadas a reducir el tiempo de desarrollo de una aplicación web compleja.

Prado

PRADO está basado en componentes eventos con el objetivo de acelerar el desarrollo de aplicaciones web usando PHP 5, el concepto del desarrollo de aplicaciones en Prado es diferente, se utilizan componentes, eventos y propiedades en vez de procedimientos, URL y parámetros.

Qcodo

Qcodo es un framework open-source desarrollado en PHP 5, que construye un mapeo de objetos y una interfaz de ABMS (Alta, baja y modificación) utilizando AJAX desde un modelo existente de una base de datos. Adicionalmente, contiene QForms que son componentes para generar formularios. Es un framework de desarrollo liviano que puede ser utilizado tanto en pequeñas como en grandes aplicaciones.

Zend Framework

Zend Framework cuenta con componentes que facilitan y acortan el proceso de implantación de aplicaciones Web, aprovechando a su vez las ventajas de Web services. Entre esos componentes está GData, que ofrece la capacidad de creación de mash-ups y permite optimizar la utilización de componentes de Google que usan GData. Zend Framework también soporta APIs de Amazon, Flickr y Yahoo mediante su módulo Zend_Service.

Akelos

Akelos es una versión para PHP de la plataforma de desarrollo Ruby on Rails. Al igual que Rails, proclama incrementar la velocidad y facilidad con la que se pueden desarrollar aplicaciones web que utilizan bases de datos, es compatibilidad con PHP4 y PHP5. Akelos es muy completo, buena documentación y ejemplos de sus implementaciones varios

Maintainable

Maintainable PHP Framework fue construido originalmente para el uso personal del creador y luego fue puesto a disposición de todos, a petición de de sus clientes. Está diseñado principalmente para su uso con las pequeñas y medianas aplicaciones web.

evoCore

evoCore es un framework que es el motor de b2evolution con lo cual le añade las características de blog al desarrollo de aplicaciones web, manejo de usuarios y grupos, manejo de sesiones y permisos no requiere php5 para trabajar esta realizada totalmente en PHP 4.

Stratos

Stratos es un herramienta de fuente abierta, orientado a objetos Web Application Framework, que facilita el rápido desarrollo, bien organizado, seguro, y mantiene aplicaciones web PHP. Stratos le libera del trabajo tedioso, las tareas de rutina, y le permite centrarse en las necesidades específicas de software.

Seagull

Seagull es una madura herramienta OOP para la creación de webs, la línea de comandos y aplicaciones GUI. Bajo licencia BSD, el proyecto le permite a los desarrolladores de PHP integrar fácilmente el código y gestionar los recursos, y crear rápidamente aplicaciones complejas.

Zoop

Zoop es un Framework PHP Orientado a Objeto basado en el modelo MVC, sus desarrolladores lo caracterizan por ser rápido, eficiente y fácil destinado para programadores. Cuenta con soporte e integración con AJAX, caching, validación, sistemas de plantillas Smarty, creación de PDF, plantillas para el envío de correo electrónico usando SMTP, cuenta con compatibilidad con múltiples base de datos.

php.MVC

php.MVC aplica el patrón de diseño modelo-vista-controlador (MVC), y alienta el diseño de las aplicaciones basadas en el paradigma del modelo 2. Este modelo le permite diseñar la página web u otros contenidos (Ver), que se separa de la mayoría de la aplicación interna del código (Contralor / Modelo), por lo que es más fácil para los diseñadores y programadores para centrarse en sus respectivas esferas de competencia.

AjaxAC

AjaxAC es abrir un herramienta de trabajo de código escrito en PHP, que sirve para desarrollar / crear / generar aplicaciones AJAX. La idea fundamental detrás de AJAX (JavaScript asíncrono y XML) es utilizar el objeto XMLHttpRequest para cambiar el estado de una página web utilizando consultas HTTP sin volver a cargar la página entera. Es liberado bajo los términos de la Licencia Apache v2.0.

xAjax

xAjax es una biblioteca código abierto de PHP capaz de generar aplicaciones Web con tecnología AJAX. Las aplicaciones desarrolladas con Xajax pueden comunicarse asíncronamente con funciones que se encuentran del lado del servidor y así actualizar el contenido de una página sin tener que recargarla nuevamente.

PHOCOA

PHOCOA (pronunciado Faux-ko) es herramienta PHP para el desarrollo de aplicaciones web. PHOCOA, tiene como intención primaria hacer que el desarrollo de aplicaciones web en PHP sea más fácil, más rápido y de mayor calidad.

Kohana

Kohana es un herramienta de PHP 5 que utiliza el modelo vista controlador patrón arquitectónico. Es en realidad un “fork” (división del desarrollo del código) de CodeIgniter, que aparentemente surgió de la insatisfacción de sus usuarios cuando se hizo evidente que sus desarrolladores estaban más interesados en actualizar su CMS comercial ExpressionEngine que en corregir los errores reportados y tener en cuentas las nuevas características pedidas.

Limb

Limb es parte OpenSource (LGPL) . Es una herramienta destinada principalmente a la rápida aplicación de prototipos webs y el desarrollo. El actual desarrollado de la rama tiene mantenimiento (pero no Limb2). Limb 3 es más bien una biblioteca que consta de muchos componentes reutilizables distribuidos como los paquetes de Limb3 PEAR channel.

Solar

Solar es un framework para PHP5 que nos permite desarrollar aplicaciones web de forma rápida. Usa conceptos derivados del sistema de plantillas Savant, el paquete de gestión de objeto-relación de DB_Table, Yawp para la creación de aplicaciones y la estructura de PEAR.

BlueShoes

BlueShoes es un framework y CMS escrito en PHP, con soporte para MySQL y para Oracle y MSSQL. Ofrece a los desarrolladores soluciones para necesidades reales, para lo cual disponemos de componentes que manejo de usuarios, sesión, grupo de usuarios, tratamiento de excepciones, logs, formularios y mucho más

read more