1.3. FRAMEWORK
1.3.3. Beneficios
¿Por qué utilizar MVC? Debido a que es un patrón de diseño de software verdaderamente probado que convierte una aplicación en un paquete modular fácil de mantener y mejora la rapidez del desarrollo. La separación de las tareas de la aplicación en modelos, vistas y controladores hace que la aplicación sea muy fácil de entender. Las nuevas características se añaden fácilmente y agregar cosas nuevas a código viejo se hace muy sencillo. El diseño modular también permite a los desarrolladores y los diseñadores trabajar simultáneamente, incluyendo la capacidad de hacer prototipos rápidos.18
La separación también permite a los desarrolladores hacer cambios en una parte de la aplicación sin afectar a los demás.
1.4. HERRAMIENTAS DE DESARROLLO 1.4.1. Dreamweaver
Es un editor, programa para crear páginas Web, es tipo WYSIWYG creado por Macromedia (actualmente de Adobe Systems).
Es la aplicación de este tipo más usada en el sector de diseño y programación Web. Posee, como toda la línea Macromedia/Adobe, excelentes funcionalidades e integración con otras herramientas. Su éxito data desde 1990 y en la actualidad capta el 90% del mercado de editores HTML.
Ventajas:
Es muy flexible, sobre todo para el diseño.
Tiene muchas opciones como botones flash, botones normales y formularios.
17 Modelo vista controlador (MVC) – Framework - http://book.cakephp.org/ 18 Entendiendo el Modelo - Vista – Controlador Cake PHP.com
35
Todas las herramientas se encuentran rápidamente.
Desventajas:
Las nuevas versiones no facilitan nada respecto a las anteriores.
Se necesita de alta resolución para manejar todas las barras
Le falta implementación de DHTML; su precio es considerable y carga muy lentamente.
1.4.2. PHP
PHP es un lenguaje de programación de servidor de alto nivel y el cual puede ser embebido en el código HTML. Es un lenguaje muy potente y debido a su gran similitud con lenguajes tradicionales como C es fácil aprender a utilizarlo. Sin embargo antes de comenzar a usar PHP, es necesario comprender de qué manera funciona y se ejecuta este.
Se conoce que la comunicación entre el cliente y el servidor PHP se da de la siguiente manera:19
1. El cliente escribe en su navegador una dirección, con lo que en realidad está solicitado un archivo al servidor (también aplica cuando el cliente en vez de escribir una dirección en el navegador hace clic sobre un link).
2. Suponiendo que el cliente escribió en su navegador la dirección www.ejemplo.com/pagina1.php, el navegador envía hacia el servidor, o para efectos prácticos al computador, llamado www.ejemplo.com una solicitud para el archivo pagina1.php.
3. El servidor web (en este caso Apache que es el software de servicio web instalado en computador que sirve de servidor remoto) recibe la solicitud, identifica que se está solicitando un archivo de extensión php e inmediatamente solicita al intérprete de PHP que procese y envíe el archivo.
4. El intérprete PHP recupera y lee el archivo pagina1.php. Ejecuta los comandos de programación PHP que contiene el archivo, en el proceso puede llegar a comunicarse con un motor de base de datos, servidores de correo electrónico, etc.
19 PHP – Conceptos PHP YA
36
5. Una vez se ha ejecutado los comandos, el archivo y los datos resultantes se devuelven al servidor web (Apache).
6. El servidor web devuelve el archivo en formato HTML hacia el cliente que lo solicitó y el navegador del cliente se encarga de construir y presentar los datos del archivo. La salida de datos siempre será en formato HTML sin importar si el archivo tiene extensión php, html o de otro tipo.
Gráfico 2. Esquema del funcionamiento de PHP Fuente: http://groups.diigo.com
1.4.3. HTML
HTML es un lenguaje de marcas o etiquetas utilizado para construir páginas web. Sus siglas en inglés significan HyperText Markup Language.
Es usado para describir la estructura y el contenido en forma de texto, así como para complementar el texto con objetos tales como imágenes. HTML se escribe en forma de «etiquetas», rodeadas por corchetes angulares (< >). HTML también puede describir, hasta un cierto punto, la apariencia de un documento, y puede incluir un script (por ejemplo JavaScript), el cual puede afectar el comportamiento de navegadores web y otros procesadores de HTML.
Los navegadores web toman el código HTML, lo interpretan y construyen la página web con los elementos descritos en el código. La interpretación de ciertos elementos o etiquetas
37
HTML puede variar de un navegador a otro lo que hace que el desarrollador deba estar atento a si estas variaciones afectan o no el normal funcionamiento de su página. Sin embargo, “en términos generales todo el código HTML es interpretado por los navegadores web de acuerdo a los estándares, de todos siendo el que menos se ajusta a ellos el navegador de Microsoft, Internet Explorer” (HTML, http://es.wikipedia.org, 2013).
Los resultados que el intérprete de PHP devuelve cuando procesa un archivo se estructuran en código HTML, de manera que cuando el servidor web devuelve al cliente los resultados de su petición, el navegador puede construir la página web haciendo uso de este código.
1.4.4. Javascript
Javascript es un lenguaje de programación de cliente. Viene integrado en todos los navegadores web modernos. Su principal propósito es dar dinamismo del lado del cliente, en el navegador web, y mejorar la experiencia del usuario. Generalmente se utiliza para mostrar cuadros de dialogo al usuario o para validación de entradas.
El código Javascript se embebe dentro del código HTML utilizando la etiqueta <script>. El navegador interpreta y ejecuta el código escrito dentro de la etiqueta.
Javascript es interpretado por el navegador a medida que aparece embebido dentro del código HTML. Sin embargo Javascript también permite el uso y creación de funciones y objetos, mediante lo cual es posible escribir código estructurado, ordenado y reutilizable. Los elementos HTML son capaces de invocar a estas funciones Javascript cuando se vean sometidos a cierto comportamiento.
1.4.5. CSS
Hojas de estilo en cascada viene del inglés Cascading Style Sheets, del que toma sus siglas. CSS es un lenguaje usado para definir la presentación de un documento estructurado escrito en HTML o XML (y por extensión en XHTML). El W3C (World Wide Web Consortium) es el encargado de formular la especificación de las hojas de estilo que servirán de estándar para los agentes de usuario o navegadores.
CSS permite definir estilos para tamaño, fuentes, color, espaciado entre textos y recuadros, posición de imágenes y contenedores, márgenes, etc.
38
El objetivo de las hojas de estilo es separar la estructura de un documento de su presentación. Permite definir estilos a etiquetas en general o crear clases que se pueden aplicar cuando sea necesario. De esta manera se reduce la cantidad de código HTML pues no es necesario escribir etiquetas o definir los atributos de estas para dar formato, color, etc. al documento, pues de eso se encarga la hoja de estilo. Como se ha dicho, CSS permite definir estilos en forma de clases de manera que el código CSS puede ser reutilizable, simplificando en gran manera la tarea de dar formato y forma a los documentos. 20
1.4.6. Adobe Photoshop
Es una aplicación para la creación, edición y retoque de imágenes. Es desarrollado por la compañía Adobe Systems. Se lanzó originalmente para computadoras Apple, pero luego saltó a la plataforma Windows. Este programa se ha hecho muy popular, incluso fuera del ámbito informático, llegándose incluso a usar la palabra "Photoshop" para hacer referencia a una foto que ha sido retocada digitalmente. Los formatos propios de Photoshop son PSD y PDD, que guardan capas, canales, guías y en cualquier modo de color.
Ventajas
Gran cantidad de herramientas.
Interface muy personalizable.
Edición de imágenes casi sin límites.
Desventajas
Costo elevado
20 CSS, http://www.w3.org/TR/CSS/
39
1.4.7. Adobe Flash
Es el software de creación más avanzado para crear animación para el Web tanto si crea logotipos animados, controles de navegación de sitios Web, animaciones de gran formato o sitios Web completos de Flash.
Ventajas
Se basa en imágenes vectoriales lo que permite que al calibrar sus tamaños éstas no pierdan calidad.
Está respaldado por el 95% de los navegadores y funciona independientemente del sistema operativo.
Flash logra presentaciones semiprofesionales o profesionales de muy buena calidad.
Permite que se puedan ejecutar libretos de acciones, colectar datos y hacer las mismas cosas que los scripts normales pueden hacer.
Podemos lograr presentaciones excelentes, de altísima calidad, que llamen mucho la atención a nuestros visitantes.
Desventajas
Para visualizar una página creada con Flash se requiere descargar un plugin especial si no lo teníamos instalado previamente puede generar problemas con algunos navegadores.
Posee limitaciones de ancho de banda y velocidad, porque en general, las páginas en flash suelen ser muy pesadas para cargar.
Tiene un antiguo historial de problemas de seguridad no resueltos.
1.4.8. El Servidor Web
El servidor Web es un programa que corre sobre el servidor que escucha las peticiones HTTP que le llegan y las satisface. Dependiendo del tipo de la petición, el servidor Web buscará una página Web o bien ejecutará un programa en el servidor.
40
De cualquier modo, siempre devolverá algún tipo de resultado HTML al cliente o navegador que realizó la petición.
El servidor Web va a ser fundamental en el desarrollo de las aplicaciones y las aplicaciones en el lado del cliente: el cliente Web es el encargado de ejecutarlas en la máquina del usuario.
1.4.9. SQL Server 2005
SQL Server 2005 es más que un sistema de administración de base de datos. Incluye componentes múltiples y servicios los cuales la hacen una plataforma comprensiva para programas de la empresa.