Jupyter Notebook es una plataforma web de código abierto que permite crear y compartir documentos interactivos que contienen código, texto, gráficos y otros elementos. Está creada por el Proyecto Jupyter, que es un proyecto Open Source y sin ánimo de lucro creado a partir del proyecto IPython, desde el que evolucionó para dar soporte a otros lenguajes que no fuesen Python y orientarse hacia el mundo del aprendizaje automático y la ciencia de datos:
Jupyter Notebook es una herramienta muy utilizada en el ámbito de la ciencia de datos, el aprendizaje automático y la inteligencia artificial, ya que facilita el desarrollo, la experimentación y la visualización de los resultados de estos campos. Si has visto algo, aunque sea poco, sobre machine learning e inteligencia artificial, es casi seguro que has visto algún ejemplo de notebook de Jupyter, que es el formato de este tipo de documentos y que son archivos con la extensión .ipynb
(de Interactive Python Notebook, aunque hoy en día soportan muchos más lenguajes que Python). Los documentos o notebooks de Jupyter permiten ejecutar el código paso a paso, y ver los resultados al instante, lo que los hace ideales para explorar datos, probar algoritmos o crear prototipos de soluciones basadas en machine learning e inteligencia artificial.
Jupyter Notebook es la herramienta original de Proyecto Jupyter para crear notebooks Jupyter. Pero, de hecho, los notebooks de Jupyter son tan populares y se utilizan tanto que muchos otros entornos ofrecen soporte para crearlos y ejecutarlos: desde GitHub hasta Visual Studio Code, que se ha convertido en uno de los editores más potentes de este tipo de documentos de código interactivos.
Pero seguramente, además, habrás escuchado hablar también de JupyterLab. ¿Qué es? ¿en qué se diferencia de un notebook de Jupyter?
JupyterLab está creado también por el Proyecto Jupyter, pero es una nueva interfaz de usuario para crear notebooks Jupyter. Tiene una estructura modular y ofrece una experiencia más avanzada y similar a un IDE (Entorno Integrado de Desarrollo) en comparación con Jupyter Notebook.
¿Cuáles son las principales diferencias entre Jupyter Notebook y JupyterLab?
Aunque ya ha quedado claro que JupyterLab es un entorno más completo, y por lo tanto más complejo, que Jupyter Notebook, podemos concretar sus diferencias en 4 ámbitos principales:
- Interfaz de usuario: JupyterLab tiene una interfaz más avanzada y flexible en comparación con Jupyter Notebook. En JupyterLab, puedes abrir varios notebooks u otros archivos complementarios (como HTML, texto o Markdown) como pestañas en la misma ventana. Esto permite una mejor organización y navegación de su trabajo. Jupyter Notebook, por otro lado, consta de un explorador de archivos y una vista para editar uno de ellos de cada vez.
- Funcionalidad: JupyterLab ofrece muchas más funciones si lo comparamos con Jupyter Notebook. Tiene una arquitectura modular que permite la integración de varias extensiones, lo que permite mejorar su funcionalidad. JupyterLab también viene con un depurador visual que te permite establecer puntos de interrupción, acceder a funciones e inspeccionar variables de forma interactiva. Jupyter Notebook, por otro lado, tiene un conjunto más simple de características enfocadas en crear y ejecutar cuadernos.
- Facilidad de uso: Jupyter Notebook es mucho más fácil de utilizar, sobre todo para los principiantes ya que tiene una interfaz mucho más simple y un flujo de trabajo más directo, sin florituras y directo al grano. Sin embargo, JupyterLab es también bastante fácil de utilizar y ofrece más flexibilidad y funciones avanzadas. Permite ejecutar más fácilmente tan solo una línea de código (o una selección de ellas) de manera directa, lo que es muy útil para depurar y probar. También proporciona una consola de Python para ejecutar código.
- Visualización de datos: ambas herramientas son compatibles con una gran variedad de bibliotecas y herramientas de visualización de datos, como Matplotlib, Bokeh, Plotly o Vega. Sin embargo, JupyterLab proporciona un entorno más flexible e interactivo para esta tarea, ya que permite trabajar con múltiples visualizaciones de datos al mismo tiempo en pestañas separadas o vistas divididas dentro de la misma ventana, ofrece una mejor integración con todas estas bibliotecas de visualización, lo que facilita la creación, la modificación y la interacción con las visualizaciones, además ofrece colaboración en tiempo real, lo que permite que varios usuarios trabajen en la misma visualización simultáneamente.
¿Cuál debería utilizar?
Tanto JupyterLab como Jupyter Notebook admiten el mismo formato de documento de notebook (.ipynb
). Esto significa que los notebooks creados en uno se pueden abrir y usar en el otro sin ningún problema. Entonces, ¿cuál elegir?:
- Para proyectos complejos de ciencia de datos que requieren navegación, visualización y personalización de códigos avanzados, JupyterLab es más adecuado.
- Para tareas simples de análisis de datos, aprendizaje y creación de prototipos, Jupyter Notebook es más apropiado.
- Para proyectos de aprendizaje automático y proyectos colaborativos, JupyterLab es una mejor opción debido a su visualización avanzada, herramientas de análisis e integración con Git.
- JupyterLab está diseñado para reemplazar al clásico Jupyter Notebook, por lo que, si ya no estás empezando y tienes soltura con los notebooks de Jupyter deberías utilizar JupyterLab para tus futuros proyectos.
En conclusión, para un principiante, quizá comenzar con Jupyter Notebook sea interesante, ya que solo consta de un navegador de archivos y una vista de edición, y es más fácil de usar y de poner en marcha. Posteriormente cambia a JupyterLab, ya que es la interfaz de usuario avanzada que ofrece una experiencia más avanzada y flexible, tiene una estructura modular, admite múltiples tipos de archivos abiertos en pestañas y ofrece más funciones y todo tipo de extensiones. Siempre puedes seguir usando Jupyter Notebook para tareas más simples como la exploración de datos y la creación de prototipos.