Processing es una biblioteca gráfica gratuita y un entorno de desarrollo integrado (IDE) creado para las comunidades de artes electrónicas, arte de nuevos medios y diseño visual con el propósito de enseñar a los no programadores los fundamentos de la programación de computadoras en un contexto visual.
Paradigma | Orientado a objetos |
---|---|
Diseñada por | Casey Reas , Ben Fry |
Apareció por primera vez | 2001 |
Lanzamiento estable | 3.5.4 / 17 de enero de 2020 [1] |
Licencia | GPL , LGPL |
Extensiones de nombre de archivo | .pde |
Sitio web | procesando |
El procesamiento utiliza el lenguaje Java , con simplificaciones adicionales como clases adicionales y funciones y operaciones matemáticas con alias. También proporciona una interfaz gráfica de usuario para simplificar la etapa de compilación y ejecución.
El lenguaje de procesamiento y el IDE han sido el precursor de otros proyectos, incluidos Arduino , Wiring y p5.js.
Historia
El proyecto fue iniciado en 2001 por Casey Reas y Ben Fry , ambos del Grupo de Estética y Computación del MIT Media Lab . En 2012, iniciaron Processing Foundation junto con Daniel Shiffman , quien se unió como tercer líder del proyecto. Johanna Hedva se incorporó a la Fundación en 2014 como Directora de Incidencia. [2]
Originalmente, Processing tenía la URL de proce55ing.net, porque se tomó el dominio de procesamiento . Finalmente, Reas y Fry adquirieron el dominio Processing.org. [3] Aunque el nombre tenía una combinación de letras y números, todavía se pronunciaba procesando . No prefieren que se haga referencia al entorno como Proce55ing . A pesar del cambio de nombre de dominio, Processing todavía usa el término p5 a veces como un nombre abreviado ( se usa específicamente p5 , no p55 ), por ejemplo, p5.js es una referencia a eso. [4]
En 2012 se estableció Processing Foundation y recibió el estatus de organización sin fines de lucro 501 (c) (3), [5] apoyando a la comunidad en torno a las herramientas e ideas que comenzaron con Processing Project. La fundación anima a las personas de todo el mundo a reunirse anualmente en eventos locales llamados Processing Community Day . [6]
Características
Lanzamiento estable | 3.5.4 / 17 de enero de 2020 |
---|---|
Repositorio | |
Escrito en | Java , GLSL , JavaScript |
Sistema operativo | Multiplataforma |
Tipo | Entorno de desarrollo integrado |
Sitio web | procesando |
El procesamiento incluye un cuaderno de bocetos , una alternativa mínima a un entorno de desarrollo integrado (IDE) para organizar proyectos. [7]
Cada boceto de Processing es en realidad una subclase de la PApplet
clase Java (anteriormente una subclase del Applet integrado de Java) que implementa la mayoría de las características del lenguaje de Processing. [8]
Al programar en Processing, todas las clases adicionales definidas se tratarán como clases internas cuando el código se traduzca a Java puro antes de compilar. [9] Esto significa que el uso de variables y métodos estáticos en clases está prohibido a menos que se le indique explícitamente a Processing que codifique en modo Java puro.
El procesamiento también permite a los usuarios crear sus propias clases dentro del boceto de PApplet. Esto permite tipos de datos complejos que pueden incluir cualquier número de argumentos y evita las limitaciones de utilizar únicamente tipos de datos estándar como: int (entero), char (carácter), float (número real) y color (RGB, RGBA , hex ).
Ejemplos de
La versión más simple posible de un programa "Hola mundo" en Processing es:
// Esto imprime "Hola mundo". a la consola IDE. println ( "Hola mundo" );
Sin embargo, debido a la naturaleza más visual de Processing, el siguiente código es un mejor ejemplo de la apariencia del lenguaje.
// Hola ratón. configuración vacía () { tamaño ( 400 , 400 ); carrera ( 255 ); fondo ( 192 , 64 , 0 ); } dibujar vacío () { línea ( 150 , 25 , mouseX , mouseY ); }
Premios
En 2005, Reas y Fry ganaron el premio Golden Nica de Ars Electronica en su categoría Net Vision por su trabajo en Processing. [10]
Ben Fry ganó el Premio Nacional de Diseño 2011 otorgado por el Museo Nacional de Diseño Smithsonian Cooper-Hewitt en la categoría de Diseño de Interacción. La declaración de adjudicación dice:
"Basándose en su experiencia en diseño gráfico y ciencias de la computación, Ben Fry persigue una fascinación de larga data por la visualización de datos. Como director de Fathom Information Design en Boston, Fry desarrolla software, trabajos impresos, instalaciones y libros que representan y explican temas de desde el genoma humano hasta los salarios del béisbol hasta la evolución de los documentos de texto. Con Casey Reas, fundó Processing Project, un entorno de programación de código abierto para enseñar diseño computacional y esbozar software de medios interactivos. Proporciona a los artistas y diseñadores medios de trabajo accesibles con código mientras se anima a los ingenieros e informáticos a pensar en conceptos de diseño ". [11]
Licencia
Las bibliotecas centrales de Processing, el código incluido en las aplicaciones y subprogramas exportados, tiene la licencia GNU Lesser General Public License , lo que permite a los usuarios publicar su código original con una opción de licencia.
El IDE tiene la licencia GNU General Public License .
Proyectos relacionados
El procesamiento no es un solo idioma, sino un enfoque orientado al arte para aprender, enseñar y hacer cosas con código. Hay varias variantes y proyectos relacionados:
Diseño por números
El procesamiento se basó en el trabajo original realizado en el proyecto Design By Numbers en MIT. Comparte muchas de las mismas ideas y es un hijo directo de ese experimento.
Processing.js
En 2008, John Resig portó Processing a JavaScript usando el elemento Canvas para renderizar, [12] permitiendo que Processing se use en navegadores web modernos sin la necesidad de un complemento de Java. Desde entonces, la gente del software libre, incluidos los estudiantes de Seneca College en Toronto, se ha hecho cargo del proyecto.
Processing.js también se utiliza para promover una programación muy básica para los estudiantes de todas las edades en Khan Academy mediante la creación de dibujos y animaciones. Los alumnos muestran sus creaciones a otros alumnos.
p5.js
En 2013, Lauren McCarthy creó p5.js, una alternativa nativa de JavaScript a Processing.js que cuenta con el apoyo oficial de Processing Foundation.
Processing.py
El modo Python para procesamiento, o Processing.py, es una interfaz de Python para el kit de herramientas de Java subyacente. Fue desarrollado principalmente por Jonathan Feinberg a partir de 2010, con contribuciones de James Gilles y Ben Alkov. [13]
Cableado, Arduino y Fritzing
Processing ha generado otro proyecto, Wiring , que utiliza Processing IDE con una colección de bibliotecas escritas en lenguaje C ++ como una forma de enseñar a los artistas cómo programar microcontroladores . [14] Ahora hay dos proyectos de hardware separados, Wiring y Arduino , que utilizan el entorno y el lenguaje Wiring. Fritzing es otro entorno de software del mismo tipo, que ayuda a los diseñadores y artistas a documentar sus prototipos interactivos y dar el paso del prototipo físico al producto real.
Procesamiento móvil
Otro proyecto derivado, ahora desaparecido, es el procesamiento móvil de Francis Li, que permitió que el software escrito utilizando el lenguaje y el entorno de procesamiento se ejecutara en dispositivos móviles con tecnología Java. Hoy en día, Processing proporciona algunas de las mismas funciones. [15]
iProcessing
iProcessing se creó para ayudar a las personas a desarrollar aplicaciones nativas para iPhone utilizando el lenguaje Processing. Es una integración de la biblioteca Processing.js y un marco de aplicación Javascript para iPhone. [dieciséis]
Spde
Spde (Entorno de desarrollo de procesamiento de Scala) reemplaza la sintaxis reducida de Java y el preprocesador personalizado de Processing con el lenguaje de programación Scala estándar que también se ejecuta en la plataforma Java y aplica algunas de las mismas restricciones, como no permitir métodos estáticos, al tiempo que permite más concisos código y programación funcional de apoyo . [17] [18] [19]
JRubyArt
JRubyArt (anteriormente llamado ruby-processing ) es un contenedor para Processing en el lenguaje Ruby , que se ejecuta en la plataforma Java usando JRuby.
Quil
Quil es una biblioteca de animación interactiva para Clojure y ClojureScript basada en Processing. [20] [21]
Medios de comunicación
El video musical de House of Cards de Radiohead utiliza la creación mediante Processing combinado con datos de la tecnología lidar , junto con el uso de vidrio acrílico y espejos para crear escenas en las que la imagen aparece distorsionada, desaparece parcialmente o se desintegra como si la llevara el viento. [22] El procesamiento también se ha utilizado para crear ilustraciones para publicaciones como Nature y el New York Times , para producir esculturas para exposiciones en galerías, para controlar enormes paredes de video y para tejer suéteres. [23]
Ver también
- Ceniza (C ++)
- OpenFrameworks (C ++)
- JavaFX
- Max (software)
- Codea
Notas al pie
- ^ "Descargar Processing.org" . Processing.org . Consultado el 26 de julio de 2018 .
- ^ "Gente" . Processingfoundation.org . Archivado desde el original el 5 de octubre de 2019 . Consultado el 24 de abril de 2017 .
- ^ "Processing 1.0 _ALPHA_ - processing.org" . Processing.org . Archivado desde el original el 28 de abril de 2012 . Consultado el 24 de diciembre de 2017 .
- ^ "¿Qué significa el número 5 en el nombre" p5 "? · Edición # 2443 · Processing / p5.js" . GitHub .
- ^ Casey Reas; Ben Fry (29 de mayo de 2018). "Un Prometeo moderno" . Medio .
- ^ "PCD" . Medio .
- ^ Ira Greenberg (31 de diciembre de 2007). Procesamiento: Codificación creativa y Arte computacional . Presione. págs. 151–. ISBN 978-1-4302-0310-0.
- ^ Jeanine Meyer (15 de junio de 2018). Programación 101: El cómo y el por qué de la programación revelada utilizando el lenguaje de programación de procesamiento . Presione. págs. 121–. ISBN 978-1-4842-3697-0.
- ^ Ira Greenberg (25 de marzo de 2010). La guía esencial de procesamiento para desarrolladores de Flash . Presione. págs. 412–. ISBN 978-1-4302-1980-4.
- ^ Meredith Hoy (3 de enero de 2017). De punto a píxel: una genealogía de la estética digital . Prensa de la universidad de Dartmouth. págs. 142–. ISBN 978-1-5126-0023-0.
- ^ http://cdn.cooperhewitt.org/2011/05/26/Final%20-%20CHNDM%20NDA%202011%20Winner%20Release%205-26-11.pdf
- ^ "John Resig - Processing.js" .
- ^ Allison Parrish; Ben Fry; Casey Reas (11 de mayo de 2016). Introducción a Processing.py: creación de gráficos interactivos con el modo Python de Processing . Maker Media, Incorporated. ISBN 978-1-4571-8679-0.
- ^ "Procesamiento, cableado y Arduino (EE Tip 101) - Circuit Cellar" . 18 de septiembre de 2013.[ enlace muerto permanente ]
- ^ "Android - Procesando" . Archivado desde el original el 19 de agosto de 2014 . Consultado el 3 de junio de 2013 .
- ^ "iProcessing pone Processing.js en iPhone, pero ¿qué pasa con los navegadores? CDM crea música digital" . 11 de febrero de 2010. Archivado desde el original el 13 de octubre de 2019 . Consultado el 23 de julio de 2018 .
- ^ "Spde: Spde" . Técnicamente. Archivado desde el original el 2 de agosto de 2011 . Consultado el 20 de agosto de 2013 .
- ^ "Procesamiento de Coderspiel / Runaway" . Técnicamente. Archivado desde el original el 10 de noviembre de 2016 . Consultado el 20 de agosto de 2013 .
- ^ "Coderspiel / Flocking con Spde" . Técnicamente . Consultado el 20 de agosto de 2013 .
- ^ "Quil: animación en Clojure" .
- ^ "Quil Intro" .
- ^ Nye, Calley (14 de julio de 2008). "Radiohead se asocia con Google para el lanzamiento de videos musicales" . ISSN 0190-8286 . Consultado el 16 de marzo de 2021 .
- ^ Reas, Casey; Ben Fry (2015). Introducción a Processing (Segunda ed.). San Francisco. pag. 183. ISBN 978-1-4571-8708-7. OCLC 905522686 .
Referencias
- Bohnacker, Hartmut; Gross, Benedikt; Laub, Julia; Lazzeroni, Claudius (22 de agosto de 2012), Diseño generativo: visualizar, programar y crear con procesamiento (1ª ed.), Princeton Architectural Press , p. 472, ISBN 978-1616890773
- Glassner, Andrew (9 de agosto de 2010), Processing for Visual Artists: How to Create Expressive Images and Interactive Art (1ª ed.), AK Peters / CRC Press, p. 955, ISBN 978-1-56881-716-3, archivado desde el original el 21 de abril de 2011
- Reas, Casey; Fry, Ben (17 de junio de 2010), Getting Started with Processing (1ª ed.), Make, p. 208, ISBN 978-1-4493-7980-3
- Noble, Joshua (21 de julio de 2009), Programming Interactivity: A Designer's Guide to Processing, Arduino y Openframeworks (1ª ed.), O'Reilly Media , p. 736, ISBN 978-0-596-15414-1
- Terzidis, Kostas (11 de mayo de 2009), Algoritmos para el diseño visual usando el lenguaje de procesamiento (1ª ed.), Wiley , p. 384, ISBN 978-0-470-37548-8
- Reas, Casey; Fry, Ben; Maeda, John (30 de septiembre de 2007), Processing: A Programming Handbook for Visual Designers and Artists (1ª ed.), The MIT Press, p. 736, ISBN 978-0-262-18262-1, archivado desde el original el 17 de abril de 2011
- Fry, Ben (11 de enero de 2008), Visualizing Data (1ª ed.), O'Reilly Media , p. 382, ISBN 978-0-596-51455-6
- Greenberg, Ira (28 de mayo de 2007), Processing: Creative Coding and Computational Art (Fundación) (1ª ed.), Amigos de ED, p. 840, ISBN 978-1-59059-617-3, archivado desde el original el 27 de enero de 2011
- Shiffman, Daniel (19 de agosto de 2008), Procesamiento de aprendizaje: Guía para principiantes de programación de imágenes, animación e interacción (1ª ed.), Morgan Kaufmann, p. 450, ISBN 978-0-12-373602-4
- Faludi, Robert (4 de enero de 2011), Creación de redes de sensores inalámbricos: con ZigBee, XBee, Arduino y Processing (1ª ed.), O'Reilly Media , p. 320, ISBN 978-0-596-80774-0, archivado desde el original el 12 de junio de 2019 , consultado el 18 de mayo de 2011
- Vantomme, Jan (20 de septiembre de 2012), Processing 2, Creative Programming Cookbook (1ª ed.), Packt Publishing , p. 291, ISBN 9781849517942, archivado desde el original el 2 de julio de 2014 , obtenido el 25 de febrero de 2013
- Pearson, Matt (1 de junio de 2011), Arte generativo, Una guía práctica usando Processing (1ª ed.), Manning, p. 240, ISBN 9781935182627, archivado desde el original el 24 de junio de 2019 , obtenido el 25 de febrero de 2013
- Jan, Vantomme (20 de septiembre de 2012), Processing 2: Creative Programming Cookbook (1ª ed.), Packt Publishing , p. 306, ISBN 978-1849517942, archivado desde el original el 2 de julio de 2014 , obtenido el 25 de febrero de 2013
- Sauter, Daniel (2 de mayo de 2013), Desarrollo rápido de Android: Cree aplicaciones ricas y basadas en sensores con procesamiento (1ª ed.), Pragmatic Bookshelf, p. 300, ISBN 978-1937785062, archivado desde el original el 13 de octubre de 2019 , consultado el 18 de julio de 2013
- Gradwohl, Nikolaus (20 de mayo de 2013), Processing 2: Creative Coding Hotshot (1ª ed.), Packt Publishing , p. 266, ISBN 978-1782166726, archivado desde el original el 2 de julio de 2014 , obtenido el 18 de julio de 2013
enlaces externos
- Página web oficial