Haciendo una app de notas con Python y Flet

Haciendo una app de notas con Python y Flet

Autor: Ing. Ernesto Luckie


 

Estaba el otro día algo aburrido y con las ideas en mi mente revueltas, así que pensé: ¿debería anotar todas mis actividades, así como ideas en un lugar?, ¿qué lugar puede ser ese?

Al inicio intenté utilizar una app de tipo Markdown como Notion u Obsidian, ambas son muy buenas. Pero soy programador y me gusta complicarme la vida, así que decidí programar mi propia app para llevar mis notas conmigo y que se adapte a mis necesidades.

No está nada fácil, pero sí muy divertido. Quédate que te lo cuento…

 

¿Qué es lo que quiero conseguir?

Un programa que me permita realizar apuntes en formato .txt y .md de la manera más sensilla posible; también quiero que me permite exportar .md a .html: es para escribir y quiero aprovechar para escribir los artículos de este blog.

Evidentemente sabría que no sería nada sencillo, así que me propuse una ruta de desarrollo: pasos a seguir de menos a más.

  1. Escoger el lenguaje de programación y librería o framework.
  2. Aprender a utilizar dichas herramientas.
  3. Desarrollar una interfaz inicial que permita al usuario crear una nota recíen inicia el programa; así como un menú que permita realizar otras opciones: crear nuevo y abrir archivo.
  4. Desarrollar otra interfaz que soporte la edición y reescritura de un archivo abierto.
  5. Agregar temas claro, cálido y oscuro.
  6. Una vez guardado el archivo, o al abrir un archivo ya existente, el guardado será automático.

 

Tecnologías aplicadas:

Para desarrollar esta aplicación quise utilizar el lenguaje de programación en el que soy mejor: Python. También consideré Flutter o Kotlin, pero supuse que me tardaría mucho más en desarrollar esta app solamente aprendiendo a utilizarla.

En Python existen varías librerías y frameworks para el desarrollo de interfaces de usuario:

  • TKinter
  • PyQt
  • entre muchas más… entre las que se encuentra Flet.

Flet resultó ser una buena opción dado que mi objetivo a mediano plazo es aprender Flutter (primero debo terminar una maestría). Estuve leyendo la documentación y parece una versión más minimalista de Flutter, no cuenta con todas las “features”, pero es muy fácil de aprender y permite programar para Windows, Mac, Linux, iOS y Android. Así que mala idea no es…

 

Resultados: ¿qué es lo que llevo al momento?

Realizar una app para que funcione en múltiples plataformas es una locura. Estoy trabajando con Window 11 y MacOS, y me he encontrado con problemas en uno que soluciono y aparecen otros en el otro sistema operativo. Incluso solucioné un problema que tenía en Windows programando en MacOS y no sé como jajajaja

Tras 2 semanas de desarrollo y tener que empezar de cero cuando el programa ya era bueno, pero no estaba convencido del todo.

Por fín, tengo una app que me permite crear un archivo .txt apenas inicializa, o la opción de abrir otro archivo .txt.

Cómo sea, Flet es una tecnología muy simple y sencilla, cumple con funciones básicas para crear esas interfaces o, incluso, buenas páginas web para presentar un trabajo, un currículum, blogs; pero no podría asignar un proyecto de mediana o gran escala.

Sí me he topado con diversos problemas a los que aún no he resulto.

  • Crear archivos nuevos: En windows fue fácil, pero en MacOS… no tanto. Eso hizo que tuviera que desechar mucho código.
  • Poder abrir archivos con click derecho y escoger “abrir con” ⇒ “Aware agenda”.
  • El tema claro, oscuro y cálido solo lo podía cambiar en la primera iteración del programa, aún tengo que arreglarlo.

 

En conclusión:

¡Que pedazo de aplicación estamos desarrollando! Honestamente me ha gustado y se ha convertido en mi pasatiempo favorito en estas últimas semanas.

Sé que aún le queda muy y tengan por seguro que les estaré compartiendo la primera versión estable (la 2.1.0) que será la que cumpla los requisítos mínimos para crear, abrir y guardar archivos .txt.

Les aseguro que será una app muy útil en su galería de herramientas.

Cómo siempre, muchas gracias por leer. ¿Qué te pareció? Déja tu comentario en la sección de comentarios, estaré encantado de leerte.

Yo soy Ernesto Luckie y hasta la próxima!

Esta es una página en la que hablamos de tecnología y cómo esta puede usarse para mejorar nuestra calidad de vida.

  • Vlogs
  • Artículos
  • Shorts
  • Gameplays
  • Y hasta pequeñas contribuciones de mi para ti

!https://static.xx.fbcdn.net/images/emoji.php/v9/t9f/1/16/1f61b.png

Aquí aprenderás, te divertirás, y si te lo propones, inventarás... No olvides seguirnos en nuestros otros medios, como:

También puedes acceder a mi tienda en línea donde encontrarás gadgets, componentes electrónicos, proyectos, módulos, domótica, impresión 3D y demás... Entra a https://kalecon.com

Translation missing: es.blogs.article.previous_blog Translation missing: es.blogs.article.next_blog