{"id":399,"date":"2024-09-24T13:33:42","date_gmt":"2024-09-24T11:33:42","guid":{"rendered":"https:\/\/www.pythonparatodo.com\/?p=399"},"modified":"2024-09-24T13:33:42","modified_gmt":"2024-09-24T11:33:42","slug":"beeware","status":"publish","type":"post","link":"https:\/\/www.pythonparatodo.com\/?p=399","title":{"rendered":"BeeWare"},"content":{"rendered":"\n<p><strong>\u00bfQu\u00e9 es BeeWare?<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/beeware.org\/\" data-type=\"link\" data-id=\"https:\/\/beeware.org\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">BeeWare<\/a> es un proyecto Open Source que nos proporciona herramientas, librer\u00edas y el c\u00f3digo necesario para ayudarnos a escribir c\u00f3digo Python dentro de una interfaz gr\u00e1fica nativa para los sistemas operativos iOS, Android, MacOS, Linux, Windows y mas.<\/p>\n\n\n\n<p>Entre las herramientas principales encontramos:<\/p>\n\n\n\n<p><a href=\"https:\/\/briefcase.readthedocs.io\" data-type=\"link\" data-id=\"https:\/\/briefcase.readthedocs.io\/en\/stable\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Briefcase<\/a>: sirve para convertir un proyecto Python en una aplicaci\u00f3n nativa independiente para los sistemas operativos anteriormente citados.<\/p>\n\n\n\n<p><a href=\"https:\/\/cricket.readthedocs.io\" data-type=\"link\" data-id=\"https:\/\/cricket.readthedocs.io\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Cricket<\/a>: es una herramienta gr\u00e1fica que ayuda a realizar los tests.<\/p>\n\n\n\n<p><a href=\"https:\/\/bugjar.readthedocs.io\" data-type=\"link\" data-id=\"https:\/\/bugjar.readthedocs.io\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Bugjar<\/a>: es una herramienta gr\u00e1fica para hacer debug de Python.<\/p>\n\n\n\n<p>Entre las librer\u00edas principales encontramos:<\/p>\n\n\n\n<p><a href=\"https:\/\/toga.readthedocs.io\/\" data-type=\"link\" data-id=\"https:\/\/toga.readthedocs.io\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Toga<\/a>: es un conjunto de widgets nativos, asegurando que nuestra aplicaci\u00f3n tendr\u00e1 el mismo estilo que el resto de aplicaciones del sistema y que al usar capacidades nativas, ser\u00e1n m\u00e1s r\u00e1pidos que los widgets basados en temas.<\/p>\n\n\n\n<p>Para mas informaci\u00f3n echa un vistazo a la p\u00e1gina de <a href=\"https:\/\/beeware.org\/project\/projects\/\" data-type=\"link\" data-id=\"https:\/\/beeware.org\/project\/projects\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">proyectos<\/a>.<\/p>\n\n\n\n<p><strong>\u00bfC\u00f3mo empiezo?<\/strong><\/p>\n\n\n\n<p>Puedes comenzar siguiendo el <a href=\"https:\/\/docs.beeware.org\/en\/latest\/\" data-type=\"link\" data-id=\"https:\/\/docs.beeware.org\/en\/latest\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">tutorial<\/a> que te ayudar\u00e1 a escribir tu primera aplicaci\u00f3n.<\/p>\n\n\n\n<p>Lo primero es instalar briefcase:<\/p>\n\n\n\n<pre title=\"Instalaci\u00f3n Briefcase\" class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\"><code>python -m pip install briefcase<\/code><\/code><\/pre>\n\n\n\n<p>Cuando lo tengamos instalado en nuestro sistema podemos usarlo para crear un proyecto nuevo con el siguiente comando:<\/p>\n\n\n\n<pre title=\"Nuevo proyecto BeeWare\" class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\"><code>briefcase new<\/code><\/code><\/pre>\n\n\n\n<p>Esto usa una plantilla en <a href=\"https:\/\/github.com\/beeware\/briefcase-template\" data-type=\"link\" data-id=\"https:\/\/github.com\/beeware\/briefcase-template\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">GitHub<\/a> para generar una carpeta que contendr\u00e1 un conjunto de carpetas y archivos que compondr\u00e1n nuestra aplicaci\u00f3n.<\/p>\n\n\n\n<p>Debemos seguir el asistente y escribir los siguientes datos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Formal Name<\/strong>: es el nombre largo que daremos a nuestra aplicaci\u00f3n, puede contener espacios.<\/li>\n\n\n\n<li><strong>App Name<\/strong>: es el nombre de la aplicaci\u00f3n y no podemos incluir espacios, solo letras, n\u00fameros, guiones o guiones bajos.<\/li>\n\n\n\n<li><strong>Bundle Identifier<\/strong>: es un namespace que se usar\u00e1 para identificar nuestras aplicaciones si las publicamos en las tiendas.<\/li>\n\n\n\n<li><strong>Project Name<\/strong>: es el nombre del proyecto Briefcase.<\/li>\n\n\n\n<li><strong>Description<\/strong>: es la descripci\u00f3n del proyecto.<\/li>\n\n\n\n<li><strong>Author<\/strong>: nombre del autor de la aplicaci\u00f3n.<\/li>\n\n\n\n<li><strong>Author&#8217;s email<\/strong>: email del autor de la aplicaci\u00f3n.<\/li>\n\n\n\n<li><strong>Application URL<\/strong>: la URL donde estar\u00e1 publicada la aplicaci\u00f3n, ayuda, informaci\u00f3n, etc.<\/li>\n\n\n\n<li><strong>Project License<\/strong>: tipo de licencia que usaremos en nuestra aplicaci\u00f3n. Indicaremos los t\u00e9rminos de la licencia en el fichero LICENSE.<\/li>\n\n\n\n<li><strong>GUI Framework<\/strong>: es el entorno gr\u00e1fico con el que desarrollaremos la parte gr\u00e1fica de nuestra aplicaci\u00f3n. En el momento de escribir este art\u00edculo est\u00e1n disponibles:\n<ul class=\"wp-block-list\">\n<li>Toga<\/li>\n\n\n\n<li>PySide6 (sin soporte para aplicaciones iOS, Android o web)<\/li>\n\n\n\n<li>PyGame (sin soporte para aplicaciones iOS, Android o web)<\/li>\n\n\n\n<li>Console (sin soporte para aplicaciones iOS, Android o web)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Una vez finalizado el asistente entramos en la carpeta que Briefcase ha creado con el nuevo proyecto y encontraremos el t\u00edpico programa <strong>Hola mundo<\/strong>, nuestro c\u00f3digo se encuentra dentro de la carpeta <strong>src<\/strong>, pero antes de modificar nada, desde la carpeta principal ejecutamos el comando siguiente.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">briefcase dev<\/code><\/pre>\n\n\n\n<p>Ya tenemos nuestra primera aplicaci\u00f3n BeeWare funcionando \ud83d\ude09<\/p>\n\n\n\n<p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"411\" class=\"wp-image-405\" style=\"width: 480px;\" src=\"https:\/\/www.pythonparatodo.com\/wp-content\/uploads\/2024\/09\/holamundo.png\" alt=\"BeeWare App\" srcset=\"https:\/\/www.pythonparatodo.com\/wp-content\/uploads\/2024\/09\/holamundo.png 642w, https:\/\/www.pythonparatodo.com\/wp-content\/uploads\/2024\/09\/holamundo-300x257.png 300w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfQu\u00e9 es BeeWare? BeeWare es un proyecto Open Source que nos proporciona herramientas, librer\u00edas y el c\u00f3digo necesario para ayudarnos &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[141,4],"tags":[],"class_list":["post-399","post","type-post","status-publish","format-standard","hentry","category-beeware","category-python"],"_links":{"self":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=399"}],"version-history":[{"count":6,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/399\/revisions"}],"predecessor-version":[{"id":406,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/399\/revisions\/406"}],"wp:attachment":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}