Conecta con nosotros

Noticias

Las apps para Android desarrolladas en Python pueden ser realidad antes de lo que crees

Publicado el

Las apps para Android desarrolladas en Python pueden ser realidad antes de lo que crees

Python es un lenguaje de programación cada día más popular entre los desarrolladores. No solo por sus características, sino también porque está ganando cada vez más importancia en sectores como el machine learning. Pero hasta ahora hay un área que se le resiste: el desarrollo para móviles, ya que en los dispositivos portátiles no se pueden ejecutar aplicaciones en Python. O al menos, hasta ahora, porque la llegada de apps desarrolladas en Python de forma nativa que puedan ejecutarse en iOS y Android puede estar más cerca. Al menos, para este último sistema operativo.

Todo gracias a un proyecto open source llamado BeeWare, que está portando CPython a Android, de forma que las apps desarrolladas en este lenguaje se puedan ejecutar de forma nativa en un dispositivo con Android. Russel Keith-Magee, que está al frente del proyecto según Zdnet, ya anunció el pasado mes de febrero, en el Python Language Summit 2020 celebrado online, el primer gran avance del proyecto después de conseguir que una app en Python puro se ejecutase en un equipo con Android.

BeeWare tiene como finalidad conseguir que los desarrolladores puedan codificar apps en Python y hacer que ese código pueda ejecutarse en cualquier sistema mediante widgets de interfaz de usuario. Por eso quiere ayudar a los desarrolladores a crear apps en este lenguaje con el mismo código base para que funcionen en iOS, Android, Windows, MacOS, Linux o en los navegadores.

Cpython es la implementación de referencia del lenguaje que usan otras implementaciones, como Jython, desarrollado en Java y que utiliza una máquina virtual de Java. Pero aunque Python está pensado para Escritorio, no lo está para móviles. Para acabar con esta situación, el año pasado, la Python Software Foundation concedió al proyecto BeeWare una beca de 50.000 dólares para llevar al mismo nivel su compatibilidad con Android con sus herramientas para iOS. El portado de CPython para Android logrado después es compatible con la mayoría de dispositivos hardware con Android 4.4 o superior.

A. Jesse Jirvu Davis, ingeniero en MongoDB y colaborador de Python, ha subrayado que uno de los principales obstáculos para conseguir esto era el tamaño de las apps desarrolladas en Python para Android, dado que necesitan su propia copia del entorno de ejecución del lenguaje, lo que implica que debe reducirse para los móviles. Algunos sugieren acabar con el problema mediante la creación de una versión sin elementos superfluos del kernel de Python. Keith-Magee cree que esto podría solucionar muchos de los problemas de Python para móviles, pero en combinación con un paquete instalador que permita a los desarrolladores instalar paquetes para una plataforma objetivo en vez de solo el sistema en el que se ejecuta.

Según Davis, «para la mayoría de programadores habituales de Python, el entorno móvil es como un planeta extraterrestre. No hay subprocesos; y los sockets o señales se comportan de forma diferente a como lo hacen en un Unix convencional«. Además, la mayoría de llamadas al sistema están prohibidas. Esto, unido a que en el desarrollo para entornos móviles «la gestión de certificados TLS para Android es particularmente extraña«, los desarrolladores deben plantearse seriamente cómo tener todo esto en cuenta al mismo tiempo que se hacen los cambios necesarios para integrar todas estas particularidades en CPython. Así que el siguiente paso es saber si los desarrolladores de CPython estarán interesados en llevar Python móvil al núcleo del lenguaje.

Las buenas noticias al respecto residen en que Rossum ha declarado que apoya el soporte para móviles a largo plazo, pero aun así habrá obstáculos de cierta importancia para conseguirlo. Según uno de los principales desarrolladores del lenguaje, Ned Deily, proporcionar soporte móvil hará necesario conseguir más dinero y contar con más gente que la que tienen otras iniciativas de Python. Además, Python tiene otro problema: «no hay financiación corporativa para Python en móvil, porque Python ahora mismo no soporta móviles, así que no hay nadie que confíe en Python móvil lo bastante motivado como para financiarlo«.

Redactora de tecnología con más de 15 años de experiencia, salté del papel a la Red y ya no me muevo de ella. Inquieta y curiosa por naturaleza, siempre estoy al día de lo que pasa en el sector.

Lo más leído