Академический Документы
Профессиональный Документы
Культура Документы
DE OAXACA
TEMA:
Investigación 1.
HORA:
07:00-08:00/I13.
CATEDRÁTICO:
Iván Adán Cruz Jiménez.
Alumno:
Hernández Ortiz Luis Daniel.
1
Tabla de contenido
Programación asíncrona...................................................................................................................... 4
Modelos de programación asíncrona. ............................................................................................ 4
Modelo de paso de continuadores ............................................................................................. 4
Modelo de eventos ..................................................................................................................... 4
Modelo de promesas .................................................................................................................. 4
Modelo de generadores .............................................................................................................. 5
Node JS y su ejecución asíncrona .................................................................................................... 5
La asincronía de Node JS ............................................................................................................. 5
Principios Arquitectónicos de Node JS ........................................................................................ 5
Modelo de paso de continuadores (o callbacks) ............................................................................ 5
Qué es una continuación............................................................................................................. 5
Control de flujo mediante continuadores ................................................................................... 6
Librerías para continuadores ...................................................................................................... 7
Conclusiones sobre continuadores ............................................................................................. 8
Modelo de eventos ......................................................................................................................... 8
Qué es una arquitectura dirigida por eventos ............................................................................ 8
¿Qué es una API?............................................................................................................................... 10
Innovaciones con las API ........................................................................................................... 11
Breve historia de las API ............................................................................................................ 12
Las API remotas ......................................................................................................................... 12
¿Qué se ha hecho para mejorar las API? ...................................................................................... 13
Un poco de SOAP, mucho de REST ............................................................................................ 13
SOA frente a la arquitectura de microservicios ........................................................................ 14
¿Qué es un servicio web? .................................................................................................................. 15
¿Qué es SOAP? .............................................................................................................................. 15
SOAP 1.1 ........................................................................................................................................ 15
SOAP 1.2 ........................................................................................................................................ 16
JAX-WS. ......................................................................................................................................... 17
JAXB. .............................................................................................................................................. 18
JAX-RPC. ........................................................................................................................................ 19
Laravel. .............................................................................................................................................. 23
Algunas de las características:....................................................................................................... 23
2
Características Generales .............................................................................................................. 24
¿Por qué elegir Laravel? ................................................................................................................ 24
¿Cuándo utilizar Laravel? (tres puntos a destacar) ....................................................................... 24
3
Programación asíncrona.
Los lenguajes de programación asíncronos se basan en llamadas que pueden ser cumplidas ahora o
en un futuro. Es decir, las variables pueden ser llenadas o asignadas en cualquier momento de la
ejecución del programa. Una orden solo se puede ejecutar luego que se ejecuta la anterior. Esto es
muy beneficioso para el programador, debido a que no tiene que preocuparse de cuando los datos
estarán listos. El problema de estos tipos de lenguajes es que los procesos ocupan más memoria, y
son menos eficientes.
console.log('Primero');
console.log('Segundo');
console.log('Tercero');
Es el modelo de asincronía más utilizado dentro Node JS. Cada función recibe información acerca
de cómo debe tratar el resultado –de éxito o error– de cada operación. Requiere orden superior.
Modelo de eventos
Se utiliza una arquitectura dirigida por eventos que permite a las operaciones no bloqueantes
informar de su terminación mediante señales de éxito o fracaso. Requiere correlación para
sincronizar.
Modelo de promesas
Se razona con los valores de retorno de las operaciones no bloqueantes de manera independiente del
momento del tiempo en que dichos valores –de éxito o fallo– se obtengan.
4
Modelo de generadores
• Dedicar un hilo por solicitud es caro: Dedicar un hilo para enhebrar el procesamiento
de cada solicitud entrante, como hacen otras arquitecturas servidoras (Apache) resulta
demasiado caro en memoria.
El modelo nativo que utiliza Node JS en sus APIs para dar soporte a la programación asíncrona es
el de paso de continuadores. Cada operación no bloqueante recibe una función como último
parámetro que incluye la lógica de continuación que debe ser invocada tras la finalización de la
misma tanto para procesar los resultados en caso de éxito como para tratar los fallos en caso de
error.
La función de continuación permite indicar a la operación bloqueante como debe proceder después
de finalizada la operación,
5
Control de flujo mediante continuadores
Secuenciamiento
La manera de proceder dentro de este modelo para establecer flujos de ejecución secuenciales exige
ir encadenando cada función subsiguiente como continuación de la anterior donde se procesarán los
resultados tanto en caso de éxito como de fracaso. Esto conduce a una diagonalización del código
que se ha dado en llamar pirámide del infierno (callback hell), por su falta de manejabilidad práctica
en cuanto crece mínimamente el número de encadenamientos secuenciales.
Paralelización
6
Sincronización
• Async: es tal vez la librería más conocida y ampliamente utilizada para la programación
asíncrona basada en continuadores. Ofrece métodos de control de flujo variados para
funciones no bloqueantes.
7
• Fn.js: es una excelente librería que implementa distintos métodos de gestión funcional. Su
aplicabilidad práctica en este contexto está relacionada con las capacidades que expone para
generar funciones no bloqueantes y aplicar currificación.
Lo bueno: La programación asíncrona basada en continuadores puede ser una buena opción para
situaciones en que la lógica de control de flujo es muy sencilla. Tal suele ser el caso de programas
en Node JS que permiten definir una respuesta no bloqueante a peticiones entrantes.
Modelo de eventos
Qué es una arquitectura dirigida por eventos
Arquitectura centralizada
En las arquitecturas centralizadas dirigidas por eventos existe un mediador central –bus de
comunicaciones– que se encarga de hacer efectivo el proceso de registro de los clientes
escuchadores y de lanzar las notificaciones bajo demanda de los proveedores a los mismos. Este
mecanismo permite una cardinalidad N:N. Este esquema se conoce bajo el nombre de patrón
PUB/SUB.
8
Arquitectura distribuida
9
¿Qué es una API?
Una API es un conjunto de definiciones y protocolos que se utiliza para desarrollar e
integrar el software de las aplicaciones. API significa interfaz de programación de
aplicaciones.
Las API permiten que sus productos y servicios se comuniquen con otros, sin necesidad de
saber cómo están implementados. Esto simplifica el desarrollo de las aplicaciones y permite
ahorrar tiempo y dinero. Las API le otorgan flexibilidad; simplifican el diseño, la
administración y el uso de las aplicaciones, y proporcionan oportunidades de innovación, lo
cual es ideal al momento de diseñar herramientas y productos nuevos (o de gestionar los
actuales).
A veces, las API se consideran como contratos, con documentación que representa un
acuerdo entre las partes: si una de las partes envía una solicitud remota con cierta estructura
en particular, esa misma estructura determinará cómo responderá el software de la otra
parte.
Debido a que simplifican la forma en que los desarrolladores integran los elementos de las
aplicaciones nuevas en una arquitectura actual, las API permiten la colaboración entre el
equipo comercial y el de TI. Las necesidades comerciales suelen cambiar rápidamente en
respuesta a los mercados digitales en constante cambio, donde la competencia puede
modificar un sector entero con una aplicación nueva. Para seguir siendo competitivos, es
importante admitir la implementación y el desarrollo rápidos de servicios innovadores. El
desarrollo de aplicaciones nativas de la nube es una forma identificable de aumentar la
velocidad de desarrollo y se basa en la conexión de una arquitectura de aplicaciones de
microservicios a través de las API.
Las API son un medio simplificado para conectar su propia infraestructura a través del
desarrollo de aplicaciones nativas de la nube, pero también le permiten compartir sus datos
con clientes y otros usuarios externos. Las API públicas representan un valor comercial
único porque simplifican y amplían la forma en que se conecta con sus partners y, además,
pueden rentabilizar sus datos (un ejemplo conocido es la API de Google Maps).
10
En resumen, las API le permiten habilitar el acceso a sus recursos y, al mismo tiempo,
mantener la seguridad y el control. Cómo habilitar el acceso y a quiénes depende de usted.
La seguridad de las API tiene que ver con que se gestionen bien. Para conectarse a las API
y crear aplicaciones que utilicen los datos o las funciones que estas ofrecen, se puede
utilizar una plataforma de integración distribuida que conecte todos los elementos,
incluidos los sistemas heredados y el Internet de las cosas (IoT).
Existen tres enfoques respecto a las políticas de las versiones de las API.
Las API solo se pueden Las API se comparten con Todos tienen acceso a las
usar internamente, así que partners empresariales API, así que otras empresas
las empresas tienen un específicos, lo cual puede pueden desarrollar API que
mayor control sobre ellas. ofrecer flujos de ingresos interactúen con las de usted
Esto le da a las empresas un adicionales, sin y así convertirse en una
mayor control sobre sus comprometer la calidad. fuente de innovaciones.
API. Esto puede proporcionar Esto permite que terceros
flujos de ingreso desarrollen aplicaciones que
adicionales, sin interactúan con su API, y
comprometer la calidad. puede ser un recurso para
innovar.
Supongamos que uno de los partners de la empresa desarrolla una aplicación que ayuda a
las personas a encontrar libros en los estantes de cierta librería. Esta experiencia mejorada
atrae más compradores a la librería (que es cliente de la distribuidora) y expande un canal
de ingresos existente.
Es posible que un tercero use una API pública para desarrollar una aplicación que permita a
las personas comprar libros directamente de la distribuidora, en lugar de hacerlo en una
11
tienda, lo cual abre un nuevo canal de ingresos para la distribuidora de libros. Esto abre un
nuevo canal de ingresos para la distribuidora de libros.
Las API compartidas, ya sea con los partners elegidos o con todo el mundo, tienen efectos
positivos. Mientras más se asocie con otros gracias a las API, mayor difusión obtendrá su
marca, independientemente de los esfuerzos publicitarios de la empresa. Si usted utiliza una
API pública, por ejemplo, para dar acceso a la tecnología a todo el mundo, alienta a los
desarrolladores a crear un ecosistema de aplicaciones en torno a su API. Mientras más
personas usen su tecnología, más personas estarán dispuestas a hacer negocios con usted.
Las API surgieron los primeros días de la informática, mucho antes que la computadora
personal. En esa época, una API normalmente se usaba como biblioteca para los sistemas
operativos. Casi siempre estaban habilitadas localmente en los sistemas en los que
operaban, aunque a veces pasaban mensajes entre las computadoras centrales. Después de
casi 30 años, las API se expandieron más allá de los entornos locales. A principios del año
2000, ya eran una tecnología importante para la integración remota de datos.
Las API remotas están diseñadas para interactuar en una red de comunicaciones. Por
"remoto" nos referimos a que los recursos que administran las API están, de alguna manera,
fuera de la computadora que solicita alguno de dichos recursos. Debido a que la red de
comunicaciones más usada es Internet, la mayoría de las API están diseñadas de acuerdo
con los estándares web. No todas las API remotas son API web, pero se puede suponer que
las API web son remotas.
Las API web normalmente usan HTTP para solicitar mensajes y proporcionar una
definición de la estructura de los mensajes de respuesta. Por lo general, estos mensajes de
respuesta toman la forma de un archivo XML o JSON, que son los formatos preferidos
porque presentan los datos en una manera fácil de manejar para otras aplicaciones.
12
¿Qué se ha hecho para mejorar las API?
A medida que las API han evolucionado en las ahora generalizadas API web, se han
realizado muchos esfuerzos para simplificar su diseño y facilitar su implementación.
A medida que se han difundido las API, se desarrolló una especificación de protocolo para
permitir la estandarización del intercambio de información; se llama Protocolo de Acceso a
Objetos Simples, más conocido como SOAP. Las API diseñadas con SOAP usan XML
para el formato de sus mensajes y reciben solicitudes a través de HTTP o SMTP. Con
SOAP, es más fácil que las aplicaciones que funcionan en entornos distintos o están escritas
en diferentes lenguajes compartan información.
13
o Mensajes autodescriptivos: cada mensaje que se devuelve al cliente
contiene la información suficiente para describir cómo debe procesar la
información.
o Hipermedios es el motor del estado de la aplicación: después de acceder a
un recurso, el cliente REST debe ser capaz de descubrir mediante
hipervínculos todas las otras acciones que están disponibles actualmente.
Estas limitaciones pueden parecer demasiadas, pero son mucho más sencillas que un
protocolo definido previamente. Por eso, las API de RESTful son cada vez más frecuentes
que las de SOAP.
Los dos enfoques de arquitectura que más se utilizan para las API remotas son la
arquitectura orientada al servicio (SOA) y la arquitectura de microservicios. La SOA es el
más antiguo de los dos, y comenzó como una mejora de las aplicaciones monolíticas. En
lugar de usar una sola aplicación que haga todo, se pueden usar varias aplicaciones que
proporcionen diferentes funciones y que no tengan conexión directa, todo gracias a un
patrón de integración, como un bus de servicios empresariales (ESB).
Aunque en muchos aspectos la SOA es más sencilla que una arquitectura monolítica,
conlleva un riesgo de cambios en cascada en todo el entorno si las interacciones de los
componentes no se comprenden claramente. Esta complejidad adicional vuelve a presentar
algunos de los problemas que la SOA pretendía solucionar.
Las arquitecturas de microservicios se parecen a los patrones SOA en que los servicios son
especializados y no tienen conexión directa. Pero, además, descomponen las arquitecturas
tradicionales en partes más pequeñas. Los servicios de la arquitectura de microservicios
usan un marco de mensajería común, como las API de RESTful. Utilizan API de RESTful
para comunicarse entre sí, sin necesidad de operaciones complejas de conversión de datos
ni capas de integración adicionales. Usar las API de RESTful permite e incluso fomenta
una distribución más rápida de nuevas funciones y actualizaciones. Cada servicio es
independiente. Un servicio se puede reemplazar, mejorar o abandonar, sin afectar los demás
servicios de la arquitectura. Esta arquitectura liviana optimiza los recursos distribuidos o en
la nube y admite la escalabilidad dinámica de los servicios individuales.
14
¿Qué es un servicio web?
Los servicios web son aplicaciones autónomas modulares que se pueden describir, publicar,
localizar e invocar a través de una red.
El World Wide Web Consortium (W3C) define un servicio web como un sistema de
software designado para dar soporte a la interacción de máquina a máquina interoperativa a
través de una red.
Un servicio web realiza una tarea específica o un conjunto de tareas, y se describe mediante
una descripción de servicio en una notación XML estándar llamada WSDL (Web Services
Description Language). La descripción de servicio proporciona todos los detalles
necesarios para interactuar con el servicio, incluidos los formatos de mensaje (que detallan
las operaciones), los protocolos de transporte y la ubicación.
Otros sistemas utilizan mensajes SOAP para interactuar con el servicio web, normalmente
utilizando HTTP con una serialización XML conjuntamente con otros estándares
relacionados con la web.
Las aplicaciones basadas en servicios web son implementaciones en todas las tecnologías,
con acoplamientos flexibles y orientadas a componentes. Los servicios web se pueden
utilizar individualmente o junto con otros servicios web, para llevar a cabo una agregación
completa o una transacción empresarial.
¿Qué es SOAP?
SOAP es una especificación para el intercambio de información estructurada en un entorno
distribuido y descentralizado. Como tal, representa la principal forma de comunicación entre los
tres actores clave de una arquitectura orientada a los servicios (SOA): el proveedor de servicios, el
solicitante de servicios y el intermediario de servicios. El principal objetivo de su diseño es ser
simple y ampliable. Se utiliza un mensaje SOAP para solicitar un servicio web.
SOAP 1.1
Varias compañías, entre las que se encontraban IBM® y Lotus, entregaron SOAP a W3C (World
Wide Web Consortium) como la base del Grupo de trabajo de protocolo XML (Extensible Markup
Language). Este protocolo está formado por tres partes:
• Un sobre que define una infraestructura para describir el contenido del mensaje e
instrucciones de proceso.
• Un conjunto de reglas de codificación para expresar instancias de tipos de datos
definidos por la aplicación.
• Un convenio para representar llamadas de procedimiento remoto y respuestas.
15
SOAP 1.1 es un transporte independiente del protocolo y se puede utilizar en combinación
con otros protocolos. En los servicios web que se desarrollan y se implementan con
WebSphere Application Server, se utiliza SOAP en combinación con HTTP, la
infraestructura de extensiones HTTP, y Java™ Message Service (JMS). SOAP también es
independiente del sistema operativo y no está vinculada con ningún lenguaje de
programación ni tecnología de componentes.
Siempre que el cliente pueda emitir mensajes XML, no importa qué tecnología se utiliza
para implementar el cliente. De igual forma, el servicio se puede implementar en cualquier
lenguaje, siempre que el servicio pueda procesar mensajes SOAP. Asimismo, el cliente y el
servidor pueden residir en cualquier plataforma adecuada.
SOAP 1.2
La especificación SOAP 1.2 también es una recomendación W3C, y WebSphere
Application Server sigue los estándares que se describen en SOAP 1.2. La especificación
SOAP 1.2 tiene tres partes, además de algunas confirmaciones y una colección de pruebas:
• Parte 0: Principal
• Parte 1: Infraestructura de mensajería
• Parte 2: Adjuntos
• Aserciones de especificación y colección de pruebas.
SOAP 1.2 proporciona una definición más específica del modelo de proceso SOAP que
suprime muchas de las ambigüedades que pueden generar problemas de interoperatividad
cuando no existen perfiles WS-I (Web Services-Interoperability). SOAP 1.2 disminuye la
posibilidad de que existan problemas de interoperatividad con las implementaciones de
SOAP 1.2 entre distintos proveedores.
El estándar JAX-WS (Java API for XML Web Services) introduce la posibilidad de dar
soporte a SOAP 1.1 y SOAP 1.2.
16
Consulte las diferencias en la información de versiones de SOAP para ver las diferencias
adicionales entre SOAP 1.1 y SOAP 1.2.
Para obtener una lista completa de los estándares y las especificaciones a los que se da
soporte, consulte las especificaciones y la documentación de la API de los servicios Web.
JAX-WS.
JAX-WS (Java™ API for XML-Based Web Services) es la siguiente generación del
modelo de programación de servicios web que complementa la infraestructura que
proporciona el modelo de programación JAX-RPC (Java API for XML-based RPC). Con
JAX-WS, se simplifica el desarrollo de servicios web y clientes con una mayor
independencia de la plataforma para las aplicaciones Java mediante el uso de anotaciones
Java y proxies dinámicos.
Con las API de JAX-WS el desarrollo de los servicios y los clientes web se
simplifica con una independencia de plataforma ampliada para aplicaciones Java.
17
JAX-WS aprovecha el mecanismo de proxy dinámico para proporcionar un modelo
de delegación formal con un proveedor conectable. Esto constituye una mejora
respecto a JAX-RPC, que se basa en la generación de objetos stub específicos del
proveedor para la invocación.
• Anotaciones
JAX-WS proporciona el soporte para anotar clases Java con metadatos para indicar
que la clase Java es un servicio web. JAX-WS da soporte al uso de anotaciones
basándose en la especificación del recurso de metadatos del lenguaje de
programación Java (JSR 175), la especificación de metadatos de servicios web para
la plataforma Java (JSR 181) y las anotaciones definidas por la especificación JAX-
WS 2.2. Utilizando las anotaciones del origen Java y la clase Java se simplifica el
desarrollo de los servicios web. Utilice las anotaciones para definir la información
que se suele especificar en los archivos del descriptor de despliegue, los archivos
WSDL o en la correlación de metadatos de archivos XML y WSDL con los
artefactos de origen.
JAXB.
JAXB (Java™ Architecture for XML Binding) es una tecnología Java que proporciona una
forma fácil y cómoda de correlacionar clases Java y esquemas XML para simplificar el
desarrollo de servicios web. JAXB aprovecha la flexibilidad de los datos XML neutros de
plataforma en las aplicaciones Java para enlazar esquemas XML con aplicaciones Java sin
necesidad de un conocimiento experto en programación XML. JAXB proporciona la
herramienta de compilador de esquemas xjc y la herramienta de generador de esquemas
schemagen para transformar entre el esquema XML y las clases Java.
JAXB es una tecnología de enlace de XML a Java que da soporte a la transformación entre
objetos de esquema y objetos Java, así como entre documentos de instancia XML e
instancias de objetos Java. JAXB está formado por una interfaz de programación de
aplicaciones (API) de tiempo de ejecución y las herramientas correspondientes que
simplifican el acceso a los documentos XML. JAXB también permite crear documentos
XML que cumplen el esquema XML y lo validan. JAX-WS (Java API for XML-Based
Web Services) utiliza la API y las herramientas JAXB como tecnología de enlace para las
correlaciones entre los objetos Java y los documentos XML. Las herramientas JAX-WS se
basan en las herramientas JAXB para el enlace de datos predeterminado en las
correlaciones de dos direcciones entre objetos Java y documentos XML.
Esta versión del servidor de aplicaciones admite la especificación JAXB 2.2. JAX-WS 2.2
requiere JAXB 2.2 para el enlace de datos. JAXB 2.2 proporciona mejoras menores en sus
anotaciones para mejorar la generación de esquemas y la integración con JAX-WS.
18
esquema XML (XSD) para crear un conjunto de JavaBeans que se correlacionen con los
elementos y los tipos definidos en el esquema XSD. También puede empezar con un
conjunto de JavaBeans y utilizar la herramienta de generador de esquemas schemagen para
crear el esquema XML. Una vez exista la correlación entre el esquema XML y las clases
Java, los documentos de instancia XML pueden convertirse en y desde objetos Java
mediante el uso de la API de tiempo de ejecución de enlace JAXB. Puede acceder a los
datos almacenados en los documentos XML sin necesidad de conocer la estructura de
datos. A continuación, puede utilizar las clases Java resultantes para ensamblar una
aplicación de servicios web.
Los artefactos y las clases anotadas JAXB contienen toda la información que necesita la
API de tiempo de ejecución JAXB para procesar los documentos de instancia XML. La
API de tiempo de ejecución JAXB da soporte a la ordenación de objetos JAXB en XML y
la desordenación del documento XML en instancias de clases JAXB. De manera opcional,
puede utilizar JAXB para proporcionar una validación XML que obligue a los documentos
XML entrantes y salientes a cumplir las restricciones XML definidas con el esquema XML.
JAXB es la tecnología de enlace de datos predeterminado que utiliza la API Java para las
herramientas de servicios web XML (JAX-WS) y la implementación en este producto.
Puede desarrollar objetos JAXB para su uso en las aplicaciones JAX-WS.
JAX-RPC.
La especificación Java API for XML-based RPC (JAX-RPC) permite desarrollar clientes
de servicios web y servicios web interoperativos y portátiles basados en SOAP. JAX-RPC
1.1 proporciona API básicas para el desarrollo y el despliegue de servicios web en una
plataforma Java™ y es una parte de la plataforma de servicios web para Java EE (Java
Platform, Enterprise Edition). La plataforma Java EE permite desarrollar servicios web
portátiles.
19
WebSphere Application Server implementa estándares JAX-RPC 1.1.
JAX-RPC define las correlaciones entre los tipos de puerto WSDL y las interfaces Java, así
como entre el lenguaje Java y los tipos de esquema XML (Extensible Markup Language).
Un cliente crea un stub e invoca métodos en él. El stub actúa como un proxy para el
servicio web. Desde el punto de vista del código del cliente, parece una invocación de un
20
método local. No obstante, cada invocación de método se organiza en el servidor remoto.
La organización incluye la codificación de la invocación de método en XML, tal como se
prescribe en el protocolo SOAP.
Estas son las interfaces y las clases clave que se necesitan para escribir servicios web y
clientes de servicios web:
o role: el parámetro role es una serie que especifica el nombre del rol.
• Servicio
• Interfaz de llamada: se utiliza para la invocación dinámica
• Interfaz de stubs: interfaz base de objetos stub
Si utiliza un stub para acceder al proveedor de servicios web, la mayoría de los detalles de
la API JAX-RPC están ocultos. El cliente crear una ServiceFactory
(java.xml.rpc.ServiceFactory). El cliente crea una instancia de un servicio
(java.xml.rpc.Service) a partir de la ServiceFactory. El servicio es un objeto de
fábrica que crea el puerto. El puerto es la interfaz de punto final de servicio remoto con el
servicio web. En el caso de DII, el objeto de servicio se utiliza para crear los objetos de
llamada, que se pueden configurar para que llamen a los métodos en el puerto del servicio
web.
21
Desarrollo web.
Desarrollo web significa construir y mantener sitios web; es el trabajo que tiene lugar en un
segundo plano y que permite que una web tenga una apariencia impecable, un funcionamiento
rápido y un buen desempeño para permitir la mejor experiencia de usuario.
El desarrollador Full-stack está a cargo tanto del Frontend como del Backend, y necesita
saber cómo funciona la web a todos los niveles para determinar cómo se van a coordinar la
parte cliente y la parte servidor. Para alcanzar este nivel de experiencia hace falta más
tiempo, claro, puesto que hay más que aprender.
22
Laravel.
Laravel, el “framework PHP para artesanos” según dicta su slogan. Laravel es un
framework PHP de código abierto que intenta aprovechar las ventajas de otros
Frameworks y desarrollar con las últimas versiones de PHP (entre otras muchas cosas
que aporta como framework).
Su filosofía es desarrollar código PHP de forma elegante y simple basado en un modelo
MVC(Modelo-Vista-Controlador).
El objetivo de Laravel es el de ser un framework que permita el uso de una sintaxis refinada
y expresiva para crear código de forma sencilla, evitando el «código espagueti» y
permitiendo multitud de funcionalidades. Aprovecha todo lo bueno de otros frameworks y
utiliza las características de las últimas versiones de PHP.
23
Características Generales
24