Tecnologías para el desarrollo de aplicaciones web. Las fases de un desarrollo web, así como los lenguajes de programación usados, son muy extensos y variados, y por ello necesitamos herramientas específicas para cada una de ellas. Conoceremos a continuación las principales herramientas existentes para poder desarrollar fácilmente un proyecto web. En el desarrollo web tenemos unas herramientas para el diseño, otras para la maquetación, otras para la programación, y para la depuración. Todas las herramientas que usemos son muy importantes, desde el Sistema Operativo hasta el comando más insignificante, y por ello debemos elegir la más adecuada a nuestras necesidades y capacidades. Para desarrollar una web, lo primero que necesitamos es un Sistema Operativo, como es lógico, y su elección no es tan trivial. Hay que tener en cuenta las aplicaciones de las que dispone el Sistema Operativo y sus costes. Por ejemplo, tenemos Microsoft Windows, cuyas aplicaciones son muy caras, como Photoshop, Dreamweaver, Fireworks, ASP .NET… Y por otro lado tenemos GNU/Linux, con GIMP, Inkscape, Amaya, Aptana, PHP (aunque todos ellos también están disponibles en Windows). Otra característica a tener en cuenta es las facilidades que el Sistema Operativo aporta al desarrollador, y en este sentido GNU/Linux se lleva de calle a Windows. Y esto es porque Windows no fue diseñado para los desarrolladores, sino para personas que no tienen muchos conocimientos sobre informática. Y por el contrario GNU/Linux fue creado por desarrolladores, y para desarrolladores; y por lo tanto en GNU/Linux podemos encontrar infinidad de herramientas que nos harán la vida mucho más fácil, que además son libres.
Fases de desarrollo de una web Para elegir las herramientas a utilizar, antes debemos identificar las fases del proceso que forman el ciclo de vida de un desarrollo we b.
Diseño: El diseño consiste en crear esbozos de la web final mediante una herramienta gráfica, como Photoshop, GIMP o Inkscape.
1
Maquetación HTML/CSS: La maquetación consiste en convertir los esbozos creados en la fase anterior en plantillas HTML, su respectiva hoja de estilos, y las imágenes usadas. Es posible saltarse la fase anterior para comenzar directamente con esta fase, dependiendo de si dominamos herramientas como Photoshop o no.
Programación cliente: La programación cliente consiste básicamente en Javascript. Una web puede no tener necesidad de hacer programación cliente, como puede ser una pequeña web corporativa con poca información estática, o puede que requiera enormes esfuerzos en esta fase, como ocurre con los proyectos Web 2.0.
Programación servidor: En esta fase, que se desarrolla junto con la anterior, crearemos la aplicación web en un lenguaje de servidor, como puede ser PHP, ASP .NET, Python, Perl, etc.
Depuración: Esta fase enlaza la anterior con la siguiente, y es donde haremos las pruebas unitarias, aserciones, trazas, etc.
Pruebas en local: En nuestro servidor local haremos todas las pruebas posibles.
Subir ficheros al hosting: Una vez nuestra web esté completada y bien testeada en nuestro servidor local (desarrollo), la subiremos al servidor del hosting elegido (producción). Dependiendo del hosting, podremos usar FTP, SFTP (SSH), WebDAV, o incluso Subversión.
Pruebas en hosting: Realizaremos las últimas pruebas en el servidor del hosting para comprobar que el cambio de servidor no ha afectado a nada. Para evitar problemas, nuestro servidor local debe tener exactamente la misma configuración que el servidor del hosting.
Herramientas: desarrollo en PHP A continuación se enumeran las herramientas básicas para el desarrollo de una web en PHP, en sus diferentes fases de diseño e implementación.
2
Fases: diseño y maquetación • • • • •
Adobe PhotoShop GIMP: Inkscape Adobe Fireworks Dreamweaver, Aptana, Amaya:
Fase: maquetación Fases: maquetación, programación cliente Fase: programación servidor Con él crearemos fácilmente la aplicación web en PHP. Aunque podremos usar igualmente cualquier editor. Una muy buena alternativa es Eclipse con el plugin PHP. Otra aplicación muy útil que está muy ligada a Zend Studio es Zend Platform, un módulo para Apache que permite depurar una web directamente en el navegador (Internet Explorer o Firefox), además de otras funciones más complejas, como alertas configurables para que nos envíe un email por cada error ocurrido en la web, o cuando un script sobrepase un tiempo determinado de ejecución, por ejemplo.
Fase: prueba local • •
Apache Firefox / Firebug / Web Developer Extension
Fases: pruebas en local, depuración Con Firebug podremos depurar Javascript, editar HTML y CSS en la misma página para ver los cambios en tiempo real, consultar los tiempos de carga de la página en conjunto, de las imágenes, javascripts, hojas de estilo, etc., así como sus tamaños, etc. Y Web Developer nos ofrece herramientas muy útiles como ver las cookies de la web, ocultar imágenes, cambiar el tamaño del navegador a resoluciones estándar, etc.
Subir ficheros al servidor del hosting Una vez hayamos concluido todas las fases anteriores, y nuestro proyecto esté listo, deberemos subirlo al servidor del hosting. La herramienta a utilizar dependerá de las opciones que nos ofrezca el hosting, que desgraciadamente en la mayoría de los casos es solamente el antiguo FTP (FileZilla). En Dreamweaver y Zend Studio tenemos un cliente FTP y SFTP (SSH), y la tarea consistirá simplemente en configurar el FTP y copiar y pegar los directorios que queramos subir.
http://www.estructurayprogramacion.com/materias/programacion-web/tecnologias-para-eldesarrollo-de-aplicaciones-web/ http://www.todofp.es/todofp/formacion/que-y-como-estudiar/ofertaformativa/familias/informatica-comunicaciones/desarrollo-aplicaciones-web.html http://elbauldelprogramador.com/articulos/los-10-mejores-frameworks-gratis-de-aplicacionesweb/http://www.youtube.com/watch?v=gDwlX6sST98http://www.logindesarrollos.com/es/Servic
3
ios-aplicaciones-web-21http://www.lotura.com/es/que_hacemos/desarrollo-y-aplicacionesweb/3/http://www.youtube.com/watch?v=JNbTvInths0 http://www.youtube.com/watch?v=xuVoAZBc7Vc http://www.estructurayprogramacion.com/descarga-de-programas-en-c/ http://www.estructurayprogramacion.com/tutoriales/ http://www.estructurayprogramacion.com/materias-comunes/ http://gplsi.dlsi.ua.es/~slujan/materiales/pi-cliente2-muestra.pdf http://www.youtube.com/watch?feature=player_embedded&v=eacAOhE-3gI#t=14 http://www.google.cl/#fp=7364202d81f080d1&q=descargar+videos+de+youtube
Los 10 Mejores Frameworks gratuitos para Aplicaciones Web 3 julio, 2013 Luzcila Artículos, internet, programacion | 14
Un framework de aplicaciones web es un tipo de framework que permite el desarrollo de sitios web dinámicos, web services (servicios web) y aplicaciones web. El propósito de este tipo de framework es permitir a los desarrolladores construir aplicaciones web y centrarse en los aspectos interesantes, aliviando la típica tarea repetitiva asociada con patrones comunes de desarrollo web. La mayoría de los frameworks de aplicaciones web proporcionan los tipos de funcionalidad básica común, tales como sistemas de templates (plantillas), manejo de sesiones de usuario, interfaces comunes con el d isco o el almacenamiento en base de datos de contenido cacheado , y persistencia de datos. Normalmente, los frameworks de aplicación web además promueven la reutilización y conectividad de los componentes, así como la reutilización de código, y la implementación de bibliotecas para el acceso a base de datos. Los mejores frameworks son especialmente buenos para organizar proyectos de gran magnitud, y a su vez tratando de mantenerse fuera del camino, sin imponerse por sobre el proyecto. El más conocido patrón de diseño de aplicaciones web es la arquitectura Model-ViewController (MVC: Modelo-Vista-Controlador). Un Modelo es un objeto que representa datos o incluso una actividad en forma de tabla en base de datos. Una Vista es algún tipo de visualización del estado del modelo, y un Controlador ofrece funciones (herramientas) para cambiar el estado del modelo.
4
Hay una amplia gama de frameworks para aplicaciones web disponibles para Linux que son distribuidos bajo licencia Open Source. Para proporcionar una visión en el software que actualmente está disponible, hemos compilado una lista de 10 frameworks de alta calidad. Los que hemos seleccionado cubren un número de lenguajes de programación incluyendo Ruby, PHP y Python. Ahora, exploremos los 10 frameworks en cuestión. Para cad a título se ha incluido un hipervínculo hacia el propio portal, una descripción completa con un análisis en profundidad de sus características, junto con enlaces a recursos y revisiones relevantes. http://catchvideo.net/ http://windows.microsoft.com/es-CL/windows7/help/getting-started#T1=tab01 http://manualwindows7.wordpress.com/2010/11/11/manual-windows-7-para-colocar-minombre-como-protector-de-pantalla/
Web Application Frameworks
Ruby on Rails
Framework MVC basado en Ruby, orientado al desarrollo de aplicaciones web
CodeIgniter
Poderoso framework PHP liviano y rápido
Django
Framework Python que promueve el desarrollo rápido y el diseño limpio
CakePHP
Framework MVC para PHP de desarrollo rápido
Zend Framework
Framework para PHP 5, simple, claro y open-source
Yii
Framework PHP de alto rendimiento basado en componentes
Pylons
Framework web para Python que e nfatiza la flexibilidad y el desarrollo rápido
Catalyst
Framework para aplicaciones web MVC elegante
Symfony
Framework full-stack
TurboGears
Próxima generación construido sobre Pylons
5
6