{"id":1989,"date":"2019-07-10T15:42:05","date_gmt":"2019-07-10T13:42:05","guid":{"rendered":"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/?page_id=1989"},"modified":"2019-08-11T10:40:00","modified_gmt":"2019-08-11T08:40:00","slug":"3-8-anexo-1-el-entorno-de-trabajo","status":"publish","type":"page","link":"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/es\/3-8-anexo-1-el-entorno-de-trabajo\/","title":{"rendered":"3.8. Anexo 1. El entorno de trabajo"},"content":{"rendered":"<p>A pesar de que el editor web lo usamos para hacer los ejercicios del cap\u00edtulo 2, esta no es la mejor manera de trabajar con p5.js si queremos incluir nuestros proyectos en nuestras propias p\u00e1ginas web, as\u00ed que vamos a prepararnos un entorno de trabajo que nos permita editar y ejecutar nuestros programas en JavaScript y p5.js.<\/p>\n<p>Para poder programar con JavaScript, necesitaremos solo dos cosas. Por un lado, un editor de texto; por el otro, un navegador web. Aparte, tendremos que organizar nuestro entorno de trabajo y bajarnos la librer\u00eda de p5.js.<\/p>\n<p>Vamos por partes. Lo <strong>primero <\/strong>que haremos ser\u00e1 organizar el espacio de nuestro disco donde guardaremos nuestros ejercicios. Esta es nuestra propuesta:<\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-244 size-full\" src=\"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_003.jpg\" alt=\"\" width=\"125\" height=\"51\" \/><\/p>\n<p>Una carpeta que se llame <strong>Programaci\u00f3n<\/strong> y dentro de una carpeta que se llamar\u00e1 <strong>js<\/strong>.<\/p>\n<p>Lo <strong>segundo<\/strong> que haremos ser\u00e1 ir a la p\u00e1gina <a href=\"https:\/\/p5js.org\/es\/download\/\" target=\"_blank\" rel=\"noopener\">https:\/\/p5js.org\/es\/download\/<\/a> y de all\u00ed bajarnos la versi\u00f3n comprimida.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-245\" src=\"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_005.jpg\" alt=\"\" width=\"883\" height=\"319\" srcset=\"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_005.jpg 883w, http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_005-300x108.jpg 300w, http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_005-768x277.jpg 768w\" sizes=\"(max-width: 883px) 100vw, 883px\" \/><\/p>\n<p>Nos bajar\u00e1 un archivo que se llama <strong>p5.min.js<\/strong> que guardaremos dentro de la carpeta <strong>js<\/strong> que acabamos de crear.<\/p>\n<p>La <strong>tercera<\/strong> tarea que tenemos que hacer es seleccionar un editor. Para empezar, podemos usar el editor de texto de nuestro sistema operativo (el <em>Bloque de notas<\/em> de Windows, el editor de Mac o el editor de Linux). Conforme vamos avanzando, seguramente estos editores se nos quedar\u00e1n cortos y nos ir\u00e1 bien disponer de alguno m\u00e1s potente.<\/p>\n<p>Algunas opciones pueden ser:<\/p>\n<ul>\n<li><a href=\"https:\/\/notepad-plus-plus.org\/\" target=\"_blank\" rel=\"noopener\"><strong>Notepad++<\/strong><\/a> es un editor no muy complicado pero a la vez bastante potente. De c\u00f3digo libre, es gratuito y est\u00e1 traducido a casi cualquier idioma.<\/li>\n<li><a href=\"http:\/\/www.sublimetext.com\/\" target=\"_blank\" rel=\"noopener\"><strong>Sublime Text<\/strong><\/a>. No es gratuito a pesar de que se puede bajar libremente para evaluar sin l\u00edmite de tiempo. Es uno de los editores de texto m\u00e1s utilizado.<\/li>\n<li><a href=\"http:\/\/brackets.io\/\" target=\"_blank\" rel=\"noopener\"><strong>Brackets<\/strong><\/a> es un potente editor de c\u00f3digo libre.<\/li>\n<li><a href=\"https:\/\/atom.io\/\" target=\"_blank\" rel=\"noopener\"><strong>Atom<\/strong><\/a>. Otro potente editor de c\u00f3digo libre.<\/li>\n<\/ul>\n<p>Los ejemplos que veremos aqu\u00ed se han hecho usando Atom, pero pod\u00e9is usar cualquier otro.<\/p>\n<h2>Archivos b\u00e1sicos<\/h2>\n<p>Ya tenemos el entorno de trabajo. Ahora hay que hacer unos pasos que nos faciliten la tarea de crear despu\u00e9s nuestros programas.<\/p>\n<p>Primero, abrimos nuestro editor de texto y creamos un nuevo archivo. Si usamos Atom (ser\u00eda similar a Sublime y a Brackets) podemos crear un nuevo proyecto. En Atom haremos<em> File: Add project folder\u2026<\/em> Y seleccionaremos la carpeta <strong>Programaci\u00f3n<\/strong> que hab\u00edamos creado en la primera parte.<\/p>\n<p>En la columna de la izquierda del editor veremos la carpeta <strong>Programaci\u00f3n<\/strong> y la carpeta <strong>js<\/strong> que tenemos dentro. En la imagen pod\u00e9is ver c\u00f3mo queda.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-246 size-full\" src=\"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_007.jpg\" alt=\"\" width=\"344\" height=\"204\" srcset=\"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_007.jpg 344w, http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_007-300x178.jpg 300w\" sizes=\"(max-width: 344px) 100vw, 344px\" \/><\/p>\n<p>Seleccionamos la carpeta <strong>Programaci\u00f3n<\/strong> haciendo un clic (es posible que desaparezca la carpeta <strong>js<\/strong>, no os preocup\u00e9is, otro clic la hace aparecer de nuevo) y hacemos<em> File: New File<\/em>.<\/p>\n<p>Ahora copiaremos el siguiente c\u00f3digo:<\/p>\n<pre>&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n &lt;head&gt;\r\n  &lt;meta charset=\"utf-8\"&gt;\r\n  &lt;meta name=\"viewport\" width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0&gt;\r\n  &lt;style&gt; body {padding: 0; margin: 0;} &lt;\/style&gt;\r\n  &lt;script src=\"js\/p5.min.js\"&gt;&lt;\/script&gt;\r\n  &lt;script src=\"js\/sketch.js\"&gt;&lt;\/script&gt;\r\n &lt;\/head&gt;\r\n &lt;body&gt;\r\n &lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>Una vez copiado vamos al men\u00fa y hacemos<em> File: Save<\/em> y lo guardamos con el nombre <strong>index.html<\/strong>.<\/p>\n<p>Como ahora el editor sabe en qu\u00e9 lenguaje est\u00e1 escrito este c\u00f3digo, puede usar la opci\u00f3n de colorearlo.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-247\" src=\"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_009.jpg\" alt=\"\" width=\"1125\" height=\"308\" srcset=\"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_009.jpg 1125w, http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_009-300x82.jpg 300w, http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_009-768x210.jpg 768w, http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_009-1024x280.jpg 1024w\" sizes=\"(max-width: 1125px) 100vw, 1125px\" \/><\/p>\n<p>Como se puede ver en la imagen, adem\u00e1s de colorear el c\u00f3digo, tambi\u00e9n ha aparecido el fichero en la columna de la izquierda.<\/p>\n<p>Nos queda un paso m\u00e1s para hacer antes de empezar con el primer programa. Ahora crearemos un nuevo archivo.<\/p>\n<p>Dentro de este nuevo archivo copiaremos este c\u00f3digo:<\/p>\n<pre>function setup() {\r\n \/\/ put setup code here\r\n}\r\nfunction draw() {\r\n \/\/ put drawing code here\r\n}<\/pre>\n<p>Guardaremos este nuevo archivo con la opci\u00f3n de men\u00fa <em>Save As\u2026<\/em> y nos aseguraremos que lo guardamos dentro de la carpeta <strong>js<\/strong> y con el nombre <strong>sketch.js<\/strong>.<\/p>\n<p>Este c\u00f3digo que acabamos de copiar consiste en dos funciones, <span style=\"font-family: Courier, Arial;\">setup()<\/span> y <span style=\"font-family: Courier, Arial;\">draw()<\/span>. Pondremos c\u00f3digo en las dos funciones, pero cada una de ellas tiene una funci\u00f3n espec\u00edfica. La funci\u00f3n <span style=\"font-family: Courier, Arial;\">setup()<\/span> la usaremos para establecer condiciones iniciales. Lo que ponemos dentro solo se ejecutar\u00e1 una vez. La funci\u00f3n <span style=\"font-family: Courier, Arial;\">draw() <\/span>ser\u00e1, como su nombre indica, la que usaremos realmente para dibujar.<\/p>\n<p>Este ser\u00e1 el aspecto de nuestro editor una vez est\u00e9 todo preparado:<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-248\" src=\"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_011.jpg\" alt=\"\" width=\"971\" height=\"262\" srcset=\"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_011.jpg 971w, http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_011-300x81.jpg 300w, http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258586_3_011-768x207.jpg 768w\" sizes=\"(max-width: 971px) 100vw, 971px\" \/><\/p>\n<p>Todav\u00eda tenemos abierta la pesta\u00f1a <em>Welcome<\/em>. Si nos ponemos encima, aparece una cruz que nos permite cerrarla. Tambi\u00e9n podemos cerrar la pesta\u00f1a del archivo <strong>index.html<\/strong>. De momento no lo usaremos.<\/p>\n<p>En la imagen que veis a continuaci\u00f3n ten\u00e9is un esquema de c\u00f3mo se organizan los archivos que necesitamos para guardar nuestros programas. Ser\u00e1 conveniente que tengamos una carpeta para cada ejercicio. En la carpeta del ejercicio tenemos dos cosas: el <strong>archivo HTML<\/strong>, que presenta el programa en el navegador, y la <strong>carpeta js<\/strong>, que es donde guardaremos los archivos JavaScript. Dentro de esta carpeta pondremos, por un lado, el archivo de p5.js, que nos bajamos de la web (p5.min.js), y el archivo sketch.js, que es donde escribiremos el programa.<\/p>\n<p>Para cada ejercicio podemos copiar todo el esquema (archivo HTML y carpeta js) y borrar el contenido del archivo sketch.js para escribir el nuevo programa sin interferencias.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-2090 size-full\" src=\"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258587_3_013.jpg\" alt=\"\" width=\"727\" height=\"771\" srcset=\"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258587_3_013.jpg 727w, http:\/\/disseny-test.uoc.edu\/materials\/programacio\/wp-content\/uploads\/sites\/17\/2019\/07\/PID_00258587_3_013-283x300.jpg 283w\" sizes=\"(max-width: 727px) 100vw, 727px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A pesar de que el editor web lo usamos para hacer los ejercicios del cap\u00edtulo 2, esta no es la mejor manera de trabajar con p5.js si queremos incluir nuestros proyectos en nuestras propias p\u00e1ginas web, as\u00ed que vamos a prepararnos un entorno de trabajo que nos permita editar y ejecutar nuestros programas en JavaScript [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false},"acf":[],"_links":{"self":[{"href":"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/es\/wp-json\/wp\/v2\/pages\/1989"}],"collection":[{"href":"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/es\/wp-json\/wp\/v2\/comments?post=1989"}],"version-history":[{"count":14,"href":"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/es\/wp-json\/wp\/v2\/pages\/1989\/revisions"}],"predecessor-version":[{"id":3369,"href":"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/es\/wp-json\/wp\/v2\/pages\/1989\/revisions\/3369"}],"wp:attachment":[{"href":"http:\/\/disseny-test.uoc.edu\/materials\/programacio\/es\/wp-json\/wp\/v2\/media?parent=1989"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}