Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Ésta es una introducción pragmática a FastAPI, un moderno framework web de Python. También es una historia de cómo, de vez en cuando, los objetos brillantes y relucientes con los que tropezamos pueden resultar muy útiles. Es bueno tener una bala de plata cuando te encuentras con un hombre lobo (y te encontrarás con hombres lobo más adelante en este libro).
Empecé a programar aplicaciones científicas a mediados de los 70. Y después de conocer Unix y C en un PDP-11 en 1977, tuve la sensación de que esto de Unix podría ponerse de moda.
En los años 80 y principios de los 90, Internet aún no era comercial, pero ya era una buena fuente de software libre e información técnica. Y cuando en 1993 se distribuyó un navegador web llamado Mosaic en la recién nacida Internet abierta, tuve la sensación de que esto de la web podría ponerse de moda.
Cuando unos años más tarde fundé mi propia empresa de desarrollo web, mis herramientas eran las habituales de entonces: PHP, HTML y Perl: PHP, HTML y Perl. En un trabajo contratado unos años más tarde, experimenté por fin con Python y me sorprendió lo rápido que podía acceder a los datos, manipularlos y mostrarlos. En mi tiempo libre, durante dos semanas, pude replicar la mayor parte de una aplicación en C que había llevado un año escribir a cuatro desarrolladores. Ahora tenía la sensación de que esto de Python podría ponerse de moda.
Después de eso, la mayor parte de mi trabajo tenía que ver con Python y sus frameworks web, sobre todo Flask y Django. Me gustaba especialmente la sencillez de Flask y lo prefería para muchos trabajos. Pero hace unos años, divisé algo que brillaba entre la maleza: un nuevo framework web de Python llamado FastAPI, escrito por Sebastián Ramírez.
Al leer su (excelente)documentación, me impresionó el diseño y la reflexión que había llevado a cabo. En particular, su página dehistorialmostraba cuánto cuidado había puesto en evaluar alternativas. No se trataba de un proyecto de ego ni de un experimento divertido, sino de un marco serio para el desarrollo en el mundo real. Ahora tenía la sensación de que esto de las FastAPI podría ponerse de moda.
Escribí un sitio de API biomédica con FastAPI, y fue tan bien que un equipo de nosotros reescribió nuestro antiguo núcleo de API con FastAPI al año siguiente. Éste sigue en producción y ha aguantado bien. Nuestro grupo aprendió lo básico que leerás en este libro, y todos sentimos que escribíamos mejor código, más rápido y con menos errores. Y por cierto, algunos de nosotros no habíamos escrito en Python antes, y sólo yo había utilizado FastAPI.
Por eso, cuando tuve la oportunidad de sugerir a O'Reilly una continuación de mi libroIntroducing Python, FastAPI encabezaba mi lista. En mi opinión, FastAPI tendrá al menos el impacto que han tenido Flask y Django, y quizá más.
Como ya he mencionado, el propio sitio web de FastAPI proporciona documentación de primera clase, incluidos muchos detalles sobre los temas habituales de la web: bases de datos, autenticación, implementación, etc. Entonces, ¿por qué escribir un libro?
Este libro no pretende ser exhaustivo porque, bueno, eso es agotador. Pretende ser útil, para ayudarte a captar rápidamente las ideas principales de FastAPI y aplicarlas. Señalaré varias técnicas que requirieron algo de investigación y ofreceré consejos sobre las buenas prácticas cotidianas.
Empiezo cada capítulo con un avance de lo que está por venir. A continuación, intento no olvidar lo que acabo de prometer, ofreciendo detalles y apartes al azar. Por último, hay una breve Reseña digerible.
Como dice el refrán: "Éstas son las opiniones en las que se basan mis hechos". Tu experiencia será única, pero espero que encuentres aquí suficiente valor para convertirte en un desarrollador web más productivo.
Convenciones utilizadas en este libro
En este libro se utilizan las siguientes convenciones tipográficas:
- Cursiva
-
Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.
Constant width
-
Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.
Constant width bold
-
Muestra comandos u otros textos que deben ser tecleados literalmente por el usuario.
Constant width italic
-
Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.
Consejo
Este elemento significa un consejo o sugerencia.
Nota
Este elemento significa una nota general.
Utilizar ejemplos de código
El material complementario (ejemplos de código, ejercicios, etc.) se puede descargar en https://github.com/madscheme/fastapi.
Si tienes una pregunta técnica o un problema al utilizar los ejemplos de código, envía un correo electrónico a support@oreilly.com.
Este libro está aquí para ayudarte a hacer tu trabajo. En general, si se ofrece código de ejemplo con este libro, puedes utilizarlo en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir ejemplos de libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y el código de ejemplo no requiere permiso. Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de tu producto sí requiere permiso.
Agradecemos, pero generalmente no exigimos, la atribución. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo "FastAPI por Bill Lubanovic (O'Reilly). Copyright 2024 Bill Lubanovic, 978-1-098-13550-8".
Si crees que el uso que haces de los ejemplos de código no se ajusta al uso legítimo o al permiso concedido anteriormente, no dudes en ponerte en contacto con nosotros en permissions@oreilly.com.
Aprendizaje en línea O'Reilly
Nota
Durante más de 40 años, O'Reilly Media ha proporcionado formación tecnológica y empresarial, conocimientos y perspectivas para ayudar a las empresas a alcanzar el éxito.
Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita https://oreilly.com.
Cómo contactar con nosotros
Dirige tus comentarios y preguntas sobre este libro a la editorial:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Norte
- Sebastopol, CA 95472
- 800-889-8969 (en Estados Unidos o Canadá)
- 707-829-7019 (internacional o local)
- 707-829-0104 (fax)
- support@oreilly.com
- https://www.oreilly.com/about/contact.html
Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/FastAPI.
Para obtener noticias e información sobre nuestros libros y cursos, visita https://oreilly.com.
Encuéntranos en LinkedIn: https://linkedin.com/company/oreilly-media.
Síguenos en Twitter: https://twitter.com/oreillymedia.
Míranos en YouTube: https://youtube.com/oreillymedia.
Agradecimientos
Gracias a muchas personas, en muchos lugares, de las que he aprendido tanto:
- Instituto Serra
- Universidad de Pittsburgh
- Laboratorios de Cronobiología,
Universidad de Minnesota - Intran
- Crosfield-Dicomed
- Aerolíneas Northwest
- Tela
- WAM!NET
- Esquema loco
- SSESCO
- Intradyn
- Guarda
- Thomson Reuters
- Cray
- Informática Penguin
- Archivo de Internet
- CrowdStrike
- Volante
Get FastAPI now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.