¿Cuáles son las diferencias conceptuales y técnicas entre las "aplicaciones" y los paquetes?

13

Estoy un poco confundido por el reciente anuncio ( http://developer.ubuntu.com/2011/09/announcing-the-ubuntu-app-developer-site/ ) del nuevo sitio para desarrolladores "App". Me he caído del desarrollo de Ubuntu y ahora solo sigo noticias para medir la dirección del sistema operativo, y no me había dado cuenta de que esto se avecinaba. Quizás alguien de la comunidad podría aclarar esto por mí.

Estoy muy familiarizado con Ubuntu, Linux, programación y empaque, pero no estoy seguro de cuáles son las diferencias conceptuales y técnicas entre una aplicación de Ubuntu y un paquete de Debian. He examinado un poco la documentación de la comunidad de desarrolladores, pero no he encontrado una respuesta directa. ¿Se puede considerar una aplicación de Ubuntu como un paquete especialmente configurado que admita el marco de la aplicación de Ubuntu? ¿Y qué tan flexible es eso? ¿Podría, por ejemplo, escribir una aplicación en Qt y aún así envolverla en una aplicación?

(Por otro lado, estoy un poco preocupado de que Ubuntu se dirija en esta dirección. Entiendo que Ubuntu debería explorar el soporte de múltiples vías de desarrollo y distribución de aplicaciones para mantenerse relevante. Pero para un usuario de ingeniería como yo, esto se siente como una tontería. Sin embargo, estos comentarios son ignorantes. No debería formar una opinión sólida hasta que sepa lo que está sucediendo).

perden
fuente

Respuestas:

9

Una "aplicación" de Ubuntu es solo una aplicación, como GIMP, Firefox o lo que sea.

Todavía son paquetes de Debian, solo proporcionamos una herramienta llamada Quickly que ayuda a las personas a usar PyGTK y facilita el empaquetado y el envío al centro de software.

Todavía puede escribir su aplicación en Qt, empaquetarla y enviarla al Centro de software, solo estamos tratando de simplificar la conexión de desarrolladores como usted para facilitar el envío de su software a los usuarios finales.

Jorge Castro
fuente
1
Ahh ok. Junto con sus comentarios, veo en el paso 5 de la sección de publicación que también se pueden agregar paquetes Debian existentes. Entonces, para estar seguro de que lo tengo, una "aplicación" es solo una aplicación habitual, que todavía utiliza el paquete Debian. Supongo que estaba pensando que una "aplicación" era una aplicación más pequeña, principalmente táctil. ¡Supongo que podría ser cualquier cosa! ¡Gracias por aclarar eso!
Perden
1
También puede considerar las aplicaciones como aplicaciones livianas que pueden enviarse de manera diferente al Centro de software, pero que se distribuyen de manera efectiva de la misma manera a los usuarios. También utilizan la misma tecnología de empaque (empaque de Debian y el Centro de software) para la distribución. Queremos facilitar que los desarrolladores de este tipo de software lo envíen y lo vean publicado en Ubuntu, y es por eso que hemos desarrollado herramientas en línea como parte del sitio para desarrolladores de aplicaciones para que esto sea posible.
David Planella
Sin embargo, las aplicaciones más complejas podrían no ser elegibles para este proceso (piense en alguien que desarrolle un nuevo LibreOffice, por ejemplo), en cuyo caso los autores señalan la ruta habitual del repositorio Debian / Ubuntu, que sigue siendo la forma en que la mayoría del software lo hace a Ubuntu hoy en día, y que no va a cambiar debido a la forma en que ahora se envían las aplicaciones
David Planella
8

Bueno, una aplicación se proporciona como un paquete, pero no todos los paquetes son aplicaciones. Una o más fuentes se pueden proporcionar como paquetes, por ejemplo. En otras palabras, hay una diferencia conceptual entre un paquete y una aplicación, pero no hay diferencia entre una aplicación y un paquete.

Sí, puede desarrollar aplicaciones en cualquier idioma y utilizando el marco que desee. Proporciona rápidamente un punto de partida muy fácil y la recomendación principal es usar Python y GTK, pero también hay plantillas para Ruby y otros lenguajes y plantillas para desarrollo web en lugar de aplicaciones de escritorio. Rápidamente está diseñado específicamente para no limitar la elección de los desarrolladores en idiomas, y (con suerte, obviamente) no hay bloqueo en Ubuntu. También puede proporcionar sus propias plantillas, si su aplicación admite complementos, por ejemplo. Lo que hace rápidamente es liberarlo de escribir código aburrido aburrido.

Para publicar aplicaciones usando el portal MyApps, hay algunos requisitos, como su aplicación debe usar XDG_USER_DIRS para sus datos y configuraciones, debe ser instalable en / opt, etc. Aparte de eso, no hay requisitos. Puede escribir su aplicación en Java, Python, C *, Gambas o cualquier otra cosa que sea compatible y utilizando cualquier kit de herramientas GUI que desee. Esto tiene sentido ya que el objetivo principal de las versiones modernas de Ubuntu es unir Qt, GTK y otros para proporcionar una mejor experiencia de usuario.

Espero que esto se aclare un poco y que estés menos preocupado por la dirección en que Ubuntu está evolucionando. :)

Jo-Erlend Schinstad
fuente
Sí, gracias por agregar más detalles. Me gusta ver que al apoyar esto no estoy atado a ninguna configuración en particular. Y como mencioné en mi comentario a Jorge, supongo que estoy contaminado por la definición de espacio móvil de una "aplicación": pequeña, interfaz táctil, compartimentada, rígida (en términos de desarrollo). Mantener esa flexibilidad es primordial para el desarrollo de Linux y la filosofía de Ubuntu, con suerte calmar las reservas de algunos . Ahora que lo entiendo, ¡estoy emocionado de ver qué sucede!
Perden