Guía para el Desarrollo de Aplicaciones Web

En pocas palabras, las Aplicaciones Web son sitios web dinámicos combinados con programación del lado del servidor que proporcionan funcionalidades tales como interactuar con los usuarios, conectarse a bases de datos back-end y generar resultados para los navegadores.

Ejemplos de Aplicaciones Web son Banca en Línea, Redes Sociales, Reservas en Línea, Comercio Electrónico / Aplicaciones de Carrito de Compras, Juegos Interactivos, Entrenamiento en Línea, Encuestas en Línea, Blogs, Foros en Línea, Sistemas de Administración de Contenido, etc.

Guías, recursos y mejores prácticas

Tecnologías

Hay dos categorías principales de codificación, scripting y programación para la creación de aplicaciones Web:

I. Client Side Scripting / Codificación – Client Side Scripting es el tipo de código que es ejecutado o interpretado por los navegadores.

Los Scripts del Lado del Cliente son generalmente visibles para cualquier visitante a un sitio (desde el menú de vista haga clic en “View Source” para ver el código fuente).

A continuación se muestran algunas tecnologías comunes de secuencias de comandos del lado del cliente:

  • HTML (Lenguaje de marcado de hipertexto)
  • CSS (Hojas de Estilo en Cascada)
  • Javascript
  • Ajax (JavaScript asíncrono y XML)
  • jQuery (JavaScript Framework Library – comúnmente usada en el desarrollo de Ajax)
  • MooTools (JavaScript Framework Library – de uso común en el desarrollo de Ajax)
  • Dojo Toolkit (Librería JavaScript Framework – comúnmente usada en el desarrollo de Ajax)

II. Scripting / Codificación del Lado del Servidor – El Scripting del Lado del Servidor es el tipo de código que es ejecutado o interpretado por el servidor web.

La secuencia de comandos del lado del servidor no es visible ni accesible para ningún visitante o público en general.

A continuación se muestran las tecnologías comunes de secuencias de comandos del lado del servidor:

  • PHP (muy común en el lenguaje de scripting del lado del servidor – basado en Linux / Unix Open Source – redistribución libre, normalmente se combina con la base de datos MySQL)
  • Zend Framework (Framework de Aplicación Web Orientado a Objetos de PHP)
  • ASP (Microsoft Web Server (IIS) Lenguaje de scripting)
  • ASP.NET (Microsoft’s Web Application Framework – sucesor de ASP)
  • ColdFusion (Framework de Aplicaciones Web de Adobe)
  • Ruby on Rails (Framework de aplicaciones Web de programación Ruby – redistribución libre)
  • Perl (lenguaje de programación de alto nivel de propósito general y Lenguaje de scripting del lado del servidor – redistribución libre – perdió su popularidad a PHP)
  • Python (lenguaje de programación de alto nivel de propósito general y lenguaje de scripting del lado del servidor – redistribución libre)

Bibliotecas de programas

Las bibliotecas de programas son una colección de funciones, clases o subrutinas de uso común que proporcionan facilidad de desarrollo y mantenimiento al permitir a los desarrolladores añadir o editar fácilmente funcionalidades a una aplicación de tipo frameworked o modular.

Estructuras de Aplicación Web

Web Application Frameworks son conjuntos de librerías de programas, componentes y herramientas organizados en un sistema de arquitectura que permite a los desarrolladores construir y mantener complejos proyectos de aplicaciones web utilizando un enfoque rápido y eficiente.

Web Application Frameworks están diseñados para agilizar la programación y promover la reutilización de código mediante el establecimiento de la organización y estructura de carpetas, documentación, directrices y bibliotecas (códigos reutilizables para funciones y clases comunes).

Web Application Frameworks – Beneficios y Ventajas

  • Las acciones y la lógica del programa están separadas de los archivos HTML, CSS y de diseño. Esto ayuda a los diseñadores (sin experiencia en programación) a poder editar la interfaz y realizar cambios de diseño sin la ayuda de un programador.
  • Las compilaciones se basan en el módulo, las bibliotecas y las herramientas, lo que permite a los programadores compartir fácilmente bibliotecas e implementar funcionalidades y características complejas de forma rápida y eficiente.
  • La estructura ayuda a producir las mejores prácticas de codificación con lógica consistente y estándares de codificación, y proporciona a otros desarrolladores la capacidad de familiarizarse con el código en poco tiempo.

Directrices de codificación, estándares y convención

Las directrices de codificación son conjuntos de reglas y estándares utilizados en la programación de un proyecto de aplicación web.

Estas reglas y estándares se aplican a la lógica de codificación, estructura y nombres de carpetas, nombres de archivos, organización de archivos, formateo y sangrado, sentencias, clases y funciones, y convenciones de nombres. Estas reglas también obligan a escribir comentarios claros y a proporcionar documentación.

Ventajas importantes del uso de las Pautas de Codificación

  • Crea el mejor entorno para que varios programadores trabajen en el mismo proyecto
  • Proporciona facilidad de mantenimiento y gestión de versiones
  • Ofrece una mejor legibilidad y comprensión del código fuente
  • Asegura que otros desarrolladores puedan entender y familiarizarse con el código en poco tiempo.

Modelo de Ciclo de Vida de Aplicaciones Web

El Ciclo de Vida de Aplicaciones Web es el proceso de desarrollo de una aplicación web y la participación de los múltiples equipos que participan en el proceso de desarrollo. Cada organización puede establecer su propio estilo único de funcionamiento.

Algunas compañías siguen un cierto modelo estándar como SDLC (System Development Life Cycle) o Agile Software Development Model.

  • SDLC es el proceso tradicional de desarrollo de software o aplicaciones web que incluye la investigación para identificar y definir los requisitos de la aplicación, el análisis de la información, el diseño arquitectónico y el plan de especificaciones, la participación del equipo, la programación, las pruebas y la corrección de errores, las pruebas del sistema, la implementación y el mantenimiento.
  • El Desarrollo Ágil de Software / Aplicaciones Web es el proceso iterativo de desarrollo y las prácticas del proceso de desarrollo que se centran en la colaboración de las personas involucradas y proporcionan un mejor procedimiento para permitir las revisiones y la evolución de los requisitos de la aplicación web. La metodología ágil incluye investigación, análisis, gestión de proyectos, diseño, programación, implementación, pruebas frecuentes, adaptación y mantenimiento.

Proceso de Desarrollo de Aplicaciones Web

El Proceso de Desarrollo de Aplicaciones Web organiza un procedimiento y enfoque práctico en el desarrollo de aplicaciones.

Para información detallada: Proceso de Desarrollo de Aplicaciones Web

La siguiente lista de procedimientos y documentos sugeridos proporciona un buen esquema para el Ciclo de Vida y Proceso de una Aplicación Web:

  • Documento de Hoja de Ruta: Definición de la Aplicación Web, Propósito, Objetivos y Dirección
  • Investigación y definición del alcance de la audiencia y de los documentos de seguridad
  • Creación de especificaciones funcionales o de un documento de resumen de característica
  • Documento sobre colaboración en equipo y gestión de proyectos
  • Selección de Tecnología, Especificaciones Técnicas, Diagrama Ilustrativo de la Arquitectura y Estructura de la Aplicación Web, Metodología de Desarrollo, Control de Versiones, Copias de Seguridad, Actualizaciones, Documento de Planeación de Expansión y Crecimiento, Selección de Hardware / Software del Servidor
  • Análisis y selección de proveedores de terceros (cuenta de comerciante y pasarela de pago, certificado SSL, servidor gestionado/proveedor de servidor ubicado, centros de cumplimiento, software de análisis de visitantes de sitios web, sistemas de pago de terceros, etc.)
  • Guía Visual de Aplicación, Diseño de Diseño, Diseño de Interfaz, Wire Framing
  • Diseño de Estructuras de Bases de Datos y Desarrollo de Aplicaciones Web
  • Probando: Aseguramiento de la calidad, Compatibilidad de varios navegadores, Seguridad, Rendimiento – Pruebas de carga y esfuerzo, Usabilidad
    Mantenimiento

Pruebas de aplicaciones web

Las pruebas son una parte importante del proceso de desarrollo de aplicaciones Web. En ocasiones, las pruebas consumirían más mano de obra y tiempo que el propio desarrollo.

A continuación se presentan algunas de las pruebas más comunes necesarias para cualquier proceso de desarrollo de aplicaciones web:

  • Aseguramiento de la calidad y pruebas de errores
  • Compatibilidad con varios navegadores
  • Seguridad de las aplicaciones
  • Rendimiento – Pruebas de carga y esfuerzo
  • Usabilidad

Tendencias y popularidad

Las demandas de las empresas para construir aplicaciones Web están creciendo sustancialmente.

  • Si se planifica y construye correctamente, las aplicaciones web pueden:
  • Llegar a millones de consumidores y empresas y prestarles servicios
  • Generar ingresos sustanciales de múltiples capas y categorías de consumidores, empresas y anunciantes.
  • Construya fácilmente la buena voluntad y los activos empresariales en función del alcance, la popularidad, la tecnología y el crecimiento potencial de la audiencia.

A continuación se presentan buenas razones para que las empresas construyan aplicaciones web:

  • Las empresas quieren racionalizar sus departamentos y funciones internas, operaciones, ventas y gestión de proyectos, etc.
  • Las empresas quieren aprovechar la flexibilidad y versatilidad de una aplicación basada en web, pasando de la plataforma tradicional de aplicaciones de escritorio a la plataforma de aplicaciones web.
  • Las compañías quieren ganar más clientes o dar un mejor servicio a sus clientes actuales ofreciendo servicios y soluciones convenientes en línea.
  • Las empresas quieren construir nuevas aplicaciones web para ofrecer servicios o soluciones innovadoras a usuarios y empresas en línea.

Impacto en el negocio

Las aplicaciones web de hoy en día tienen un impacto sustancial en la forma en que las empresas y los consumidores hacen negocios, tales como:

  • Hay oportunidades para ganar ventaja y pasar por alto a las compañías tradicionales de ladrillos y morteros cuando este tipo de oportunidad era raramente posible o existía antes de la explosión de la web.
  • La nueva web creó un entorno empresarial global que desafía la forma en que las empresas tradicionales hacen negocios.
  • Las empresas necesitan reinventar y evolucionar para poder competir en las tendencias actuales, el negocio online y el mercado global.
  • Las empresas y los consumidores tienen más opciones y recursos para investigar y comparar fácilmente y buscar las mejores ofertas.
  • La información y los recursos son inmensos y están disponibles para todos los que los buscan.
  • Las empresas o compañías que solían beneficiarse de la consultoría o el asesoramiento, que ahora pueden adquirirse fácilmente en línea, tienen dificultades y necesitarán tomar una nueva dirección comercial si quieren seguir siendo solventes.

Fuente: http://www.comentum.com/guide-to-web-application-development.html

Temas
No Comments

Post A Comment

*