En el mundo en constante evolución de desarrollo de aplicaciones móviles, el surgimiento de las Aplicaciones de Progreso Web (PWAs) ha abierto el camino para nuevos runtimes de plataforma cruzada. Estos runtimes permiten que las aplicaciones basadas en web estén presentes en tiendas de aplicaciones sin depender únicamente de nativos code. Una tecnología que facilita esto es CapacitorJS, que permite a los desarrolladores desplegar un sitio web simple como una aplicación en Android, iOS y la web utilizando un código JavaScript único. Este enfoque reduce significativamente los costos de desarrollo y aumenta la eficiencia de codificación.
Esta guía se centrará en crear una aplicación utilizando JavaScript puro sin ningún framework adicional. A pesar de los desafíos de encontrar recursos para el desarrollo de aplicaciones de JavaScript puro en 2021, estamos aquí para proporcionarte una guía integral sobre la creación de tu aplicación y el uso de plugins nativos con CapacitorJS.
‣ Requisitos previos
Antes de comenzar, asegúrese de tener instalados los siguientes herramientas:
- Node.js (v14.16.1) o superior
- NPM (v7.6.2) o superior
- Android Studio para el desarrollo de aplicaciones de Android
- Xcode para el desarrollo de aplicaciones de iOS (solo macOS)
Nota: El desarrollo de aplicaciones iOS solo es posible en un dispositivo macOS.
‣ Configuración de su proyecto Capacitor
Para crear una aplicación Capacitor, navegue hasta su carpeta deseada y ejecute el siguiente comando en su terminal:
npm init @capacitor/app
Siga las instrucciones para instalar el paquete y configurar su proyecto. Con Capacitor v3, su directorio de proyecto debería verse así:
www/
css/
style.css
js/
capacitor-welcome.js
index.html
manifest.json
.gitignore
capacitor.config.json
package.json
README.md
Con la configuración inicial completa, está listo para proceder.
‣ Reestructuración del proyecto
Usaremos Vite para empaquetar nuestros archivos JavaScript, así que reestructuremos nuestro proyecto según sea necesario:
- Crear un nuevo carpeta
srcen el directorio principal. - Crear un nuevo archivo de script
index.jsensrc/. - Crear el archivo de configuración de Vite
vite.config.jsen el directorio principal. - Eliminar el
capacitor-welcome.jsarchivo dewww/js/.
Tu estructura de carpeta debería ser similar a:
src/
index.js
www/
css/
style.css
js/
index.html
manifest.json
.gitignore
capacitor.config.json
package.json
README.md
vite.config.js
‣ Adaptarse a JavaScript puro
Modifiquemos algunos archivos para trabajar con JavaScript puro:
www/index.html
- Elimina las importaciones de scripts para Elementos de PWA de Ionic si no estás liberando la aplicación como una PWA:
<script type="module" src="https://unpkg.com/@ionic/pwa-elements@latest/dist/ionicpwaelements/ionicpwaelements.esm.js"></script>
<script nomodule src="https://unpkg.com/@ionic/pwa-elements@latest/dist/ionicpwaelements/ionicpwaelements.js"></script>
-
Eliminar el elemento
<capacitor-welcome>elemento HTML del cuerpo. -
Actualizar la importación de script desde
capacitor.jsajs/main.js. Este será nuestro archivo JavaScript empaquetado. -
Eliminar la
js/capacitor-welcome.jsimportación. Tuindex.htmlya está listo.
vite.config.js
Para empaquetar nuestros módulos de Node.js con Vitenecesitamos un archivo de configuración que especifique el destino de salida de nuestro script empaquetado. La siguiente configuración tomará el archivo src/index.js y lo empaquetará para producción como www/js/main.js:
import { defineConfig } from 'vite';
import path from 'node:path';
export default defineConfig({
build: {
outDir: path.resolve(__dirname, 'www'),
rollupOptions: {
input: './src/index.js',
output: {
format: 'es',
file: path.resolve(__dirname, 'www/js/main.js')
}
}
}
});
capacitor.config.json
En el capacitor.config.json archivo, localice la "bundledWebRuntime": true propiedad y cambie su valor a false. Esta ajuste garantiza que Capacitor no empaquete los archivos, lo que nos permite utilizar Vite para ese propósito en su lugar.
Con estos cambios, la configuración básica de su aplicación Capacitor está completa, y está listo para empezar a desarrollar su aplicación con JavaScript puro.
‣ Desarrollando su aplicación
Ahora que se ha establecido el terreno, puede comenzar a escribir la lógica de su aplicación en el src/index.js archivo. Aquí, puede importar cualquier módulo de Node.js necesario, definir la funcionalidad de su aplicación y interactuar con los plugins nativos de Capacitor.
Recuerde ejecutar el comando de compilación de Vite para empaquetar sus archivos JavaScript cada vez que realice cambios:
vite build
Este comando generará el main.js archivo en su www/js directorio, que su index.html archivo referenciará.
‣ Pruebas y Depuración
Capacitor ofrece una forma conveniente de probar su aplicación en varias plataformas. Utilice los siguientes comandos para abrir su aplicación en el entorno de desarrollo de la plataforma correspondiente:
Para Android:
npx cap add android
npx cap open android
Para iOS (solo macOS):
npx cap add ios
npx cap open ios
Para Web/PWA:
npx cap serve
Estos comandos le permitirán ejecutar su aplicación en Android Studio, Xcode o su navegador web, donde podrá probar y depurar según sea necesario.
‣ Conclusión
Desarrollar aplicaciones de múltiples plataformas con CapacitorJS utilizando JavaScript puro es una forma rentable y eficiente de crear aplicaciones para múltiples plataformas con un solo código base. Al seguir esta guía, ha configurado su proyecto, lo ha reestructurado para Vite y ha preparado su aplicación para el desarrollo. Con esta base, está bien encaminado para crear una aplicación robusta y versátil.
Recuerde probar exhaustivamente en todas las plataformas y aproveche los plugins nativos de Capacitor para mejorar la funcionalidad de su aplicación. ¡Disfruta codificando!