Dropbox es una plataforma basada en la nube para la colaboración, así como el almacenamiento, la sincronización y el intercambio de archivos. Hay clientes nativos de Dropbox para las plataformas PC, Mac, Linux, iOS y Android, así como una interfaz web. Dropbox hace que compartir archivos grandes sea muy fácil, tan fácil como enviar un solo enlace, que es mucho más fácil que usar soluciones antiguas como FTP o enviar archivos por correo electrónico como archivos adjuntos, especialmente cuando los archivos exceden los límites de tamaño de los archivos adjuntos.
El nivel gratuito ofrece una pequeña asignación de almacenamiento (2 GB) que aumenta considerablemente en los niveles Pro, Business y Enterprise. Además del aumento en el almacenamiento, estas opciones de compra también agregan poderosas características adicionales como borrado remoto, permisos granulares y soporte a nivel empresarial.
Una gran cantidad de software realiza la magia detrás de escena y Dropbox enumera todo el código fuente abierto que se utiliza . Sin embargo, la compañía va más allá de la divulgación requerida y ha abierto parte de su propio software desarrollado internamente .
Hay un tema recurrente tanto en el código fuente abierto externo que usa como en el código que ha escrito para sí mismo: Python.
Muchas de esas bibliotecas de código abierto de terceros están escritas en Python, al igual que muchos de los proyectos alojados en su repositorio de GitHub . Python potencia gran parte de la experiencia de Dropbox, tanto en el backend como en el cliente. De hecho, las aplicaciones de cliente de escritorio de Dropbox incluyen una instalación completa del lenguaje Python (versión 2.7).
Entonces, ¿por qué Dropbox eligió Python para impulsar gran parte de su plataforma?
Una charla de PyCon 2011 por un ingeniero de Dropbox proporciona las respuestas:
- Soporte multiplataforma
- Legibilidad
- Facilidad de aprendizaje.
Estos puntos fuertes de Python fueron fundamentales para el rápido y temprano escalado de Dropbox. El ciclo de desarrollo rápido que Python implemento fué posible y crucial para probar e implementar nuevas funciones.
Dado que gran parte de Dropbox se ejecuta en Python, la empresa hace un gran esfuerzo para que ese código sea lo más eficiente posible. De acuerdo con su espíritu de código abierto, Dropbox comparte abiertamente las lecciones aprendidas.
Dropbox está tan decidido a extraer tanto rendimiento de su código Python que en diciembre de 2012, contrató al hombre que creó Python , Guido van Rossum, lejos de Google . Sin duda, la experiencia de Guido se utilizó para crear Pyston, la implementación alternativa de Python de Dropbox , utilizando técnicas JIT ya empleadas en el mundo de JavaScript. Pyston se anunció en abril de 2014, con un lanzamiento en mayo de 2016 que es lo suficientemente compatible con CPython para ejecutar el paquete NumPy.
Dada la enorme inversión de recursos invertidos en Python, es muy dudoso que Dropbox se aleje por completo del lenguaje. Sin embargo, la compañía está migrando un código de back-end crítico para el rendimiento de Python al lenguaje Go de Google . Go es un lenguaje compilado con la velocidad como uno de sus principales puntos fuertes. Este cambio en realidad confirma a Python como un lenguaje de creación de prototipos de clase mundial: si el código de Python no funcionara a escala para empezar, Go no tendría nada que mejorar, porque si no fuera por Python, Dropbox no habría durado mucho. lo suficiente o lo suficientemente exitoso como para enfrentar este problema.
Dropbox elimina la molestia de sincronizar y compartir nuestros archivos entre dispositivos con la ayuda de la nube. Python ha mantenido esa nube en alto durante nueve años.