title: migrating flask web application currently using uWSGI web server to ASGI web server(uvicorn)
body: <p>I currently have a flask web application using <em><strong>uWSGI</strong></em> web server that implements the WSGI standard and need to migrate this app to <em><strong>uvicorn</strong></em> web server that implements the ASGI standard.</p>
  <p>If I choose to use uvicorn web server from the many available options say, Hypercorn, Daphne, then which web microframework(instead of flask) should I opt for from the available options say, Starlette, Quart, Django/Channels to get this migration done smoothly?</p>
  <p>The hierarchy is like:</p>
  <blockquote>
  <pre><code>  Uvicorn: an ASGI server 
  
          Starlette: (uses Uvicorn) a web microframework
  
               FastAPI: (uses Starlette) an API microframework with several
                        additional features for building APIs, with data validation, etc.
  </code></pre>
  </blockquote>
  <p>As what I have read so far,</p>
  <blockquote>
  <p>Quart is a Python web microframework based on Asyncio. It is intended
  to provide the easiest way to use asyncio in a web context, especially
  with existing Flask apps.</p>
  </blockquote>
  <p>and</p>
  <blockquote>
  <p>FastAPI has shown to be a Python web framework with one of the best
  performances, as measured by third-party benchmarks, thanks to being
  based on and powered by Starlette. <a href="https://fastapi.tiangolo.com/benchmarks/" rel="noreferrer">https://fastapi.tiangolo.com/benchmarks/</a></p>
  </blockquote>
  <p>Please suggest with the best approach</p>