CONCEPTOS - Marielmiralles/EXAMEN-3-2-2016 GitHub Wiki

FRAMEWORK

es un esquema (un esqueleto, un patrón) para el desarrollo y/o la implementación de una aplicación.

¿Qué ventajas tiene utilizar un ‘framework’?
Las que se derivan de utilizar un estándar; entre otras:

El programador no necesita plantearse una estructura global de la aplicación, sino que el framework le proporciona un esqueleto que hay que “rellenar”.
Facilita la colaboración. Cualquiera que haya tenido que “pelearse” con el código fuente de otro programador (¡o incluso con el propio, pasado algún tiempo!) sabrá lo difícil que es entenderlo y modificarlo; por tanto, todo lo que sea definir y estandarizar va a ahorrar tiempo y trabajo a los desarrollos colaborativos.
Es más fácil encontrar herramientas (utilidades, librerías) adaptadas al framework concreto para facilitar el desarrollo.

La utilización de un framework en el desarrollo de una aplicación implica un cierto coste inicial de aprendizaje, aunque a largo plazo es probable que facilite tanto el desarrollo como el mantenimiento.

En el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos concretos de software, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.

haciendo nuestro trabajo más eficiente y recursivo.

La arquitectura más utilizada en casi todos los frameworks es conocida como MVC (Controlador, Modelo, Vista), esta arquitectura divide el desarrollo en tres grandes partes:

Modelo: Son los datos de la aplicación y su reglamentación.
Vista: Es la presentación de los datos.
Controlador: Procesa las peticiones de los usuarios y controla el flujo de ejecución del sistema.

¿Cuantos frameworks existen?
Existen muchos Framework por eso más que difícil es casi imposible cuantificarlos y su uso va de acuerdo a las necesidades de cada proyecto y al gusto del freelance y/o desarrollador; algunos de ellos pueden ser:

.NET: El Framework de Microsoft.
Ruby on Rails (RoR): es el Framework de aplicaciones web de código abierto de un lenguaje de programación llamado Ruby. Genesis: Framework para WordPress
Zengrid: Framework para Joomla
PhoneGap: Permite crear aplicaciones móviles multiplataforma a partir de tecnologías web como HTML5, CSS3 y Javascript. JQuery Mobile: basado en HTML5 optimizado para todas las plataformas de dispositivos móviles.
Titaniun: Framework Open Source con licencia Apache, genera aplicaciones nativas para iPhone, Android y Blackberry.
La lista se haría interminable por tal motivo opinar sobre cuál es el mejor framework para desarrollar es verdaderamente inútil ya que los encuentras incluso tanto para desarrolladores expertos como para principiantes.

Ventajas más comunes
Como programador freelancer destaco principalmente la facilidad en el desarrollo como la mayor ventaja de los framework, otras ventajas relevantes de su uso son:

Compatibilidad de Lenguajes
Transparencia de proyectos de plataforma a plataforma
Portabilidad de Arquitectura
Integración con múltiples dispositivos.
Desarrollo de aplicaciones de manera más sencilla, ya que cuenta con los componentes necesarios incluidos.
Reutilización de Código
Maneja Política de diseño uniforme y organizado.
Cuando eres freelance entiendes la importancia de estas ventajas en su utilización para ser más recursivos.

Elegir un frameworks va de acuerdo a la necesidad del proyecto a desarrollar así como también la decisión de no usarlos, consideración que valdría la pena reevaluar si tenemos en cuenta que el desarrollo con framework es menos propenso a sufrir errores. Lo que sí puedo decirles es que hoy día la utilización de frameworks es casi del 100% porque permite a los desarrolladores freelance y/o autónomos ser más productivos, es decir más proyectos, mas ingresos y menos tiempo de trabajo.

MÁS INFO