BUENAS PRÁCTICAS: FRAMEWORK
Framework
En general, un
framework o marco de trabajo es una estructura real o conceptual destinada a
servir como soporte o guía para la construcción de algo que expande la
estructura en algo útil. En los sistemas informáticos, suele ser una estructura
estratificada que indica qué tipo de programas pueden o deben construirse y
cómo se interrelacionarán. Algunos marcos de sistemas informáticos también
incluyen programas reales, especifican interfaces de programación u ofrecen herramientas
de programación para usar los framework. Un framework puede ser para un
conjunto de funciones dentro de un sistema y cómo se interrelacionan, las capas
de un sistema operativo, las capas de un subsistema de aplicación, cómo se debe
estandarizar la comunicación en algún nivel de una red, etc. Un framework
generalmente es más completo que un protocolo y más prescriptivo que una
estructura.
Los frameworks
tienen como objetivo principal ofrecer una funcionalidad definida, autocontenida,
siendo construidos usando patrones de diseño, y su característica principal es
su alta cohesión y bajo acoplamiento. Para acceder a esa funcionalidad, se
construyen piezas, objetos, llamados objetos calientes, que vinculan las
necesidades del sistema con la funcionalidad que este presta. Esta
funcionalidad, está constituida por objetos llamados fríos, que sufren poco o
ningún cambio en la vida del framework, permitiendo la portabilidad entre
distintos sistemas. Algunos entornos de trabajo conocidos son Spring Framework
o Hibernate, donde lo esencial para ser denominados entornos de trabajo es
estar constituidos por objetos casi estáticos con funcionalidad definida a
nivel grupo de objetos y no como parte constitutiva de estos, por ejemplo en
sus métodos, en cuyo caso se habla de una API o librería.
Algunas características notables
que se pueden observar:
- La inversión de control: en un framework, a diferencia de las bibliotecas, el flujo de control no es dictado por el programa que llama, sino por el mismo.
- La funcionalidad o comportamiento predeterminado: un marco tiene un comportamiento predeterminado. Este comportamiento por defecto debe ser un comportamiento útil, definido e identificable.
- Su escalabilidad: un framework puede ser ampliado para proporcionar una funcionalidad específica. El framework, en general, no se supone que deba ser modificado, excepto en cuanto a extensibilidad. Los usuarios pueden ampliar sus características, pero no deben ni necesitan modificar su código.
Arquitectura de un framework
Dentro de este aspecto, podemos
basarnos en el modelo-vista-controlador o MVC (Controlador => Modelo =>
Vista), ya que debemos fragmentar nuestra programación. Tenemos que contemplar
estos aspectos básicos en cuanto a la implementación de nuestro sistema:
- Modelo: Este miembro del controlador maneja las operaciones lógicas, y de manejo de información (previamente enviada por su ancestro), para resultar de una forma explicable y sin titubeos. Cada miembro debe ser meticulosamente llamado, con su correcto nombre y en principio, con su verdadera naturaleza: el manejo de información, su complementación directa.
- Vista: Al final, a este miembro de la familia le corresponde dibujar, o expresar la última forma de los datos: la interfaz gráfica que interactúa con el usuario final del programa (GUI). Después de todo, a este miembro le toca evidenciar la información obtenida hasta hacerla llegar al controlador. Solo (e inicialmente), nos espera demostrar la información.
- Controlador: Con este apartado podemos controlar el acceso (incluso todo) a nuestra aplicación, y esto puede incluir: archivos, scripts, o programas; cualquier tipo de información que permita la interfaz. Así, podremos diversificar nuestro contenido de forma dinámica, y estática (a la vez); pues, solo debemos controlar ciertos aspectos (como se ha mencionado antes).
Estructura de un framework
Dentro del
controlador, modelo o vista, se pueden manejar datos, y depende de cada uno
cómo interpretar y manejar esos datos. Se sabe que el único dato de una
dirección estática web es: conseguir un archivo físico en el disco duro o de
Internet, etc., e interpretado o no, el servidor responde.
El modelo, al
igual que el controlador y la vista, maneja todos los datos que se relacionen
consigo (solo es el proceso medio de la separación por capas que ofrece la
arquitectura MVC). Y solo la vista, puede demostrar dicha información. Con lo
cual ya se ha generado la jerarquía del programa: controlador, modelo y vista.
Lógica al elaborar un framework
Al parecer,
debemos inyectar ciertos objetos dentro de sus parientes en esta aplicación,
solo así compartirán herencia y coherencia en su aplicación. Rápidamente, para
una aplicación web sencilla debemos establecer estos objetos:
Una base (MVC)
- Controlador: este debe ser capaz de manejar rutas, archivos, clases, métodos y funciones.
- Modelo: es como un script habitual en el servidor, solo que agrupado bajo un modelo reutilizable.
- Vista: como incluyendo cualquier archivo en nuestra ejecución, muy simple.
Un sistema
- Ruteador: con él podemos dividir nuestras peticiones sin tantas condicionales.
- Cargador.
Los ejemplos
de framework que actualmente utilizan u ofrecen los organismos o empresas de
estándares incluyen:
- Marco de descripción de recursos (Resource Description Framework): un conjunto de reglas del World Wide Web Consortium sobre cómo describir cualquier recurso de Internet, como un sitio web y su contenido.
- Marco comercial de Internet I(nternet Business Framework): un grupo de programas que forman la base tecnológica para el producto mySAP de SAP, la empresa alemana que comercializa una línea de productos de gestión empresarial de recursos
- Marco de políticas del remitente (Sender Policy Framework): un enfoque definido y programación para hacer que el correo electrónico sea más seguro
- Zachman framework: una estructura lógica destinada a proporcionar una representación completa de una empresa de tecnología de la información que es independiente de las herramientas y métodos utilizados en cualquier negocio de TI en particular
Ventajas de utilizar un framework
Agilización del proceso de desarrollo
Un framework te permite
desarrollar más rápido mediante el uso de código base y tareas comunes, de modo
que no tienes que empezar desde cero. Si estás trabajando con un equipo, todos
tendrán el mismo código, así que la colaboración en equipo también se beneficia
de un framework.
Facilita
la funcionalidad en diversos navegadores
Un framework ya viene programado para que el resultado (es
decir, tu aplicación o sitio web) final luzca similar en todos los navegadores,
de modo que puedes concentrarte en personalizar y crear contenido en vez de
preocuparte en modificar la apariencia base.
Te permite trabajar con layout simétrica
Un framework con sistemas de
cuadrículas asigna columnas con anchos predefinidos, de modo que puedes
concentrarte en la creación de contenido en vez de la alineación de bloques de
texto.
Refuerza buenos hábitos de diseño
Un framework provee una serie de selectores que puedes
utilizar para tus sitios web y aplicaciones, de este modo el diseño se hace
congruente ya que no debes adivinar ni acordarte que hiciste en proyectos
pasados.
Desventajas de utilizar un framework
Limita tu libertad
En general,
sólo se utiliza un framework para todos tus proyectos, ya que aprender uno tras
otro realmente no es muy práctico debido a que tiene una serie de retículas,
selectores y otro tipo de código limita tu diseño en cuanto al tamaño de los
elementos y el estilo.
Añade código extra
Es poco
probable que emplees todas las características de un framework por lo que
definitivamente tus aplicaciones tendrán código que no necesitas. Esto podría
ser un problema si deseas que tu aplicación sea súper ligera y cada byte
cuenta.
Te fuerza a usar la semántica propia del framework
Al usar un
framework tienes que acostumbrarte a trabajar con la semántica de ésta. En
general, esto no suele ser un problema para muchos desarrolladores que trabajan
solos. Sin embargo, si estás colaborando con varias personas deberás asegurarte
que todos tengan el mismo nivel de conocimiento sobre el framework, lo que es
un escenario ideal, por supuesto. Así que debes esperar que tus compañeros se
familiaricen con el framework primero.
Podría ser una pérdida de tiempo
Si ya estás acostumbrado a
trabajar y ordenar tu código de cierta manera y debido a una petición de
cliente o a un proyecto en equipo te ves obligado a trabajar con cierto framework,
obviamente primero debes aprender cómo funciona. Esto podría ser tiempo valioso
que podrías haber invertido en comenzar a codificar sin el uso de un framework.
Ejemplos de framework
Esto cumple con algunas necesidades de simpleza informática.
Ahora solo nos basta controlar estos procesos, ampliarlos y complementarles con
algunos scripts más.
Aplicar
Si nuestro archivo se llama Foo (clase), y nuestro otro
archivo, bar (método) tenemos que crear el siguiente archivo dentro de la
carpeta app/.
Extender
Podremos extender nuestro sistema con clases, o funciones
propias o de algún 'plugin' o Biblioteca ajena. Solo que queremos extenderles
sobre nuestro sistema actual, nuestro objeto básico.
Entonces, debemos usar la siguiente sentencia dentro de
nuestro programa Foo:
$this->load($this,
'test') o _load($this, 'test')
Ya con esto, podremos utilizar las llamadas a
$this->test->does() dentro del objeto o clase Foo.
Ver
Para mostrar los resultados de todo nuestro computo
necesitamos de vistas, o archivos de inclusión: plantillas, bloques o scripts. Suponiendo
que ya ha sido todo, debemos de visualizarlo:
Cuando se habla de framework se hace difícil no pensar en librerías, por lo que es importante conocer cual es el objetivo de ambas, puesto que siempre surgen dudas como: ¿Cuando usar framework y cuando usar librerías? ¿Realmente una ofrece mas ventajas que otra? ¿Es indiferente que use cualquiera de estas tecnologías?. Para los programadores es muy importante tener claro que tecnología usar framework o librerías a la hora de desarrollar software, puesto que ambos tienen practicante el mismo propósito y además los frameworks usan librerías, queda a criterio del desarrollador cual utilizar dependiendo de lo que se adapte mejor a sus necesidades. Las librerías es básicamente una porción de código abstracto que puede ser usada para casi cualquier necesidad, dado que esta incluye clases, funciones, entre otros. En cambio cuando se habla de framework esta se refiere a una completa estructura para trabajar en software, algo como una plantilla ya definida en donde se agrega el código. A manera de resumen cuando se utiliza una librería el código en desarrollo es quien llama a la librería, ahora bien con el framework es todo lo contrario ya que este es quien hace el llamado al código. Existen un sin numero de librerías y framewoks así que queda de parte del desarrollador y su experiencia elegir cual de estas tecnologías es la que mejor se adapta a lo que requiere su sistema.
ReplyDeleteComo se ha dicho en el post, hay que saber que los frameworks surgen y son diseñados con la intención de facilitar el desarrollo de software, permitiendo a los diseñadores y programadores pasar más tiempo identificando requerimientos de software que tratando con los tediosos detalles de bajo nivel de proveer un sistema funcional. Por ejemplo, un equipo que usa Apache Struts para desarrollar un sitio web de un banco, puede enfocarse en cómo los retiros de ahorros van a funcionar en lugar de preocuparse de cómo se controla la navegación entre las páginas en una forma libre de errores. Sin embargo, hay quejas comunes acerca de que el uso de frameworks añade código innecesario y que la cantidad de frameworks competitivos y complementarios significa que el tiempo que se pasaba programando y diseñando ahora se gasta en aprender a usar frameworks. Ahora ¿Y si no quisiera usar un framework? un desarrollador puede crear toda una aplicación sin seguir ningún framework conocido, puede que sea tan pequeña que no lo considere necesario, que no conozca ninguno que se adapte a sus necesidades, o simplemente no desee dedicar tiempo a seleccionar y utilizar uno. Sin embargo, a medida que la aplicación crece, nosotoros como programadores competentes debemos procurarar seguir unas determinadas pautas que faciliten el trabajo de desarrollo y mantenimiento, asi teniendo una separación de presentación y lógica, una sintaxis coherente, etc. La evolución natural será hacia que, de algún modo, se construirá framework propio
ReplyDeleteTanto las tecnologías, lenguajes, librerías al igual que el frameworks son herramientas a usar para conseguir un fin que es hacer realidad el proyecto, producto o servicio con un componente informático, las herramientas no son un fin en si mismo, no son lo más importante, lo más importante es resolver la necesidad de alguien normalmente con restricciones de tiempo y coste, pero desde luego no son irrelevantes y no da igual usar cualquiera. Son las herramientas equivalentes de un fontanero, pintor, carpintero u otros profesionales que tienen cantidad de ellas para realizar multitud de tareas específicas de forma efectiva y rápida junto con su conocimiento y experiencia. En cualquier librería o framework que elijamos tengamos en un futuro la posibilidad de reemplazarlo sin estar encadenados a él y sin tener que reescribir el proyecto entero, esto forma parte de las más básicas buenas prácticas de desarrollo, precisamente las aplicaciones que se desarrollan en capas y los frameworks que separan modelo, de vista, de controlador tratan de minimizar ese impacto.
ReplyDeleteEste contenido es un tanto delicado. Continuamente que se habla de frameworks existen dos grandes grupos: los que alaban sus caridades (dando menor importancia a sus incovenientes) y los anti-frameworks, aquellas personas muy “clasicistas” a los que ninguno de los argumentos en defensa de los frameworks les sirve de excusa para arriesgarse o dar el salto al cambio
ReplyDeleteEl objetivo de los frameworks es hacer que nos centremos en el verdadero problema, y no preocuparnos por implementar funcionalidades que son de uso común en muchas aplicaciones, como podría ser el proceso de login de usuarios o establecer la conexión con la base de datos. Por tanto, cuando usamos frameworks, nuestra mente ha de centrarse en el verdadero centro del problema y hacer fluir todos los detalles “menores” ya que seguramente el framework nos dará una solución para ellos. Hay mucha gente que culpa a los frameworks de todo el código basura que puede llegar a implantar en nuestra aplicación. Este es un punto con el que no estoy de acuerdo. O al menos para los frameworks que he probado y/o utilizado a día de hoy.
En mi propia experiencia con diferentes frameworks, ninguno de ellos, absolutamente ninguno, me ha introducido ni una pizca de código basura. Por tanto, es un punto en el que discrepo, al menos hoy por hoy.
Me gustaría saber si alguno de ustedes le ha pasado?
Conociendo un poco la terminología de los denominados Frameworks sabemos que es una serie de herramientas que se manejan de manera sencilla, se puede entender que en el diseño y desarrollo web este nos ofrece con respecto al código que se estructuré de una mejor manera y así poder generar menos líneas en el mismo, a su vez nos permite gozar de una mejor organización, nos ayuda a minimizar tanto errores como costos en lo que a desarrollo se refiere, un aspecto el cual parece de suma importancia resaltar es que permite la reutilización del código, lo que sin duda optimiza bastante el recurso tiempo a la hora de trabajar. Tras las lecturas que he realizado acerca de este tema indican en algunas páginas que no es recomendable los Frameworks para aplicaciones de estilo sencillo. Me gustaría saber ¿Que piensan al respeto de esto y a que creen ustedes que se debe?
ReplyDeletePor otro lado existen distintos tipos de frameworks, como por ejemplo framework ajax, framework de aplicación web, framework de aplicación, entre otros ¿qué tipo de frameworks es más recomendable usar y porque?
Al hablar indudablemente de Framework se asocia con librerías pero son cosas distintas. Claro tomando en cuenta que la tecnologías, lenguajes, librerías, frameworks son herramientas a usar para conseguir un fin que es hacer realidad el proyecto, producto o servicio con un componente informático. Ahora bien un freeware no posee una definición ampliamente aceptada, pero es utilizada para programas que permiten la redistribución pero no la modificación, y que incluyen su código fuente y una librería es una colección de objetos y funciones que sirven para un propósito en particular. Podría entenderse un framework como una colección de patrones para ayudarte en la construcción de una web, app. Un ejemplo sencillo para visualizar su diferencia analógicamente es ver a la librería como un complemento y el framework como el esqueleto. Se puede mencionar de manera general que es lo que hace un framework, en primer lugar aportar productividad, define limitaciones y genera homogeneidad a la hora de trabajar dentro de una organización. Personalmente considero que el uso de frameworks es una práctica muy buena y que, efectivamente en unos inicios puede que no veas todos sus frutos, pero a medida que pasa el tiempo agradecerás más la decisión que tomaste de usarlo, es decir, invertir más tiempo en los inicios, para el aprendizaje del framework, pero a la larga sabes o esperas rentabilizarlo.
ReplyDeleteLa mayoría de los proyectos tienen partes comunes necesarias para el funcionamiento como, por ejemplo, acceso a base de datos, validación de formularios o seguridad. Un framework nos evita tener que programar estas partes, de esta manera nos resulta más fácil centrarnos en programar la aplicación.
ReplyDeleteOtra manera susceptible de modelar mediante el uso de herencia puede ser el desarrollo del frameworks, aunque este tiene sus defensores y detractores. Aun modelando relaciones basadas en herencia, no podemos abusar de ello.
El framework de Android es un claro ejemplo del abuso de relaciones de herencia. En mi opinión me gusta más dejar la libertad que da la composición a atar al cliente de tu framework a una relación de herencia.
Pero esto como he dicho, aun siendo un campo susceptible de modelarse con herencia en un primer momento, da pie a un largo debate, porque siguen estando presentes muchos de los inconvenientes ya estudiados.
Yo he probado algunas de frameworks y en mi opinión el Foundation es una de mejores. Tiene muchísimas cosas y esta muy flexible a la hora de hacer una web bien adaptada para los dispositivos móviles y tablets.
ReplyDeleteLa propia web tengo en bootstrap, y me costaba de hacer y aprender el Framework y Foundation me parece mas sencilla de aprender. Opinión propia.
Para los pequeños proyectos se puede utilizar getSkeleton. Esta muy simple y bien explicada. Pero a veces no funciona como debería cuando añades algún plugin de jQuery etc.
yo lo estoy usando para hacer mi aplicación web :*
Este tema es importante ya que puede resultar complicado elegir cuál es el framework en el que se va a especializar, ya que existe una gran variedad, y cada uno posee sus propias características. Sin embargo, al momento de iniciar un proyecto en el cual se quiere realizar un sistema, como es el cada de cada uno de nosotros, debemos tener en cuenta varios elementos al utilizar framework que van a determinar el desarrollo del mismo, como por ejemplo su estructura, y que por lo general toma parte del tiempo que puede ser enfocado en el avance del desarrollo de los requerimientos del sistema. Acá es donde entra en juego el uso de un Framework, ya que estos te proporcionan, como ya menciono Roberto, de una estructura base que te permite agilizar estos procesos, orientando el tiempo y esfuerzo en lógica de la aplicación. No obstante, a pesar de tener muchas ventajas no hay que olvidarse de algunas desventajas como es el tiempo de aprendizaje donde debemos estar familiarizarnos con él, con cómo se estructuran sus archivos, con la forma en la que se comunican los componentes, y más aun cuando estos frameworks son tan populares provocando constante actualizaciones para cumplir con las nuevas tecnologías y las nuevas políticas de seguridad. Entonces ¿Son útiles sí o no? Si, y mucho puesto que los frameworks poseen buenas prácticas de desarrollo con el uso de patrones que nos indican pautas sobre cómo solucionar un problema específico que ya ha ocurrido con anterioridad.
ReplyDeleteYa sabemos que los frameworks son bastante útiles, aún asi existen factores que hay que considerar a la hora de elegir uno, en primer lugar debe ir de la mano con PHP 5, en segundo lugar es muy importante que el framework elegido tenga una comunidad activa y participativa. De esta manera te va a ser más fácil conseguir ayuda en los momentos difíciles. Luego está la documentación de un framework, la cual debe estar actualizada y ser lo bastante amplia para que te ayude con los problemas que te puedan surgir.
ReplyDeleteSe habla también de simplicidad y potencia, algunos framework son muy potentes pero difíciles de entender. El código generado por el framework debe ser claro y limpio, que no tengas que preocuparte de las peculiaridades internas del framework. Otro factor que hay que considerar es seguir una arquitectura MVC, pues nos ayuda a tener separado la lógica de negocios, los datos y la presentación. De esta manera nuestro código está mucho más ordenado. Se toma en cuenta además la reutilización ya que es imprescindible que los elementos desarrollados puedan ser reutilizados en varios proyectos. Seguidamente se hace alusión al Patrón Active Record, pues es interesante tener una clase especifica que se encargue de realizar las operaciones de modificación y consulta de una determinada tabla de una base de datos. De esta forma nuestra aplicación quedará aislada del trabajo con SQL.
Por último se encuentran por un lado el posicionamiento, dependiendo del proyecto puede ser que no nos interese estar bien posicionado, pero si no es así, es interesante que el framework ofrezca funcionalidades como url’s amigables, etc., para no tener que rehacer el proyecto más adelante. Y por otro lado la seguridad que puede ser algo que obviemos y luego es demasiado tarde, que se quiere decir con esto, que de nada sirve tener un framework potente si no es para nada seguro.
los frameworks o marcos de referencia permiten el desarrollo o implementacion de una apliacion la cual se rige por un patrón, normalmente a la hora de utilizar este término nos referimos a una estructura compuesta por componentes personalizados y que pueden ser intercambiados durante el desarrollo de una aplicación, framework, no es más que un molde donde se pueden construir diversas aplicaciones. En ocasiones tiende a asociarse mucho con lo que son las librerías, pero entre ellas existen diferencias. En el caso de las librerias, son consideradas un conjunto de métodos reutilizables los cuales cumplen una función especifica, mientras que los frameworks basicamente son una serie de librerías que nos llevan a programar en cierta arquitectura. es un poco mas compleja. Lo que si se puede apreciar es que las mencionadas al final nos permiten acelerar el proceso de desarrollo y reutilizar el código buscando promover el tema que hemos venido discutiendo, el uso de patrones.
ReplyDeleteAlgunas empresas no utilizan frameworks para que otra persona que entra sea capaz de seguir el código de compilación, porque al final es un poco igual es como decir que el que entre sepa javascript al cabo terminas haciendo cosas propias aunque sea utilizando un framework, los frameworks los utilizan las empresas no para que si el dia de mañana entra alguien nuevo sino para que seas completamente excluso y seas desechable, les importa poco la calidad del software quieren trabajar poco y ganar mucho, el problema viene cuando dicho framework no te permite personalizarlo o cuando empiezas a personalizar el framework, porque si no te vas a una hoja y te vas a la competencia y son prácticamente iguales, es decir se pierde el signo diferenciador y si quieres que sea diferente con tal framework no te queda otra que personalizarlo y entonces es cuando pierde el sentido el framework,
ReplyDeleteHay algunas consecuencias a esto ya no es tanto usar un framework, el problema es más que la gente se acostumbra tanto a los frameworks que se olvidan del javascript u otros lenguajes de programación web como tal o no saben de cómo funciona, en circunstancias es preferible un experto en javascript que un experto en jquery, el primero sabrá solventar cualquier dificultad y podrá utilizar en muy poco tiempo cualquier framework, mientras que el segundo estará limitado a jquery y le costara demasiado entender otro framework.
This comment has been removed by the author.
ReplyDeleteComo ya se ha mencionado un frameworks, no es mas que un marco de trabajo, es un conjunto de convenciones, estándares, paradigmas, buenas practicas y funcionalidades costosas ya desarrolladas, es decir, con un framework lo que hacemos es ahorrarnos al final trabajo; tenemos un marco de trabajo, tenemos una serie de clases, funciones y estructura de directorio ya hecho, y nosotros solamente nos tenemos que encargar de crear ciertas cosas; entonces eso al final lo que va a hacer es mejorar mucho nuestro código, obligarnos a hacer buenas practicas y seguir los estandares....Ademas que cuando alguien se quiere introducir en un proyecto, que lo ha programado otro, si esta hecho con un framework es mas facil que se adapte a ese proyecto, y pueda programar sobre el, porque si esta hecho con un framework, va a estar siempre a grandes rasgos hecho igual, como otros proyectos de ese mismo framework.....La ventaja que tiene un framework, es que tenemos ya muchas cosas ya hechas, y eso a la hora de trabajar, viene muy bien porque son cosas muy repetitivas que ya estan hecha. otra de las ventajas que se menciono es que tienen funcionalidades ya hechas, de forma que no tenemos que reinventar la rueda de nuevo y hacer lo mismo......En general, con el término framework, nos estamos refiriendo a una estructura software compuesta de componentes personalizables e intercambiables para el desarrollo de una aplicación. En otras palabras, un framework se puede considerar como una aplicación genérica incompleta y configurable a la que podemos añadirle las últimas piezas para construir una aplicación concreta.
ReplyDeleteClaramente se entiende como framework es como un esquema, es decir, un esqueleto o un patrón que se utiliza para el desarrollo y/o la implementación de una aplicación, el cual compone un diseño reutilizable que facilita y además de eso agiliza el desarrollo de sistemas Web. Muchas veces confundimos los términos: librería y framework, es cierto que llegan a ser similares pero ambas tienen objetivos distintos, en cuanto a los objetivos que persigue esta herramienta es acelerar el proceso de desarrollo, reutilizar código ya existente y promover buenas prácticas de desarrollo como el uso de patrones. En cuanto el objetivo de las librerías es que esta nos ofrece código y datos, que proporcionan servicios a programas independientes, es decir, pasan a formar parte de estos.
ReplyDeleteComo ya se ha dicho framework proporciona un esqueleto que hay que “rellenar”, además unas de las ventajas es que viene programado para que el resultado, es decir, que nuestra aplicación luzca al similar en todos los navegadores, de modo que se puede concentrarte en personalizar y crear contenido en vez de preocuparse en modificar la apariencia base. A la hora de la elección del framework a utilizar debemos tomar en cuanta: qué tipo de aplicación estamos por desarrollar, el lenguaje de programación a utilizar, así como también considerar otras tecnologías como es de la base de datos, sistema operativo, entre otras.
Al momento de iniciar un proyecto en el cual se desea desarrollar un sistema, debemos tener en cuenta varios factores que van a determinar el crecimiento del mismo, como por ejemplo su estructura, y que por lo general toma parte del tiempo que puede ser enfocado en el avance del desarrollo de los requerimientos del sistema. Acá es donde entra en juego la importancia de usar un Framework, ya que estos te proporcionan de una estructura base que te permite agilizar estos procesos y orientar el tiempo y esfuerzo en lógica de la aplicación. Como lo menciono Darwin son componentes personalizables e intercambiables para el desarrollo de una aplicación, Framework es una herramienta, norma o seguía que ayudan a desarrollar aplicaciones. Un framework está compuesto por varios segmentos/componentes que interactúan los unos con los otros. En el desarrollo de software, un framework se encuentra definido con módulos de software concretos, en base a la cual otro proyecto de software puede ser organizado y desarrollado.
ReplyDeleteEvaluando las ventajas y desventajas sobre el uso de los frameworks para el desarrollo de software, hace que cualquiera que se quiera adentrar en el desarrollo dude sobre si usarlos o no, puesto que las desventajas parecen ser mucho mas que las ventajas en lo que respecta sobre todo al tiempo que se necesita emplear en aprender a usar cualquiera de los diferentes frameworks disponibles en el mundo de la programación. No obstante las herramientas que ofrecen este tipo de estructuras son bastante alentadoras para el trabajo en equipo, ya que es dificil mantener coordinacion cuando se trata de trabajar con muchas personas en un solo proyecto si no se usan las mismas herramientas y la mismo logica en el proceso de desarrollo, y gracias a ello es que se pueden evidenciar mejores resultados en los trabajos realizados por equipos grandes de programadores. Tal vez no seria descabellado estandarizar un poco lo que seria como se desarrollan los frameworks, de modo que si un desarrollador decide cambiar de una plataforma de framework a otra, no le resulte un reto o un laberinto reconocer las herramientas que utilice el nuevo framework con el que va a trabajar.
ReplyDeleteEl framework es una herramienta para el desarrollo de aplicaciones ya sea, web, escritorio, movil, que le brinda al programador la capacidad de que pueda desarrollar con mas agilidad y emplear menos tiempo al momento de codificar una App. Esta esta dotada de buenas practicas, ademas de un conjunto de convenciones, estándares, y paradigmas, lo cual nos ayuda a tener un codigo mas limpio y comprensible. Cada framework que existe viene diseñado para un lenguaje en especifico ejemplo Laravel es un framework de php, Ruby on rails del leguaje Ruby estos están destinados para aplicaciones web. Laravel utiliza el patrón MVC o Modelo-Vista-Controlador, el cual permite que la conexión con la base de datos sea gestionada por clases de tipo controlador que es donde se tiene la lógica de la aplicación, laravel utiliza una sintaxis sencilla para gestionar la información que se extrae de la base de datos mediante el ORM Eloquent que proporciona una implementación de ActiveRecord bella y sencilla para trabajar con su base de datos. Cada tabla de base de datos tiene un "Modelo" correspondiente que se utiliza para interactuar con esa tabla. Los modelos le permiten consultar datos en sus tablas, así como insertar nuevos registros en la tabla.
ReplyDeletePara comprender los frameworks, primero debe comprender las bibliotecas. Las bibliotecas son un conjunto de códigos que pueden ahorrarle tiempo al implementar la funcionalidad que desea. Puede llamar a la biblioteca apropiada para el trabajo apropiado y la biblioteca hace el trabajo por usted. No necesita saber cómo funcionan las funciones dentro de las bibliotecas. Solo necesitas saber cómo llamarlos. Los marcos, por otro lado, son como las bibliotecas de una manera que hacen su trabajo más fácil, pero no puede llamar a los marcos de la misma manera que las bibliotecas. Si quiere usar framework, debe aprender el framework, porque en este caso, el framework llama su código, y no al revés. Entonces, debe aprender cómo funciona el framework y todos los conceptos que contiene.
ReplyDeleteEn términos simples, puede llamar a las bibliotecas, mientras que los frameworks llaman a su código.Se ha visto muy frecuente el uso de frameworks en el diseño y desarrollo de aplicaciones web, existen frameworks de front-end (Parte frontal de la pagina o aplicación web) y frameworks de back-end (Parte trasera o el detrás de cámara de las aplicaciones web), los frameworks son estructuras pre-diseñadas para realizar una tarea o labor, existen frameworks que son bastante robustos en el caso de que solo dejan al programador trabajar con las estructuras pre diseñadas de los mismos, pero también, existen frameworks que son mas libres y permiten en la mayoría que el desarrollador implemente lo que quiere y como lo quiere. la ventaja de usar frameworks es el simple hecho de que permiten realizar tareas de una manera sencilla usando las estructuras pre diseñadas de los mismos, es por esta razón que hoy en día esta en auge el uso de frameworks y sigue aumentando la popularidad de los mismos.