El Ecosistema de Python tiene una amplia gama de bibliotecas que cubren casi todos los aspectos del desarrollo de software. Lo que es particularmente interesante es que algunas de esas bibliotecas también incluyen herramientas para compilar Python en código nativo para plataformas móviles específicas como iOS y Android. Sí, has oído bien! Es posible usar Python para crear aplicaciones móviles nativas.
¿Por qué Python para el desarrollo móvil?, Python es bien conocido por su legibilidad y facilidad de uso, lo que puede traducirse en un desarrollo más rápido, un gran beneficio en el mercado móvil, donde la velocidad al mercado es fundamental para ganar y mantener la cuota de mercado. Por otro lado, Ni Android ni iOS admiten lenguajes interpretados, lo que significa que no pueden ejecutar aplicaciones Python de forma nativa. Ahí es donde una serie de frameworks cierran la brecha para permitir que las aplicaciones Python se ejecuten en dispositivos móviles con un aspecto nativo.,
en este tutorial, vamos a:
- Identificar los frameworks más populares para el desarrollo móvil multiplataforma en Python
- Aprender a crear una aplicación simple para iOS usando frameworks de Python
- entender los pros y los contras de usar un framework de Python frente a herramientas nativas de iOS o Android
comencemos.
marcos móviles multiplataforma para Python
cuando se trata de desarrollar aplicaciones móviles multiplataforma que admitan Plataformas Android e iOS utilizando Python, hay dos opciones principales: Kivy y BeeWare.,
Kivy
Kivy se promociona como una biblioteca Python de código abierto para el desarrollo rápido de aplicaciones de interfaz de usuario multiplataforma. Tiene un motor gráfico construido sobre OpenGL, por lo que puede manejar cargas de trabajo vinculadas a GPU cuando sea necesario. También tiene un proyecto de python a android que le permite portar aplicaciones Python a Android. Tiene un kit de herramientas similar para iOS, aunque los paquetes para iOS solo se pueden generar con Python 2.7 en este momento.,
BeeWare
BeeWare es otro popular conjunto de herramientas que le permiten escribir aplicaciones en Python y compilarlas para su implementación en varios sistemas operativos, incluidos macOS, Windows y Linux GTK, así como plataformas móviles como Android e iOS.
por ejemplo, hay una herramienta llamada briefcase que le permite crear placas de cocción de proyectos para aplicaciones nativas específicas. Rubicon-C y Rubicon-Java también proporcionan interfaces de puente para usar Python para llamar a los enlaces Objective-C y Java, respectivamente.,
el repositorio principal de BeeWare parece actualizarse regularmente, y también proporcionan soporte comercial que incluye capacitación, consultoría y soporte técnico.
aplicación móvil Python con BeeWare
para probar BeeWare toolkit, vamos a crear una aplicación móvil básica que haga algo simple como seleccionar el especial de cafetería de hoy elegido aleatoriamente de una lista pre-poblada.,
primero, comenzamos creando un nuevo entorno de desarrollo python3:
$ python3 -m venv .env
luego, instalamos la herramienta de maletín que nos ayudará a crear el código repetitivo del proyecto:
$ pip3 install briefcase
a continuación, usamos la herramienta de maletín para crear un nuevo proyecto:
$ briefcase new
briefcase proporciona una forma interactiva de ayudarlo a crear su proyecto solicitándole información clave:
al finalizar, puede ejecutar el proyecto que se generó para ver la representación de la aplicación nativa (Mac o Windows)., En este caso, se muestra una ventana modal vacía:
$ cd foodTracker$ briefcase dev
dado que queremos que nuestra aplicación se ejecute en un dispositivo iOS, necesitamos usar el siguiente comando dentro del proyecto:
$ briefcase create iOS
en este punto, necesitamos instalar herramientas de desarrollo de aplicaciones de Apple (Xcode) con el fin de proceder.
una vez que Xcode está en su lugar, podemos editar el archivo src/foodtracker/app.py y reemplace la repetición con código que implementa nuestra aplicación» daily special»:
como puede ver, se usa código de estilo imperativo para construir los elementos de la ventana., Agregamos un elemento main box para contener todos los elementos secundarios. Usando composición, agregamos un botón y otro cuadro de mensaje que contiene un campo de texto de solo lectura. Cuando un usuario hace clic en el botón, mostrará una receta aleatoria en el campo de texto.
finalmente, definimos la ventana principal y sus propiedades en las últimas 3 líneas del método de inicio.
ahora podemos construir nuestro proyecto:
$ briefcase build iOS
para ver cómo se ve nuestra aplicación en nuestro escritorio, podemos usar Xcode para abrir el proyecto y ejecutarlo en un emulador de iOS.,716b536″>
esto es lo que veremos cuando ejecutemos el emulador:
tenga en cuenta que cada vez que cambiemos nuestro código, necesitaremos ejecutar los siguientes comandos para ver los cambios en el emulador:
$ briefcase update iOS$ briefcase build iOS$ briefcase run iOS
Python Mobile Tooling vs Native tooling
ahora que hemos visto algunos ejemplos de creación y construcción de aplicaciones móviles simples con Python, surge una pregunta realmente importante:
¿por qué debería invertir en escribir aplicaciones móviles Python en lugar de usar lenguajes móviles estándar como Java o SWIFT?,
para responder a eso, necesitamos discutir los pros y los contras de usar Python para el desarrollo móvil.
Pros:
- El Poder de Python: podemos aprovechar el poder de Python y su ecosistema con los frameworks Kivi y BeeWare. Esto demuestra ser una ventaja considerable si usted y su equipo de desarrollo ya están familiarizados con Python, y solo necesitan portar sus aplicaciones existentes a plataformas móviles.
- soporte multiplataforma: esto significa que escribimos nuestra aplicación una vez y luego la compilamos para diferentes plataformas, promoviendo la reutilización.,
contras:
- Tiempo de compilación más lento: parece que el bucle de desarrollo es más largo de lo habitual debido a la necesidad de ejecutar herramientas adicionales al cambiar algo en nuestro código. Sin embargo, esto podría mejorarse en el futuro con integraciones de herramientas o scripts de automatización.
- menos funciones compatibles: Google y Apple siempre promoverán sus herramientas nativas primero sobre las alternativas. Los usuarios de frameworks no nativos estarán limitados por cualquiera que sea la versión más reciente de (por ejemplo) Kivy/BeeWare haya implementado., Usted tendrá que estar en la parte superior de la lista de problemas actuales y las limitaciones de la versión actual con el fin de resolver cualquier problema que está viendo de una manera rápida.
- inconsistencia: como no todas las características son compatibles, habrá inconsistencias entre diferentes plataformas. Por ejemplo, es posible que tenga un diseño que se muestre de manera diferente en Android frente a iOS. Por lo tanto, es posible que tenga que implementar muchas soluciones para hacer que los diseños sean consistentes.
en general, el uso de código imperativo para describir las interfaces de usuario requiere más esfuerzo., Esos flujos de trabajo suelen ser más fáciles de implementar dentro de los editores integrados de Apple Xcode o Android Studio.
sin embargo, hay ventajas significativas de reutilización de código en ir con Python para un trabajo como este, y hay muchas aplicaciones escritas en Python que puede usar como ejemplos.
si su organización está considerando escribir aplicaciones en Python y compilarlas en plataformas nativas como iOS o Android, debe evaluar cuidadosamente los pros y los contras antes de Continuar.,
próximos pasos
para comenzar con los marcos de desarrollo móvil en esta publicación, cree una cuenta gratuita de ActiveState Platform y luego descargue nuestra compilación de «Desarrollo Móvil». La compilación contiene una versión de Python 3.7 y los frameworks en este post para que puedas probarlos por ti mismo.
Nota: la forma más sencilla de instalar el entorno es instalar primero la interfaz de línea de comandos (CLI) de la plataforma ActiveState, la herramienta de Estado.,
una vez instalada la herramienta de Estado, simplemente ejecute el siguiente comando para descargar la compilación e instalarla automáticamente en un entorno virtual:state activate Pizza-Team/Mobile-Development
Blogs relacionados:
Los 10 mejores Frameworks de Python para Desarrollo Web
los 10 mejores paquetes de Python que todo desarrollador debe aprender