Professional Documents
Culture Documents
FACULTAD DE INGENIERIA
ESCUELA ACADMICO PROFESIONAL INGENIERA DE SISTEMAS
Contenido
Introduccin .......................................................................................................................... 2
Framework ............................................................................................................................. 3
Ejemplo: ............................................................................................................................. 4
Diseo arquitectnico de un Framework........................................................................... 5
Como se utiliza un Framework ........................................................................................... 5
Caractersticas ..................................................................................................................... 7
1. La inversin de control ......................................................................................... 7
2. Su extensibilidad:.................................................................................................. 7
3. Abstraccin de URLs y sesiones. ....................................................................... 8
4. Acceso a datos ...................................................................................................... 8
5. Uso de controladores ............................................................................................ 8
6. Autentificacin y control de acceso................................................................... 8
7. Internalizacin ....................................................................................................... 8
Ventajas ................................................................................................................................. 8
Desventajas de usar un Framework .................................................................................. 9
Cul es el mejor Framework? ........................................................................................ 10
Frameworks ms populares ............................................................................................... 12
Laravel ................................................................................................................................. 15
Aplicacin de Framework Laravel ............................................................................. 15
Descripcin....................................................................................................................... 15
Conclusiones ......................................................................................................................... 22
Anexos .................................................................................................................................. 23
Bibliografa .......................................................................................................................... 24
Universidad Nacional De Cajamarca
FACULTAD DE INGENIERIA
ESCUELA ACADMICO PROFESIONAL INGENIERA DE SISTEMAS
Introduccin
En el mundo digital la constante competencia lleva a generar cada vez ms este tipo de
herramientas que bsicamente lo que buscan es evitar la repeticin de cdigo, y ms an
intentar a estandarizar un estilo o modo de desarrollo, debido a que cada desarrollador
tiene su forma de programar, hace que en muchos casos el mantenimiento pueda ser
demasiado complejo, por esta necesidad se ha ido popularizando el uso de estas
herramientas tan prcticas.
Los marcos de trabajo tienen como objetivo principal ofrecer una funcionalidad
definida, auto contenida, siendo construidos usando patrones de diseo, y su
caracterstica principal es su alta cohesin y bajo acoplamiento.
Esta funcionalidad, est constituida por objetos llamados fros, que sufren poco o
ningn cambio en la vida del framework, permitiendo la portabilidad entre distintos
sistemas.
Framework
Un Framework ofrece componentes como una librera, pero adems provee de plantillas
o esqueletos que definen el funcionamiento de las aplicaciones. Por ejemplo, para una
aplicacin sencilla (es decir, no basada en documentos) el Framework provee con un
centro de notificaciones, pasteboard, mtodos delegate, que permiten manejar y
controlar prcticamente toda la aplicacin sin escribir mucho cdigo. Para una aplicacin
basada en documentos, la plantilla se encarga de cada uno de los documentos abiertos
(ttulos de las ventanas, cambios en el contenido de cada una, notificar si el documento
que se va a cerrar tiene cambios sin guardar). Estas plantillas que ofrece el Framework
se pueden adaptar a diferentes necesidades. Y, en el caso de que sus capacidades
bsicas no basten, se puede crear una subclase (de la clase que provee la plantilla) y
agregar las modificaciones deseadas. Dichas plantillas ahorran trabajo a la hora de
escribir una aplicacin. Adems de que hacen relativamente fcil entender otras
aplicaciones hechas con el mismo Framework, ya que comparten un esqueleto similar.
(Que es un framework Como se utiliza?, s.f.)
El trmino framework se podra traducir al espaol como armazn o andamio, que viene
a ser una estructura genrica que se utiliza para colocar diversos elementos segn sean
necesarios.
Ejemplo:
// Index.php
// -----
// ------ Clases ------
class Base {}
class Controller extends Base {
function load($name) {
require_once $this->$name &= new $name();
}
}
class Model extends Controller {
function view($name, $data) {
extract($data);
$object->$model();
}
}
Una vez definida la interfaz grfica (o la interaccin a travs de una terminal en el caso
de una aplicacin que no tiene interfaz grfica), queda por decidir cmo se manejara la
informacin del usuario y el posterior procesamiento y presentacin que la aplicacin
har con esa informacin. En el ejemplo de la aplicacin que suma dos nmeros, se tiene
nicamente un objeto que controla la aplicacin.
Universidad Nacional De Cajamarca
FACULTAD DE INGENIERIA
ESCUELA ACADMICO PROFESIONAL INGENIERA DE SISTEMAS
Puesto que este objeto solamente debe llevar a cabo la suma, lo recomendable es que
este sea de la clase NSObject, la clase ms bsica (es decir, que sea una subclase de la
clase NSObject). Sin embargo, habr situaciones en las que necesitemos objetos de
otras clases. Por ejemplo, imaginemos una sencilla aplicacin (no basada en documentos)
para dibujar. Esta aplicacin puede tener una interfaz grfica como la siguiente:
Para controlar lo que el usuario dibuje en el lienzo, necesitamos un objeto NSView, que
es una clase visual. Este objeto, puede tambin controlar el resto de la interfaz (men
Universidad Nacional De Cajamarca
FACULTAD DE INGENIERIA
ESCUELA ACADMICO PROFESIONAL INGENIERA DE SISTEMAS
Caractersticas
1. La inversin 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.
2. Su extensibilidad:
Un marco puede ser ampliado para proporcionar una funcionalidad especfica. El
framework, en general, no se supone que deba ser modificado, excepto en cuanto a
extensibilidad. Los usuarios pueden ampliar sus caractersticas, pero no deben ni
necesitan modificar su cdigo.
Universidad Nacional De Cajamarca
FACULTAD DE INGENIERIA
ESCUELA ACADMICO PROFESIONAL INGENIERA DE SISTEMAS
4. Acceso a datos
Incluyen herramientas e interfaces necesarias para comunicarse con bases de datos,
independientemente del tipo que estemos utilizando.
5. Uso de controladores
Suelen implementar una serie de controladores para la gestin de los eventos y
peticiones realizadas a la aplicacin.
7. Internalizacin
Son mecanismos para poder mostrar la aplicacin en todos aquellos idiomas que
consideremos oportunos. (AcensTechnologies).
Ventajas
Cuando instalas un framework para PHP, ya viene con cierta estructura en sus carpetas.
Esperando que sigas algunos estndares y mantengas todo organizado de cierta manera.
2. Utilidades y Libreras
3. Patrn MVC
Escribirs menos cdigo, lo cual significa menos tiempo gastado escribiendo. No tendrs
que declarar libreras de terceros cada vez para cada nuevo proyecto porque la mayora
de ellas vendr por default al instalar el framework.
5. Soporte de la comunidad
Todos los grandes Frameworks de PHP tienen grandes y activas comunidades detrs de
ellos. Puedes hablar con otros desarrolladores, obtener ayuda, feedbacks y a dems dar
tu ayuda a la comunidad.
6. Herramientas de Performance
7. Facilita la colaboracin
Cualquiera que haya tenido que pelearse con el cdigo fuente de otro programador (o
incluso con el propio, pasado algn tiempo!) sabr lo difcil que es entenderlo y
modificarlo; por tanto, todo lo que sea definir y estandarizar va a ahorrar tiempo y
trabajo a los desarrollos colaborativos. (Salazar, 2017)
El uso de los framework tambin tiene sus limitaciones, por tanto, es bueno conocerlas
antes de embarcarse en un proyecto. Las desventajas principales son:
Universidad Nacional De Cajamarca
FACULTAD DE INGENIERIA
ESCUELA ACADMICO PROFESIONAL INGENIERA DE SISTEMAS
1. Tiempo de aprendizaje
Te llevar algn tiempo conocer cmo funcionan los frameworks y, pero la idea es que
una vez que te habites a ellos los siguientes proyectos tendrn una base ms definida
y su puesta en marcha ser ms rpida.
3. Limitaciones
Cuando usas un framework hay partes de l que no puedes modificar, por ello hay que
elegir uno que se adapte a lo que buscas. Adems, migrar a otro framework es
complicado sin tener que reescribir todo el cdigo.
4. Cdigo pblico
Al estar disponible el framework para todo el mundo, un hacker puede estudiar el cdigo
y encontrar debilidades, aunque es algo difcil, porque tendra que saber qu framework
ests usando. Adems, algunos como Symfony son testados continuamente para reducir
al mximo los bugs. (AcensTechnologies)
En cierta forma hay que tener en cuenta algunos aspectos a la hora de elegir un
Framework, como:
2. Soporte
4. Curva de aprendizaje
Como hemos explicado, este punto es el que ms echa para atrs a las personas a la hora
de utilizar un framework, de ah que sea muy recomendable decantarse por aquel que
tenga una curva de aprendizaje ms rpida.
El uso de patrones de diseo es bsico en una aplicacin bien estructurada, pero el uso
del patrn MVC es imprescindible para la mayora de proyectos. Como nota, algunos
frameworks ofrecen MVC como una alternativa, no obligando a su uso. Esto puede ser
til, por ejemplo, si quieres implementar tareas internas automatizadas, como emailings,
tareas de mantenimiento de la BBDD, etc.
Universidad Nacional De Cajamarca
FACULTAD DE INGENIERIA
ESCUELA ACADMICO PROFESIONAL INGENIERA DE SISTEMAS
En el mercado nos podemos encontrar framework con buenas caractersticas pero que
dejan de lado la seguridad. (AcensTechnologies)
Frameworks ms populares
Frameworks Descripcin
Web y mviles
Angular.js Un framework basado en JavaScript
CodeIgniter Poderoso liviano y rpido para PHP, creado sobre los conceptos
de Ruby on Rails. utl para desarrollos web simples y elegantes,
cuenta con herramientas para la creacin web con caractersticas
precargadas y visualizacin web impresionantes, vienen con una
documentacin clara; incluye muy poca configuracin, sin libreras
monolticas de gran escala, compatibilidad con alojamiento estndar,
sin reglas de codificacin restrictivas, sin necesidad de lenguaje de
plantillas y muchos ms caractersticas.
OrbitF Framework web MVC para LUA. El diseo est inspirado en los
marcos ligeros de Ruby tales como camping. Se suprime totalmente
el modelo de CGILua de scripts en favor de las aplicaciones, donde
cada aplicacin Orbit puede caber en un solo archivo, pero se puede
dividir en varios archivos si lo desea. Todas las aplicaciones Orbit
siguen el protocolo de WSAPI, por lo que actualmente trabajan con
los Xavante, CGI y FastCGI. Incluye un lanzador que hace que sea
fcil de poner en marcha una instancia Xavante para el desarrollo.
Laravel
Conclusiones
Anexos
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:dOhj04CaZnxqwvb5xTYeRPwA427+PGQDbsgo3Es6RqI=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=libreria
DB_USERNAME=root
DB_PASSWORD=
BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
Universidad Nacional De Cajamarca
FACULTAD DE INGENIERIA
ESCUELA ACADMICO PROFESIONAL INGENIERA DE SISTEMAS
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
Bibliografa
Que es un framework Como se utiliza? (s.f.). Obtenido de
https://gnustep.wordpress.com/gnustep-a-fondo/%C2%BFque-es-un-
framework-%C2%BFcomo-se-utiliza/