A2A .
Bueno, Flask es un marco de Python para sistemas de back-end, por lo que prácticamente lo implementa como implementa cualquier código de Python.
Dado que Flask admite una API RESTful (Transferencia de estado representativa), puede optar por front-end con una página web, aplicaciones de dispositivos móviles o programas de escritorio completos (muchos juegos basados en web con requisitos de descarga del cliente usan tales API).
- ¿Qué cosas se pueden hacer en Objective-C pero no en Swift?
- Cómo hacer una aplicación de reproductor de música simple para Android e iOS
- ¿Por qué el iPhone 4 no puede actualizarse desde iOS 7?
- Cómo vender mi primer código fuente del juego iOS
- ¿Por qué elegir dispositivos iOS en lugar de Android?
Por lo general, transfiere fragmentos de datos que representan el estado del objeto entre la aplicación y el sistema de fondo, utilizando cifrado integrado e interfaces de inicio de sesión a través de HTTPS.
Entonces, por ejemplo, si quisieras interactuar con la API Graph de Facebook o la API de Twitter, lo harías a través de una API RESTful. Por lo general, esto se realiza lanzando objetos Jinja2 o JSON (en capas sobre la API RESTful), como un mecanismo de transporte. A Flask le gusta Jinja2, mientras que a Facebook le gusta JSON (que puede rellenar desde una plantilla Jinja2, por lo que son compatibles).
No usarás Swift en el back-end: no va a suceder . Si bien puede ser divertido contemplarlo, y tal vez, incluso trabajar en adaptar el idioma al backend, todavía no hay forma de que esté allí, y tampoco hay mucho interés de Apple para lograrlo.
Si está interesado, hay un tutorial OK sobre el uso de JSON de Swift disponible aquí: Tutorial de Swift: Trabajar con JSON.
Tenga en cuenta que no es lo más natural del mundo usar JSON de Jinja2, ya que es probable que tenga que lidiar con la recursividad para hacer las cosas en el servidor. Esto va a tener dos inconvenientes principales:
- La recursividad aumenta la profundidad de la pila y tiende a tomar tiempo lineal; no habrá un acceso directo acelerado, y la profundidad de la pila equivale a la utilización de la memoria en el servidor
- Debido a que es Python, terminará teniendo que lanzar más hardware en la parte posterior para escalar; Si bien está bien comenzar, por ejemplo, Amazon admite la implementación de una aplicación de frasco en AWS Elastic Beanstalk, para escalar realmente, realmente tendrá que cambiar a un idioma compilado.
Ese último punto es clave: Facebook pudo salirse con la suya usando muchos menos servidores, lo que significa menos gasto en el backend al escalar (usan una tecnología llamada HipHop para PHP para traducir el código a C ++; Facebook prefiere PHP a Python).
Aquí hay un punto de referencia que muestra que PHP 7.0 es aproximadamente 3 veces más rápido que Python, pero el código compilado de C ++ es aproximadamente 7 veces más rápido que PHP 7.0, o aproximadamente 21 veces más rápido que Python.
Obviamente, su kilometraje puede variar, pero tenga en cuenta que si necesita escalar rápidamente, su billetera se derramará sobre las máquinas en su centro de datos, o se desbordará por el costo de crear un traductor de Python a C ++, tal como decidió Facebook tuvieron que crear un traductor de PHP a C ++.
Así que le advertiré que está sacrificando la escalabilidad de un solo servidor por la velocidad de implementación, al elegir Flask, y tendrá un trabajo interesante por delante para lograr que el protocolo se rompa a través del límite de transferencia de datos JSON, en lugar de donde Jinja2 quiere romper EL limite.