Tengo algunas confusiones y me gustaría aclararlas haciendo algunas preguntas.
Según esta definición de Ajax:
Ajax es un conjunto de técnicas de desarrollo web que utiliza muchas tecnologías web en el lado del cliente para crear aplicaciones web asíncronas. Con Ajax, las aplicaciones web pueden enviar y recuperar datos de un servidor de forma asincrónica sin interferir con la visualización y el comportamiento de la página existente.
1. ¿No es lo mismo que la función de vistas asíncronas que se ofrece en Django 3.0?
1A. Si Async Django no reemplazará completamente a AJAX, ¿vale la pena aprenderlo?
2. ¿Qué significa esto para los canales?
Channels es un proyecto que toma Django y extiende sus capacidades más allá de HTTP: para manejar WebSockets, protocolos de chat, protocolos IoT y más. Está construido sobre una especificación de Python llamada ASGI.
¿Puede async django reemplazar canales también?
Sugerir cosas relacionadas con estos temas con razonamiento. por ejemplo, use AJAX con JSON (solo un ejemplo)
Sé que convertir Django a asíncrono llevará tiempo, así que ten esto en cuenta al responder
Según la información que tengo (no sé qué es AJAX, pero muchos tutoriales de Django lo mencionan, por lo que estaba en mi lista de deseos de aprendizaje)
AJAX significa Javascript asíncrono y XML. Se reduce a realizar llamadas asincrónicas que permiten que partes de las páginas web se carguen dinámicamente. Esto significa que solo se actualiza una parte de la página cuando se modifican los datos en lugar de toda la página. Le permite hacer que su página obtenga datos de un servidor o API y permitir que el usuario aún vea la página simultáneamente. Una vez que se recupera la información de la API, la vista se puede actualizar para que coincida con los nuevos datos.
¿No es esto lo que también harán las vistas asincrónicas en Django?
Sí, parece que Django te permitirá realizar este tipo de técnicas dentro de las vistas mismas. Puede haber algunos casos de uso en los que se pueda usar AJAX y la función asíncrona de Django no, pero sin investigarlo, no puedo dar una respuesta definitiva.
1A. Si Async Django no reemplazará completamente a AJAX, ¿vale la pena aprenderlo?
¿Todavía vale la pena aprender AJAX? Yo diría que sí. Tengo la mentalidad de un experto en todos los oficios, maestro de nada. Si planeas pasar el resto de tu vida desarrollando con Django, tal vez no valga la pena. Sin embargo, es muy común encontrar AJAX en otras tecnologías, por lo que si planea aventurarse fuera de la pila de Django, valdría la pena aprender. También tendría el beneficio adicional de conocer algunos de los principios subyacentes de cómo funciona la comunicación asíncrona si profundiza en AJAX.
- ¿Qué significa esto para los canales?
Nuevamente, solo especulaciones, pero asumo que Channels proporcionará una funcionalidad adicional que async Django no tendrá desde el principio (en su extracto menciona: manejar WebSockets, protocolos de chat, protocolos IoT y más. Django siendo asíncrono no proporcionan inherentemente estas funcionalidades). Con el tiempo, Django podría adoptar algunas de estas características, pero supongo que Channels seguirá teniendo su nicho.