Vapor es un framework web de código abierto escrito en Swift y diseñado para el desarrollo en Swift. Se puede usar para crear API RESTful , aplicaciones web y aplicaciones en tiempo real mediante WebSockets . Además del framework principal, Vapor proporciona un ORM , un lenguaje de plantillas y paquetes para facilitar la autenticación y autorización de usuarios . [ 4 ]
El código fuente de Vapor está alojado en GitHub y tiene licencia MIT . [ 5 ] Vapor ha formado parte del grupo de trabajo de API de servidor de Swift desde 2016. [ 6 ] [ 7 ]
Historia
Vapor 0.1.0 se lanzó como prueba de concepto para Swift en el servidor un mes después de que Apple liberara el código fuente de Swift y comenzara el soporte para la plataforma Linux el 3 de diciembre de 2015. [ 8 ] Vapor 1.0 [ 9 ] llegó en septiembre de 2016, seguido del lanzamiento de Vapor 2.0 en mayo de 2017. [ 10 ]
El marco de trabajo se reescribió para Vapor 3.0 [ 11 ] para que se basara en el marco de trabajo de red sin bloqueo SwiftNIO de Apple. Vapor 3 se lanzó en mayo de 2018. Apple mencionó la rapidez con la que Vapor (junto con Kitura ) adoptó el nuevo marco de trabajo SwiftNIO en la página principal del servidor Swift.org. [ 12 ]
Durante el período beta de Vapor 3 , Packt [ 13 ] [ 14 ] [ 15 ] , Paul Hudson [ 16 ] , Razeware LLC [ 17 ] y lynda.com [ 18 ] publicaron material educativo . Swift.org reconoció a Vapor con un Swift Forum oficial en su grupo inaugural de Proyectos Relacionados [ 19 ] en mayo de 2018.
El lanzamiento de la versión Alpha 1 de Vapor 4 [ 20 ] comenzó en mayo de 2019 y la versión estable se lanzó en abril de 2020. [ 21 ]
Comunicados
Compatibilidad con versiones Swift
Vapor 4 es compatible con las últimas 3 versiones menores de Swift. A fecha de 27 de octubre de 2023, esto incluye Swift 5.7, Swift 5.8 y Swift 5.9.
Esto cumple con los estándares establecidos por el Swift Server Workgroup, [ 24 ] del cual Vapor es miembro [ 25 ].
Características
Vapor admite las siguientes características: [ 26 ]
- E/S asíncrona/no bloqueante
- Autenticación: básica, portador, JWT y contraseña
- Caché: Redis y en memoria
- Comandos / formato de consola
- Negociación de contenido: formato JSON , multipart y codificado en URL.
- Criptografía: generador de números aleatorios , cifrados, resúmenes, RSA
- Inyección de dependencias / Inversión de control [ 27 ]
- ORM fluido: MySQL , [ 28 ] PostgreSQL , MongoDB y SQLite
- Cliente y servidor HTTP
- Plantillas de hojas: HTML, etc.
- Explotación florestal
- Enrutamiento de URL
- Validación
- Cliente y servidor WebSocket
- trabajos en cola
Referencias
- ↑ "Vapor 0.1.0 Release" . GitHub . 2016-01-25 . Consultado el 2018-04-03 .
- ↑ "Comparación de frameworks Swift del lado del servidor" . Consultado el 24 de mayo de 2018 .
- ↑ "Vapor 4.102.1 Release" . GitHub . 10 de julio de 2023. Consultado el 23 de julio de 2024 .
- ↑ "Organización de Vapor en GitHub" . GitHub . Consultado el 3 de abril de 2018 .
- ↑ "vapor/vapor LICENSE en master" . GitHub . 2018-02-23 . Consultado el 2018-04-03 .
- ↑ "API de Swift Server" . 25/10/2016. Archivado del original el 10/05/2021 . Consultado el 22/05/2018 .
- ↑ "Blog de Swift: Grupo de trabajo de API de servidor" . 25 de octubre de 2016. Consultado el 22 de mayo de 2018 .
- ↑ "Swift es de código abierto" . 3 de diciembre de 2015. Consultado el 3 de abril de 2018 .
- ↑ "Vapor 1.0.0 Release" . GitHub . 15-09-2016 . Consultado el 03-04-2018 .
- ↑ "Vapor 2.0.0 Release" . GitHub . 17 de mayo de 2018. Consultado el 3 de abril de 2018 .
- ↑ "Vapor 3.0.0 lanzado" . 4 de mayo de 2018. Consultado el 23 de mayo de 2018 .
- ↑ "Swift.org" . Swift.org . Consultado el 4 de octubre de 2018 .
- ↑ Patel, Ankur (30 de marzo de 2018). Desarrollo full-stack práctico con Swift . Packt Publishing. ISBN 978-1788625241.
- ↑ Yeung, Angus (2018). Desarrollo web práctico del lado del servidor con Swift: Crea aplicaciones web dinámicas aprovechando dos populares frameworks web de Swift: Vapor 3.0 y Kitura 2.5 . Packt Publishing Ltd. ISBN 9781789345865. Consultado el 16 de diciembre de 2019 .
- ↑ Kuepper, Ralph (12 de marzo de 2020). Desarrollo práctico de microservicios con Swift 5. Packt Publishing. ISBN 978-1789530889.
- ↑ Hudson, Paul (2018-03-01). Swift del lado del servidor ( Edición Vapor).
- ↑ Condon, Tim; et al. Servidor Swift con Vapor . Razeware LLC.
- ↑ "Aprendiendo Swift del lado del servidor con Vapor" . Archivado del original el 9 de mayo de 2021. Consultado el 22 de mayo de 2018 .
- ↑ "Presentación de proyectos relacionados en los foros de Swift" . 10 de mayo de 2018.
- ↑ VAPOR (28-05-2019). "Vapor 4: Comienzan los lanzamientos de Alpha 1" . Medium . Consultado el 09-09-2019 .
- ↑ "Lanzamiento de Vapor 4.0.0 · vapor/vapor" . GitHub . Consultado el 15 de febrero de 2021 .
- ↑ "GitHub: vapor/vapor Releases" . GitHub . Consultado el 15 de febrero de 2021 .
- ↑ "Documentación sobre vapor: Soporte" . Vapor. Archivado del original el 23 de mayo de 2018. Consultado el 4 de mayo de 2018 .
- ↑ "Grupo de trabajo de servidor Swift" .
- ↑ "Miembros del grupo de trabajo de Swift Server" .
- ↑ "Documentación sobre vapor" . docs.vapor.codes . Archivado del original el 22/07/2021 . Consultado el 22/05/2018 .
- ↑ Elliot, Keith (06/10/2016). Nuevas funciones de Swift 3. Packt Publishing. ISBN 978-1786462718.
- ↑ Hussain, Shaista; et al. (12 de marzo de 2018). Actas de la 6.ª Conferencia Internacional de Bioinformática y Biología Computacional de 2018. Association for Computing Machinery. ISBN 978-1-4503-6348-8.
- marcos de trabajo web