Processing — это бесплатная графическая библиотека и интегрированная среда разработки (IDE), созданная для сообществ электронного искусства, нового медиа-искусства и визуального дизайна с целью обучения непрограммистов основам компьютерного программирования в визуальном контексте.
Для обработки используется язык Java с дополнительными упрощениями, такими как дополнительные классы и псевдонимы математических функций и операций. Он также предоставляет графический интерфейс пользователя для упрощения этапов компиляции и выполнения.
Язык обработки и IDE были предшественниками других проектов, включая Arduino и Wiring .
Проект был инициирован в 2001 году Кейси Рисом и Беном Фраем , ранее работавшими в группе эстетики и вычислений Медиа-лаборатории Массачусетского технологического института . В 2012 году они основали Processing Foundation вместе с Дэниелом Шиффманом , который присоединился к ним в качестве третьего руководителя проекта. Йоханна Хедва присоединилась к Фонду в 2014 году в качестве директора по адвокации. [2]
Первоначально обработка использовала домен proce55ing.net, поскольку домен обработки был занят; В конечном итоге Рис и Фрай приобрели доменprocessing.org и перенесли на него проект в 2004 году . иногда используется (например, в «p5.js») по отношению к старому доменному имени. [4]
В 2012 году был создан Фонд обработки, который получил статус некоммерческой организации 501(c)(3), [5] поддерживая сообщество вокруг инструментов и идей, которые начались с Проекта обработки. Фонд призывает людей по всему миру ежегодно встречаться на местных мероприятиях, называемых Днем сообщества обработки данных. [6]
В состав обработки входит альбом для рисования — минимальная альтернатива интегрированной среде разработки (IDE) для организации проектов. [7]
Каждый скетч Processing на самом деле является подклассом класса PApplet
Java (ранее — подклассом встроенного апплета Java), который реализует большинство функций языка Processing. [8]
При программировании в Processing все определенные дополнительные классы будут рассматриваться как внутренние классы , когда код перед компиляцией преобразуется в чистый Java. [9] Это означает, что использование статических переменных и методов в классах запрещено, если процессору явно не указано кодировать в чистом режиме Java.
Обработка также позволяет пользователям создавать свои собственные классы в эскизе PApplet. Это позволяет использовать сложные типы данных , которые могут включать любое количество аргументов, и позволяет избежать ограничений использования только стандартных типов данных, таких как: int (целое число), char (символ), float (действительное число) и цвет (RGB, RGBA , шестнадцатеричный). ).
Самая простая возможная версия программы «Hello World» в Processing:
// Это напечатает «Hello World». на консоль IDE. println ( "Привет, мир." );
Однако из-за более визуально ориентированной природы обработки следующий код [10] является лучшим примером внешнего вида языка.
// Привет, мышка. недействительная настройка () { размер ( 400 , 400 ); инсульт ( 255 ); фон ( 192 , 64 , 0 ); } void draw () { line ( 150 , 25 , mouseX , mouseY ); }
В 2005 году Риас и Фрай выиграли награду Golden Nica от Ars Electronica в категории Net Vision за свою работу над обработкой. [11]
Бен Фрай выиграл Национальную премию дизайна 2011 года, присуждаемую Смитсоновским национальным музеем дизайна Купера-Хьюитта в категории «Интерактивный дизайн». В заявлении о награждении говорится:
«Опираясь на опыт работы в области графического дизайна и информатики, Бен Фрай давно увлекается визуализацией данных. Будучи директором Fathom Information Design в Бостоне, Фрай разрабатывает программное обеспечение, печатные работы, инсталляции и книги, которые изображают и объясняют темы из от человеческого генома до бейсбольных зарплат и эволюции текстовых документов. Вместе с Кейси Рисом он основал Processing Project — среду программирования с открытым исходным кодом для обучения компьютерному дизайну и созданию эскизов интерактивного программного обеспечения. Она предоставляет художникам и дизайнерам доступные средства работы. с кодом, одновременно побуждая инженеров и компьютерщиков задуматься над концепциями дизайна». [12]
Основные библиотеки Processing, код, включенный в экспортированные приложения и апплеты, лицензируются по лицензии GNU Lesser General Public License , что позволяет пользователям выпускать свой исходный код с выбором лицензии.
IDE распространяется по лицензии GNU General Public License .
Обработка основывалась на исходной работе, выполненной в рамках проекта Design By Numbers в Массачусетском технологическом институте. Он разделяет многие из тех же идей и является прямым детищем этого эксперимента.
В 2013 году Лорен Маккарти создала p5.js, нативную JavaScript- альтернативу Processing.js, имеющую официальную поддержку Processing Foundation. p5.js привлек более 1,5 миллиона пользователей. [13]
С апреля 2022 года p5.js возглавляет Цяньцянь Е, адъюнкт-профессор медиаискусства Университета Южной Калифорнии. [14]
ml5.js — это библиотека p5.js, разработанная ITP/IMA Нью-Йоркского университета при финансировании и поддержке гранта Google Education.
Дэниел Шиффман снял видеоролики, демонстрирующие ml5, и является заметным автором кода.
p5play — игровой движок JavaScript , использующий p5.js для графики и Box2D для физики.
Паоло Педерчини инициировал p5.play (версию 1) в 2015 году. Куинтон Эшли стал руководителем проекта в 2022 году и создал p5play (версию 3), чтобы преодолеть разрыв между Scratch и Unity для молодых разработчиков игр.
p5play в первую очередь был принят преподавателями средних и старших классов как инструмент для ознакомления с концепциями объектно-ориентированного программирования. У него более 25 000 пользователей в месяц. [15]
Processing.js — это прекращенный порт JavaScript , который позволял запускать существующий код Processing Java в Интернете.
Первоначально он был выпущен в 2008 году Джоном Ресигом . Позже проект реализовывался в рамках партнерства между Фондом Mozilla и Колледжем Сенека под руководством Дэвида Хамфри, Эла Макдональда и Корбана Брука. Processing.js оставался на том же уровне, что и Processing, вплоть до выпуска API версии 2.1.
Проект был прекращен в декабре 2018 года, через два года после прекращения его активной разработки.
p5 — это библиотека Python, которая предоставляет высокоуровневые функции рисования, которые помогут вам быстро создавать симуляции и интерактивные рисунки с помощью Python. Он сочетает в себе основные идеи обработки кода — обучение кодированию в визуальном контексте — с читабельностью Python, что делает программирование более доступным для новичков, преподавателей и художников. [16]
Режим Python для обработки или Processing.py — это интерфейс Python для базового набора инструментов Java. Начиная с 2010 года, он был разработан Джонатаном Фейнбергом при участии Джеймса Жиля и Бена Алкова. [17]
py5 — это версия Processing для Python 3.8+. Это делает jar-файлы обработки Java доступными для интерпретатора CPython с использованием JPype. Он может делать практически все, что может делать Processing, за исключением кода Python вместо кода Java. [18]
Processing породил еще один проект, Wiring , который использует Processing IDE с коллекцией библиотек, написанных на языке C++, как способ обучения художников программированию микроконтроллеров . [19] Сейчас существует два отдельных аппаратных проекта, Wiring и Arduino , использующих среду и язык Wiring. Fritzing — еще одна программная среда того же типа, которая помогает дизайнерам и художникам документировать свои интерактивные прототипы и сделать шаг от физического прототипирования к реальному продукту.
Еще один побочный проект, ныне несуществующий, - это Mobile Processing Фрэнсиса Ли, который позволил программному обеспечению, написанному с использованием языка и среды Processing, работать на мобильных устройствах на базе Java. Сегодня часть тех же функций обеспечивается самой Обработкой. [20]
iProcessing был создан, чтобы помочь людям разрабатывать собственные приложения для iPhone с использованием языка обработки. Это интеграция библиотеки Processing.js и платформы приложений Javascript для iPhone. [21]
Spde (среда разработки обработки Scala) заменяет сокращенный синтаксис Java и специальный препроцессор Processing готовым языком программирования Scala , который также работает на платформе Java и налагает некоторые из тех же ограничений, таких как запрет статических методов, а также позволяет более лаконично код и поддержка функционального программирования . [22] [23] [24]
JRubyArt (ранее называвшийся Ruby-processing ) — это оболочка для обработки на языке Ruby , которая работает на платформе Java с использованием JRuby.
Quil — это интерактивная библиотека анимации для Clojure и ClojureScript, основанная на Processing. [25] [26]
Музыкальное видео Radiohead на песню « House of Cards » было создано с использованием обработки в сочетании с данными лидарной технологии, а также с использованием акрилового стекла и зеркал для создания сцен, в которых изображение кажется искаженным, частично исчезает или распадается, как будто его несет ветер. . [27] Обработка также использовалась для создания иллюстраций для таких изданий, как Nature и The New York Times , для вывода скульптур для галерейных выставок, для управления огромными видеостенами и для вязания свитеров. [28]
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка )