Saltar al contenido principal
Tutoriales

Desarrollar Aplicaciones Móviles con React.js Puro y Capacitor

Una guía sobre cómo transformar una aplicación web de React.js en una aplicación móvil nativa utilizando Capacitor, y mejorar la interfaz de usuario nativa con Konsta UI.

Martin Donadieu

Martin Donadieu

Gerente de Contenido

Desarrollar Aplicaciones Móviles con React.js Puro y Capacitor

Este tutorial te guiará a través de la creación de una aplicación móvil utilizando React, Capacitor, y Konsta UI. Al final, sabrás cómo transformar una aplicación web de React.js en una aplicación móvil nativa con Capacitor, y implementar una interfaz de usuario nativa utilizando Konsta UI.

Capacitor facilita la transformación fácil de tu aplicación web de React.js en una aplicación móvil nativa, sin necesidad de alteraciones sustanciales o aprendizaje de nuevas estrategias como React Native.

El proceso implica unos pocos pasos simples, y antes de que lo sepas, tu aplicación de React.js será una aplicación móvil funcional. Así que mantente aquí mientras te guiamos en este viaje.

Capacitor Resumen

CapacitorJS es un cambio de juego. Puede integrarse de manera fluida con cualquier proyecto web y envolver tu aplicación en una vista web nativa mientras genera el proyecto de Xcode y Android Studio nativo. Además, a través de sus plugins, puedes acceder a características de dispositivos nativos como la cámara a través de un puente de JS.

Capacitor ofrece una forma sencilla de crear una aplicación móvil nativa sin problemas ni curva de aprendizaje pronunciada. Su simple API y funcionalidad simplificada hacen que sea fácil incorporarla en tu proyecto.

Configuración de su aplicación de React.js

Vamos a utilizar el método más sencillo para iniciar una aplicación de React. Usaremos el npm para crear una nueva aplicación de React:

npx create-react-app my-app

Para transformar nuestro proyecto en una aplicación móvil nativa, es export necesario exportar nuestra aplicación.

Volveremos a esto en un momento. Primero, debemos entender cómo integrar Capacitor en nuestra aplicación de React.

Integración de Capacitor en su aplicación de React.js

Los pasos de configuración inicial pueden ser un poco detallados, pero después de eso, actualizar su wrapper de aplicación nativa se vuelve tan simple como ejecutar un sync command.

Primero, instalaremos el Capacitor CLI como dependencia de desarrollo y lo configuraremos dentro de nuestro proyecto. Durante la configuración, acepte los valores predeterminados para el nombre y el ID de paquete presionando “enter.”

A continuación, instalaremos el paquete principal y los paquetes relevantes para las plataformas iOS y Android.

Finalmente, agregaremos las plataformas, y Capacitor creará carpetas para cada plataforma en la raíz de nuestro proyecto:

# Install the Capacitor CLI locally
npm install -D @capacitor/cli

# Initialize Capacitor in your React project
npx cap init

# Install the required packages
npm install @capacitor/core @capacitor/ios @capacitor/android

# Add the native platforms
npx cap add ios
npx cap add android

Los ios y android directores ahora están presentes en su proyecto de React.js.

Para acceder al proyecto de Android más tarde, instale Android Studio. Para iOS, necesita un Mac y debe instalar Xcode.

A continuación, actualice el webDir en su capacitor.config.json archivo tal como se muestra a continuación:

{
  "appId": "com.example.app",
  "appName": "my-app",
  "webDir": "build",
  "bundledWebRuntime": false
}

Ejecuta el comando de compilación y sincroniza tu proyecto con Capacitor:

npm run build
npx cap sync

El npm run build El comando compilará tu proyecto de React.js, mientras que npx cap sync se alineará la web code en los lugares precisos de las plataformas nativas para que puedan ejecutarse en una aplicación.

Ahora, con un poco de suerte y sin errores, tu aplicación de React.js debería estar lista para su lanzamiento en un dispositivo!

Construyendo y Desplegando Tus Aplicaciones Nativas

El desarrollo de aplicaciones iOS requiere Xcode, y las aplicaciones Android necesitan Android StudioIf planeas distribuir tu aplicación en la tienda de aplicaciones, debes inscribirte en el programa de desarrolladores de Apple para iOS y en el console de Google Play para Android.

El Capacitor CLI simplifica el proceso de abrir ambos proyectos nativos:

npx cap open ios
npx cap open android

Una vez que se hayan configurado los proyectos nativos, el despliegue de tu aplicación a un dispositivo conectado es un proceso sencillo.

Para Android Studio, espera a que todo se cargue y luego despliega tu aplicación a un dispositivo conectado.

Para Xcode, establece tu cuenta de firma para desplegar tu aplicación a un dispositivo real en lugar de solo el simulador. Después de hacerlo, simplemente haz clic en 'Ejecutar' para ejecutar la aplicación en tu dispositivo conectado, que puedes elegir en la parte superior.

Si todo ha ido bien, habrás convertido tu aplicación web de React.js en una aplicación móvil nativa!

Capacitor Live Reload

Los marcos de desarrollo modernos suelen venir con hot reload, y afortunadamente, puedes tener lo mismo con Capacitor pero en tu dispositivo móvil!

Puedes hacer que tu aplicación localmente alojada sea accesible con live reload en tu red al tener la aplicación Capacitor cargar el contenido desde una URL específica.

Primero, determina tu dirección IP local. En un Mac, puedes hacerlo ejecutando ipconfig getifaddr en0 en la terminal. En Windows, ejecuta ipconfig y busca la dirección IPv4.

Después de esto, instruye a Capacitor para que cargue la aplicación directamente desde el servidor agregando otro parámetro a tu capacitor.config.ts archivo:

import { CapacitorConfig } from '@capacitor/cli';

const config: CapacitorConfig = {
  appId: 'com.example.app',
  appName: 'my-app',
  webDir: 'build',
  bundledWebRuntime: false,
  server: {
    url: 'http://192.168.x.xx:3000',
    cleartext: true
  }
};

export default config;

Asegúrate de utilizar la IP y el puerto precisos. Ejecuta npx cap copy para aplicar estos cambios a nuestro proyecto nativo.

Al desplegar tu aplicación una vez más a través de Android Studio o Xcode, cualquier cambio en tu aplicación de React se recargarán automáticamente y se mostrarán en tu aplicación!

Ten en cuenta que si se instalan nuevos plugins, como la cámara, es necesario realizar una reconstrucción de tu proyecto nativo. Esto se debe a que los archivos nativos habrán cambiado y no pueden ser actualizados en tiempo real.

Usando Capacitor Plugins

Vamos a echar un vistazo rápido a cómo utilizar un plugin de Capacitor. Vamos a instalar uno simple, el plugin de compartir, que despliega el diálogo de compartir nativo:

npm i @capacitor/share

Para utilizarlo, importa el paquete y llama al método correspondiente share() función de nuestra aplicación. Considera el App.js:

import { Share } from '@capacitor/share';

function ShareButton() {
  const share = async () => {
    await Share.share({
      title: 'React App',
      text: 'Visit this React App',
      url: 'http://localhost:3000',
      dialogTitle: 'Share with...'
    });
  };

  return (
    <button onClick={share}>
      Share
    </button>
  );
}

export default ShareButton;

Después de instalar un nuevo plugin, recuerda sincronizar tu proyecto de React nuevamente utilizando npx cap sync.

Implementar Konsta UI: Una interfaz de usuario móvil mejor vista

Para una experiencia de interfaz de usuario móvil mejor vista, utilizaremos Konsta UI. Proporciona estilos específicos para iOS y Android, y es fácil de trabajar con.

Para utilizar Konsta UI, instala el paquete de React:

npm i konsta

Modifica tu tailwind.config.js archivo como se muestra a continuación:

// import konstaConfig config
const konstaConfig = require('konsta/config')

// wrap config with konstaConfig config
module.exports = konstaConfig({
  content: [
    './src/**/*.{js,ts,javascript,tsx}',
  ],
  darkMode: 'media', // or 'class'
  theme: {
    extend: {},
  },
  variants: {
    extend: {},
  },
  plugins: [],
})

konstaConfig suplementará tu configuración actual de Tailwind CSS con variantes y utilidades adicionales necesarias para Konsta UI.

Ahora, configura el componente principal App para establecer parámetros globales como themeEnvuelve la aplicación principal con App en el src/index.js:

import React from 'react';
import ReactDOM from 'react-dom';
import {App} from 'konsta/react';
import './index.css';
import MyApp from './App';

ReactDOM.render(
  <React.StrictMode>
    <App theme="ios">
      <MyApp />
    </App>
  </React.StrictMode>,
  document.getElementById('root')
);

Vamos a utilizar componentes de Konsta UI en nuestras páginas de React.js. Abre src/App.js y modificarlo para:

// Konsta UI components
import {
  Page,
  Navbar,
  Block,
  Button,
  List,
  ListItem,
} from 'konsta/react';

export default function MyApp() {
  return (
    <Page>
      <Navbar title="My App" />

      <Block strong>
        <p>
          Welcome to your React & Konsta UI app.
        </p>
      </Block>
      
      <List>
        <ListItem href="/about" title="About" />
      </List>

      <Block strong>
        <Button>Click Me</Button>
      </Block>
    </Page>
  );
}

Si todo ha sido hecho correctamente, deberías ver una integración sin esfuerzo entre React y Konsta UI para dar a tu aplicación móvil un aspecto nativo.

Conclusión

Capacitor ofrece una forma suave de construir aplicaciones nativas basadas en un proyecto web existente, proporcionando una forma simple de compartir code y tener una interfaz de usuario consistente.

Gracias a tecnologías como Capacitor, nunca ha sido más fácil crear aplicaciones móviles a partir de aplicaciones web de React.js. Lleva tus habilidades de desarrollo web al siguiente nivel creando impresionantes aplicaciones móviles nativas. ¡Disfruta codificando!

Para obtener más información sobre cómo puedes acelerar tu proceso de desarrollo de aplicaciones, regístrate para una cuenta gratuita hoy.

Sigue adelante desde Construyendo Aplicaciones Móviles con React.js Puro y Capacitor

Si estás utilizando Construyendo Aplicaciones Móviles con React.js Puro y Capacitor para planificar el comportamiento de medios y de interfaz nativa, conecta con ella Usando @capgo/capacitor-actividades-en-vivo para la capacidad nativa en Usando @capgo/capacitor-actividades-en-vivo @capgo/capacitor-actividades-en-vivo para el detalle de implementación en @capgo/capacitor-actividades-en-vivo Usando @capgo/capacitor-reproductor-de-videos para la capacidad nativa en Usando @capgo/capacitor-reproductor-de-videos @capgo/capacitor-reproductor-de-videos para el detalle de implementación en @capgo/capacitor-reproductor-de-videos, y Usando @capgo/capacitor-navegación-nativa para la capacidad nativa en Usando @capgo/capacitor-navegación-nativa.

Actualizaciones en vivo para aplicaciones Capacitor

Cuando haya un error en la capa web, envíe la corrección a través de Capgo en lugar de esperar días para la aprobación de la tienda de aplicaciones. Los usuarios reciben la actualización en segundo plano mientras los cambios nativos siguen en el camino de revisión normal.

Comienza Ahora

Últimas noticias de nuestro Blog

Capgo le da las mejores pistas que necesita para crear una aplicación móvil verdaderamente profesional.