Solo programaré para web. Adios al software desktop

Esa es mi decisión.

No quiero programar más software de escritorio, para centrarme en realizar aplicaciones web.

La afirmación suena un poco contundente, pero es mi intención, y aquí explico mis motivos.

Python es mi apuesta como lenguage principal

Python es un lenguaje que se está convirtiendo en los últimos meses en tremendamente popular, por su sencillez, facilidad, y a su vez por su potencia, es open source, y hay mucha gente contribuyendo a que cada día sea más y más potente. Ya expliqué en una entrada anterior que debía haber aprendido antes Python (y no perder el tiempo con C#, cómo estuve casi un año).

Ya os conté que hace muchos años también estuve tentado a aprender Python, cuando estaba en pleno aprendizaje de Visual Basic 6, pero el hecho de que no tuviera una buena librería para aplicaciones visuales me resultaba un “gran” impedimento. Esto sería … 2004 o así.

Ahora que ya estoy bastante suelto programando Python me doy cuenta de que sigue siendo complicado desarrollar aplicaciones visuales.

Tkinter me ha defraudado mucho

Gracias a Pack Pub pude leerme el libro Tkinter GUI Application development, y del que quedé muy sorprendido de que hacer interfaces depende del buen o mal estilo del programador, no de la falta de herramientas. Sin embargo, el hecho de que trabajar con comboboxes y listboxes en Tkinter sea tan farragoso me ha desilusionado … bastante.

Si a este hecho le sumas la complejidad (sí, no es sencillo) para crear formularios y ventanas (aquí podeis ver que probé distintas opciones, y la que más me gustó estaba “asociada” a Visual Basic 6, que encima está en decadencia, gracias a Microsoft, por supuesto!), entenderéis mi decisión.

Lo cierto es que a pesar de todas las críticas que tiene Visual Basic 6, no he conocido ningún entorno de desarrollo que haga más fácil el desarrollo de aplicaciones visuales que éste, porque incluso para C# o VB.Net hay que saber acerca de el código que genera dichos formularios.

Suelo programar HTML5, CSS y Javascript

Aunque nunca me he centrado en la web, porque prefería aplicaciones de escritorio, desde hace varios años programo en HTML5, CSS y Javascript, así que … aplicar mis conocimientos junto con Python no me resulta complicado.En este mismo blog he escrito mucho sobre HTML5, CSS y Javascript, ofreciendo consejos y soluciones, ejemplos de apps, ….

Flask, el elegido

De entre todas las opciones de Python para programar web, he elegido Flask (aunque hay otras opciones, igualmente válidas como Django, Pyramid, Bottle, ….). Los motivos son que es realmente fácil crear aplicaciones usando plantillas HTML5. Para ponerlas bonito, CSS es lo que se usa, y para darle vida, qué mejor que Javascript (básicamente usando jQuery).

Para que todo esté unido, es muy interesante conocer Jinja2, que facilita la interconexión entre Python y HTML5, así que …. con muy poco más, tengo todo lo que necesito para desarrollar apps.

Espero que mis motivos te hayan convencido, o al menos, es mi decisión.