¿Cómo construir un backend para NativeScript?
En este tutorial, aprenderás cómo construir un backend para NativeScript utilizando Back4app, una plataforma de código abierto que simplifica el desarrollo de backend para aplicaciones móviles.
Recorreremos la integración de características esenciales de Back4app—como la gestión de bases de datos, funciones de Cloud Code, puntos finales de API REST y GraphQL, autenticación de usuarios y consultas en tiempo real (Consultas en Vivo)—para crear un backend seguro y escalable para tus aplicaciones de NativeScript.
También descubrirás cómo Back4app reduce drásticamente el tiempo de configuración en comparación con las configuraciones manuales de servidores y bases de datos.
Exploraremos mecanismos de seguridad avanzados, programación de tareas con Cloud Jobs y el uso de webhooks para conectarnos con servicios de terceros.
Al final de esta guía, tendrás un backend flexible que aprovecha NativeScript Core, que impulsa las soluciones móviles multiplataforma de NativeScript.
Con esta base, estarás listo para integrar tu propia lógica personalizada o APIs externas según sea necesario. Este será un gran paso hacia el desarrollo de aplicaciones NativeScript listas para producción.
- Una cuenta de Back4app y un nuevo proyecto de Back4app Comenzando con Back4app. Si no tienes una cuenta, puedes crear una gratis. Sigue la guía anterior para preparar tu proyecto.
- Entorno de desarrollo básico de NativeScript Puedes configurarlo utilizando el CLI de NativeScript o otro flujo de trabajo preferido. Guía de inicio de NativeScript.
- Node.js (versión 14 o superior) instalado Necesitarás Node.js para instalar paquetes npm y ejecutar el CLI de NativeScript. Instalando Node.js
- Familiaridad con JavaScript y NativeScript Core Documentación oficial de NativeScript. Si eres nuevo en NativeScript, revisa la documentación oficial o un tutorial para principiantes antes de comenzar.
Asegúrate de tener todos estos requisitos previos en su lugar antes de comenzar. Tener tu proyecto de Back4app configurado y tu entorno local de NativeScript listo te ayudará a seguir más fácilmente.
El primer paso para construir tu backend de NativeScript en Back4app es crear un nuevo proyecto. Si aún no lo has hecho, sigue estos pasos:
- Inicia sesión en tu cuenta de Back4app.
- Haz clic en el botón “Nueva Aplicación” en tu panel de control de Back4app.
- Dale un nombre a tu aplicación (por ejemplo, “NativeScript-Backend-Tutorial”).
Después de crear el proyecto, lo verás listado en tu panel de control de Back4app. Este proyecto servirá como la base para todas las configuraciones de backend cubiertas en este tutorial.
Back4app utiliza la Plataforma Parse para manejar tus datos, funcionalidad en tiempo real, autenticación de usuarios y más. Para conectar tu aplicación de NativeScript a Back4app, instala el parse paquete npm e inicialízalo con las credenciales que obtienes de tu panel de control de Back4app.
Recupera tus Claves de Parse: En tu panel de control de Back4app, ve a la sección “Configuración de la Aplicación” o “Seguridad y Claves” de tu aplicación. Busca tu ID de Aplicación, Clave de JavaScript, y URL del Servidor Parse (en el formato https://parseapi.back4app.com).
Instalar el SDK de Parse:
Luego, inicializa Parse en un archivo de configuración o tu archivo de entrada principal (por ejemplo, app.js). Por ejemplo, podrías crear un archivo llamado parseConfig.js en un proyecto basado en NativeScript:
Siempre que necesites acceder a Parse en tu aplicación NativeScript, simplemente importa este archivo. Al completar este paso, has establecido una conexión segura entre tu frontend de NativeScript y el backend de Back4app, simplificando las operaciones de datos.
Con tu proyecto de Back4app listo y el SDK de Parse integrado, puedes guardar y consultar datos desde tu aplicación NativeScript. A continuación se muestra un ejemplo utilizando la Parse.Object clase para guardar y obtener una lista de elementos:
También puedes usar la API REST de Back4app si prefieres llamadas HTTP directas:
O usa GraphQL:
Esta flexibilidad hace que sea conveniente construir características de backend para tus aplicaciones de NativeScript a través del SDK de Parse, REST o los puntos finales de la API de GraphQL.
Por defecto, Parse puede crear esquemas automáticamente sobre la marcha, o puedes definir tus clases y tipos de datos en el panel de control de Back4app:
- Ve a la sección “Base de datos” en tu panel de control de Back4app.
- Crea una nueva clase (por ejemplo, “Tarea”) y agrega columnas como título (String) y isCompleted (Boolean).
Back4app soporta tipos de datos como String, Number, Boolean, Object, Date, File, Pointer, Array, Relation, GeoPoint, y Polygon. Puedes dejar que Parse cree estas columnas cuando guardes un objeto por primera vez o definirlas para tener más control.
Usar el Agente AI de Back4app también puede ayudarte a generar esquemas automáticamente:
- Abre el Agente AI en el panel de control de tu aplicación.
- Describe tu modelo de datos deseado (por ejemplo, “Por favor, crea una nueva clase de Tarea para aplicaciones móviles con campos isCompleted y dueDate.”).
- Deja que el agente cree el esquema automáticamente.
Si deseas datos relacionales—como un objeto Categoría que apunta a múltiples Tareas—usa Punteros o Relaciones en Parse:
Este enfoque te ayuda a obtener datos completos para una Tarea y su Categoría relacionada en una sola consulta.
Para actualizaciones en tiempo real, habilita Consultas en Vivo en Configuraciones del Servidor en el panel de control de Back4app. Los desarrolladores de NativeScript pueden suscribirse a cambios en una clase específica. Actualiza tu configuración de Parse para incluir una URL de servidor de Consultas en Vivo:
Y luego suscríbete a eventos en tiempo real:
Esta suscripción actualiza automáticamente su interfaz de usuario cada vez que se agrega, modifica o elimina una Tarea, perfecto para aplicaciones colaborativas en tiempo real de NativeScript.
Back4app incorpora Listas de Control de Acceso (ACLs) y Permisos a Nivel de Clase (CLPs) para proteger sus datos. Estos modelos de seguridad le permiten controlar el acceso de lectura/escritura tanto a nivel de clase como de objeto.
Una ACL establece permisos para cada objeto. Por ejemplo, para dar solo al propietario acceso de lectura y escritura:
Esto asegura que solo el usuario especificado pueda modificar o leer el objeto.
Los CLPs establecen los permisos predeterminados para toda una clase:
- Abre la Base de Datos en Back4app y selecciona la clase relevante.
- Accede a los Permisos a Nivel de Clase.
- Ajusta los permisos para el público, usuarios autenticados o roles específicos según sea necesario.
Combinar ACLs y CLPs ofrece un modelo de seguridad sólido para aplicaciones de NativeScript. Para más información, consulta Directrices de Seguridad de la Aplicación.
El Código en la Nube te permite ejecutar código JavaScript personalizado en el lado del servidor, por lo que no necesitas mantener la infraestructura tú mismo. Esto es ideal para agregar lógica avanzada o integraciones solo en el servidor en tu backend de NativeScript.
Normalmente colocas tu Código en la Nube (funciones de JavaScript, triggers y cualquier módulo NPM requerido) en un main.js archivo. Luego lo despliegas en Back4app, y se ejecuta en el entorno del Servidor Parse sin configuración adicional del servidor.
Ejemplo de Estructura de main.js:
Puedes instalar y usar paquetes NPM como axios para solicitudes HTTP. Este enfoque permite una amplia gama de integraciones, desde pasarelas de pago hasta APIs externas, todo detrás de la seguridad de tu aplicación Back4app.
- Lógica de Negocios: Cálculos automáticos, transformaciones de datos o actualizaciones de estado.
- Validaciones de Datos: Asegúrate de que los campos requeridos estén presentes antes de guardar.
- Triggers: Ejecuta código cuando se crea, actualiza o elimina datos.
- Integraciones: Conéctate con servicios externos para pagos, análisis o mensajería.
- Aplicación de Seguridad: Valida los datos entrantes o los roles de usuario antes de continuar.
Aquí hay una función simple que calcula la longitud del texto:
Desplegando a través de Back4app CLI:
- Instalar el CLI:
Para Windows, descarga el b4a.exe archivo de la página de lanzamientos.
- Configura tu clave de cuenta:
- Despliega tu código en la nube:
Desplegando a través del Panel de Control:
- Ve a Cloud Code > Functions en tu panel.
- Pega tu código de función en main.js.
- Haz clic en Desplegar.
Desde tu aplicación NativeScript usando el SDK de Parse:
También puedes llamarlo usando REST o GraphQL:
Esto te brinda una forma flexible de integrar lógica del lado del servidor en tus aplicaciones móviles basadas en NativeScript.
Back4app utiliza la clase Parse User para manejar la autenticación, que incluye el hash de contraseñas, tokens de sesión y más. Esto elimina gran parte de la complejidad asociada con la gestión de cuentas de usuario.
En tu aplicación NativeScript, puedes crear un nuevo usuario:
Un ejemplo de REST podría verse así:
Después de iniciar sesión, Parse asigna un token de sesión al usuario. Para verificar el usuario actualmente conectado:
Cerrar sesión es simple:
Parse también se integra con proveedores de OAuth como Google o Facebook. La configuración varía según el proveedor, así que consulta Iniciar Sesión con Apple y Otros para más detalles. Por ejemplo, con Facebook:
Habilita estas funciones en tu panel de Back4app:
- Navega a Configuración de Correo Electrónico en tu aplicación de Back4app.
- Habilita la verificación de correo electrónico y restablecimiento de contraseña.
- Configura tus plantillas de correo electrónico y la dirección “De”.
Back4app soporta la gestión de archivos a través de la Parse.File clase. En NativeScript, puedes subir imágenes o documentos de manera similar:
Puedes recuperar la URL del archivo desde el objeto guardado:
Parse Server te permite configurar la seguridad de la subida de archivos:
Esto asegura que puedes limitar o permitir las subidas de archivos según tus preferencias de seguridad.
Trabajos en la Nube te ayudan a automatizar tareas rutinarias, como eliminar registros obsoletos o enviar notificaciones. Por ejemplo:
- Desplegar este trabajo a través de CLI o el panel de control.
- En el Panel de Control de Back4app > Configuraciones del Servidor > Trabajos en Segundo Plano, prográmalo para que se ejecute diariamente o en un intervalo de tu elección.
Webhooks te permiten enviar solicitudes HTTP a servicios externos cuando ocurren ciertos eventos en tu aplicación, como nuevos registros o registros de usuarios. Esto se puede usar para integrarse con Slack, pasarelas de pago o plataformas de análisis.
- Ve a la configuración de Webhooks en tu panel de control de Back4app y selecciona Agregar Webhook.
- Agrega tu endpoint URL (por ejemplo, https://your-service.com/webhook).
- Configura disparadores para clases o eventos específicos.
También puedes definir webhooks en Cloud Code o llamar a APIs externas directamente en disparadores como beforeSave o afterSave.
El Back4app Admin App es una interfaz centrada en el modelo y fácil de usar para la gestión de datos. Ayuda a equipos o usuarios no técnicos a realizar operaciones CRUD, crear paneles personalizados y gestionar tareas a nivel empresarial sin necesidad de escribir código.
- En tu App Dashboard, haz clic en Más > Aplicación de Administración.
- Habilitar Aplicación de Administración.
Crea un primer usuario administrador (nombre de usuario/contraseña). Esta configuración añade el B4aAdminUser rol y las clases asociadas (B4aSetting, B4aMenuItem, etc.) a tu esquema.
Elige un subdominio, luego inicia sesión con tus nuevas credenciales de administrador:
Este portal permite una rápida manipulación de datos sin salir de una interfaz gráfica, una gran solución para colaborar con miembros del equipo que pueden no estar familiarizados con la codificación.
Siguiendo esta guía, has aprendido cómo construir un backend para NativeScript utilizando Back4app y:
- Creado un backend seguro para tus aplicaciones NativeScript.
- Configurado una base de datos con clases, esquemas y relaciones.
- Implementado consultas en tiempo real para actualizaciones en vivo.
- Asegurado tus datos con ACLs y CLPs.
- Ampliado la funcionalidad con Cloud Code.
- Configurado la autenticación para el registro de usuarios, inicio de sesión y tokens de sesión.
- Gestionado cargas de archivos y recuperación a través de Parse File.
- Programado Cloud Jobs para tareas automatizadas y periódicas.
- Creado Webhooks para integraciones de terceros.
- Usado el Panel de Administración de Back4app para la gestión de datos sin código.
Estos pasos forman una base sólida para construir aplicaciones móviles de código abierto y multiplataforma con NativeScript Core. Continúa explorando características avanzadas, incorpora más puntos finales de API o integra tu propia lógica personalizada para adaptar el backend a las necesidades exactas de tu aplicación.
- Escala tus aplicaciones NativeScript optimizando el rendimiento, la caché y las reglas de seguridad.
- Explora la gestión avanzada de usuarios como permisos basados en roles.
- Consulta la documentación oficial de Back4app para guías detalladas sobre seguridad, registros y rendimiento.
- Experimenta con integraciones del mundo real como herramientas de pagos o análisis.
¡Feliz codificación y disfruta del flujo de trabajo de desarrollo optimizado que Back4app proporciona!