martes, 10 de octubre de 2023

Diferencia entre una API y una Aplicación Móvil: ¿Cuál es la elección correcta?




En el mundo digital actual, las aplicaciones móviles y las APIs (Interfaces de Programación de Aplicaciones) desempeñan un papel fundamental en la forma en que interactuamos con la tecnología. Sin embargo, es esencial entender las diferencias clave entre estas dos soluciones antes de decidir cuál es la adecuada para tu proyecto. En esta entrada de blog, exploraremos estas diferencias y también compararemos la experiencia de subir una API en PythonAnywhere con Django y desplegar una aplicación con Java y XML en Android Studio.

Diferencia entre una API y una Aplicación Móvil

API (Interfaces de Programación de Aplicaciones):

Una API es un conjunto de reglas y protocolos que permite que diferentes aplicaciones se comuniquen entre sí. Por lo general, se utiliza para compartir datos o funcionalidades entre aplicaciones o servicios. Aquí hay algunas características clave de las APIs:

Característica Descripción
Comunicación Facilita la comunicación entre aplicaciones y servicios.
Interfaz Proporciona un conjunto de endpoints y métodos para acceder a datos o funciones.
Flexibilidad Puede ser utilizada en múltiples plataformas y lenguajes de programación.
Orientada a datos o servicios Suelen utilizarse para obtener o enviar información.

Aplicación Móvil:

Una aplicación móvil es un software diseñado específicamente para dispositivos móviles, como teléfonos inteligentes y tabletas. Estas aplicaciones se instalan en el dispositivo del usuario y suelen ofrecer una interfaz de usuario gráfica. A continuación, algunas características clave de las aplicaciones móviles:

Característica Descripción
Interfaz de usuario Ofrece una experiencia de usuario rica y visual.
Instalación en el dispositivo Se descarga e instala en el dispositivo del usuario.
Funcionalidad específica Diseñada para realizar tareas específicas o funciones complejas.
Plataforma específica Generalmente se desarrolla para una plataforma específica, como iOS o Android.

Experiencia de Subir una API en PythonAnywhere con Django

Por una parte, Django es un framework de Python que permite generar APIs que agrupan componentes frontend desde el lado del usuario (generalmente en html, Javascript y css) y un backend desde el lado del servidor (Python y bases de datos SQLite integradas al procesamiento de un host en la nube como WSGI http). 

Básicamente una API en Django cuenta con el archivo settings.py que confirgura el proyecto en sí (junto a los parámetros de seguridad, migraciones y redireccionamientos), urls.py que determina cuales son las funciones que se deben desplegar hacia el frontend, views.py que trabaja con todo el flujo de trabajo backend y, por supuesto, el archivo de interfaz.

Una vez empiezas a interactuar con PythonAnywhere, en un principio te puede parecer abrumador el hecho que tengas que trabajar con una estructura de archivos interconectados a manera de árbol, y que se gestionan desde una consola en lenguaje Linux. Puedes crear un solo proyecto con la cuenta gratuita, pero con la garantía que contarás con los requerimientos necesarios para una API sencilla. Del mismo modo, se permite el escalamiento paulatino del desarrollo a través de planes pagos flexibles.

Experiencia de Desplegar una Aplicación con Java y XML en Android Studio

Por otra parte, luego de intentar con mucho esfuerzo trabajar una app móvil desde el lenguaje de programación Python con la librería Kivy y el compilador Buildozer que se integra con una máquina virtual Ubuntu en Linux, opté por la combinación de backend en Java con frontend en XML que ofrece Android Studio (de verdad recomendable para evitar errores de despliegue del archivo APK resultante).

Me pareció curiosa la gran similitud que tiene la interfaz de Android Studio con el IDE de Python PyCharm. Se pueden alternar entre vistas de diseño y de código por texto, además que permite el pair programming (es decir, que el mismo programa te va diciendo los errores que vas cometiendo y te presenta sugerencias de mejora en el código).

El despliegue de apps móviles usando este programa de escritorio es super sencillo pues contiene a Bundle con todas las dependencias necesarias, lo cual garantiza alta compatibilidad con la mayoría de tekéfonos inteligentes en el mercado. Otra cuestión importante es que pese a su limitante como programa de desarrollo nativo y exclusivo para Android (en contrapartida a las API multiplataforma), permite la interacción con los sensores y periféricos del dispositivo (como la cámara, el micrófono, el GPS, el lector de huellas, etc). Finalmente, recalco que soporta la publicación de la App en Google Play Store.

Para concluir...

En resumen, la elección entre una API y una aplicación móvil depende de tus objetivos y requisitos específicos. Las APIs son ideales para compartir datos y funcionalidades entre aplicaciones, mientras que las aplicaciones móviles ofrecen una experiencia de usuario rica y pueden aprovechar las capacidades del dispositivo. Sea cual sea tu elección, las herramientas como PythonAnywhere y Android Studio hacen que el desarrollo y despliegue sean más accesibles que nunca.

miércoles, 23 de noviembre de 2022

Futura con Sedofe para tutoriales de diseño en YouTube


Futura Diseños en colaboración con la empresa española Sedofe Packaging y Promociones Gráficas, han decidido lanzar una lista de reproducción en YouTube, en la cual se irán explicando varios procesos gráficos en plataformas digitales como Illustrator, Photoshop e InDesign, con el objetivo de luego hacer sus respectivos procesos de impresión tanto doméstica como industrial.

En este espacio se estará actualizando dicha playlist cada vez que se lance un video nuevo. Así que, ¡a aprender!
© Futura Diseños
Maira Gall