Lección 10: Distribución
Para distribuir tu aplicación existen diferentes opciones.
MELPA
: Es el gestor oficial de paquetes de Emacs. Puedes verlo como un índice, ya que ellos solo guardan el nombre del paquete y la dirección del repositorio. Posee sus propias reglas, linter y procedimientos. Entre ellos debes enviar un Pull Request a su repositorio de GitHub siguiendo las instrucciones que ellos mismos proporcionan. Es un proceso lento y tedioso por las diferentes revisiones, pero es la forma más accesible de que cualquier usuario pueda instalar tu paquete.Autogestión de paquetes
: Puedes gestionar los paquetes, y sus repositorios, usando algún software externo como puede serstraight
. Ello permite instalar paquetes desde cualquier repositorio Git, siendo tú el responsable último a la hora de evaluar el código y posibles conflictos. Es una buena opción para distribuir tu paquete si no quieres pasar por el proceso de revisión de MELPA. A cambio, el filtro de calidad lo pones tú.Manualmente
: Si no quieres pasar por el proceso de revisión de MELPA y tampoco quieres obligar a tus usuarios a que dispongan de un gestor de paquetes externo, puedes pedir que instalen tu paquete manualmente. No es un preceso complejo. Tan solo debes pedir que descarguen el código de tu paquete en algún lugar de sus equipo y agregar el siguiente código eninit.el
:
(add-to-list 'load-path "/ruta/a/tu/paquete/")
(require 'tu-paquete)
Lamentablemente pierde la capacidad de actualización automática.
Para terminar hay una última opción: compilar el código fuente de Emacs incluyendo tu paquete. De este modo podrás distribuir un binario con tu software incluido. Si a ello le sumas una configuración que oculte elementos de la interfaz que no se van a utilizar (como las barras de herramientas, menú, scroll), y que la primera tarea de Emacs sea ejecutar tu paquete, lograrás una aplicación clásica de escritorio. Este proceso es complejo y no lo vamos a ver en este curso, pero si te interesa puedes leer Creating desktop applications using the Emacs core.
En conclusión disponemos de las siguientes opciones.
Opción | Dificultad para ti | Dificultad para los usuarios | Pros | Contras |
---|---|---|---|---|
MELPA | Alta | Baja | Cualquier usuario puede instalar tu paquete con un simple comando. | Deberás aprender como incluirlo, pasar las revisiones de los administradores y tal vez sea rechazado. |
Autogestión de paquetes | Media | Media | Cualquier usuario puede instalar tu paquete y mantenerlo actualizado. | Los usuarios deberán instalar un gestor de paquetes externo, si no lo tienen ya. |
Manual | Baja | Alta | No requiere ni filtros ni software externo. | Los usuarios deberán instalarlo manualmente y no podrán mantenerlo actualizado. |
Binario | Alta | Baja | Descargar y abrir. Más fácil no puede ser. | No podrán mantenerlo actualizado. No esta integrado con el Emacs de usuario. Ocupa mucho espacio. |
No hay una solución idónea, y cada código tendrá su espacio. Por ejemplo, si hablamos de un paquete muy elaborado, tal vez MELPA sea la mejor opción. Si hablamos de un paquete muy simple, podrías prepararlo para la autogestión de paquetes.
Actividad 1
Instala el juego del ajedrez por MELPA. El paquete se llama chess
.
Actividad 2
Instala straight.el siguiendo sus instrucciones. A continuación instala el paquete scroll-page-without-moving-point.el.
Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.
¿Me invitas a un café? ☕
Puedes hacerlo usando el terminal.
ssh customer@andros.dev -p 5555
Comentarios
Nuevo comentario
Nueva replica {{ formatEllipsisAuthor(replyComment.author) }}
Escribe el primer comentario
{{ comments.length }} comentarios