Введение
Бесплатная графическая библиотека
Графическая библиотека
the graphics library
Processing — это бесплатная графическая библиотека и интегрированная среда разработки (IDE), созданная для сообществ электронного искусства, нового медиаискусства и визуального дизайна с целью обучения не-программистов основам компьютерного программирования в визуальном контексте. Processing использует язык Java с дополнительными упрощениями, такими как дополнительные классы и математические функции и операции, имеющие альтернативные названия. Она также предоставляет графический пользовательский интерфейс для упрощения этапов компиляции и выполнения. Язык и IDE Processing стали основой для других проектов, включая Arduino и Wiring.
История
Проект был инициирован в 2001 году Кейси Рисом и Беном Фраем, оба ранее работали в группе Aesthetics and Computation Group при MIT Media Lab. В 2012 году они основали Фонд Processing вместе с Дэниелом Шиффманом, который присоединился в качестве третьего руководителя проекта. Йоханна Хедва присоединилась к Фонду в 2014 году в качестве директора по защите интересов. Изначально Processing использовал домен proce55ing.net, так как домен processing.com был занят; Риас и Фрай в конечном итоге приобрели домен processing.org и перенесли на него проект в 2004 году. Хотя первоначальное название представляло собой комбинацию букв и цифр, официально оно всегда называлось Processing, но сокращенный термин p5 все еще иногда используется (например, в "p5.js") в отсылке к старому доменному имени. В 2012 году был создан Фонд Processing и получен статус некоммерческой организации 501(c)(3), поддерживающий сообщество вокруг инструментов и идей, возникших с Проекта Processing. Фонд поощряет людей по всему миру ежегодно встречаться на локальных мероприятиях, называемых Днем сообщества Processing.
Особенности
Обработка включает в себя редактор эскизов – минимальную альтернативу интегрированной среде разработки (IDE) для организации проектов. Каждый эскиз Processing фактически является подклассом класса PApplet Java (ранее подклассом встроенного в Java Applet), который реализует большинство функций языка Processing. При программировании в Processing все дополнительные определенные классы будут рассматриваться как вложенные классы при переводе кода в чистый Java перед компиляцией. Это означает, что использование статических переменных и методов в классах запрещено, если Processing явно не переведен в режим чистой Java. Processing также позволяет пользователям создавать собственные классы внутри эскиза PApplet. Это позволяет создавать сложные типы данных, которые могут включать любое количество аргументов и избегать ограничений, связанных с использованием только стандартных типов данных, таких как: int (целое число), char (символ), float (число с плавающей точкой) и color (RGB, RGBA, шестнадцатеричный код).
Награды
В 2005 году Рис и Фрай получили премию Golden Nica от Ars Electronica в категории Net Vision за их работу над Processing. Бен Фрай выиграл Национальную премию дизайна 2011 года, присуждаемую Смитсоновским национальным музеем дизайна Купера Хьюитта в категории "Интерактивный дизайн". В заявлении о награждении говорится:
"Опираясь на опыт в области графического дизайна и компьютерных наук, Бен Фрай проявляет давний интерес к визуализации данных. Будучи директором Fathom Information Design в Бостоне, Фрай разрабатывает программное обеспечение, печатные издания, инсталляции и книги, которые иллюстрируют и объясняют темы – от генома человека до зарплат игроков в бейсбол и эволюции текстовых документов. Вместе с Кейси Рисом он основал проект Processing, среду программирования с открытым исходным кодом для обучения вычислительному дизайну и создания эскизов интерактивного медиа-программного обеспечения. Она предоставляет художникам и дизайнерам доступные инструменты для работы с кодом, одновременно стимулируя инженеров и специалистов в области компьютерных наук к осмыслению концепций дизайна."
Лицензия
Основные библиотеки Processing и код, включаемый в экспортируемые приложения и апплеты, распространяются под лицензией GNU Lesser General Public License, позволяющей пользователям публиковать свой исходный код под собственной лицензией по их выбору. Сама среда разработки (IDE) лицензируется под лицензией GNU General Public License.
Проектирование по числу
Обработка была основана на оригинальной работе, проделанной в рамках проекта Design By Numbers в Массачусетском технологическом институте (MIT). Она разделяет многие из тех же идей и является прямым развитием этого эксперимента.
p5.js
В 2013 году Лорен Маккарти создала p5.js, альтернативу Processing.js на языке JavaScript, разработанную с использованием нативных возможностей этого языка и имеющую официальную поддержку фонда Processing. p5.js приобрела более 1,5 миллионов пользователей. С апреля 2022 года p5.js возглавляет Кьянцзян Йе, адъюнкт-доцент медиаискусства в USC.
ml5.js
ml5.js — это библиотека p5.js, разработанная ITP/IMA Нью-Йоркского университета при финансовой поддержке и поддержке гранта Google Education. Дэниел Шиффман создал серию видеороликов, демонстрирующих возможности ml5, и является одним из основных разработчиков кода.
p5играть
p5play — это JavaScript-игровой движок, использующий p5.js для графики и Box2D для физики. Паоло Педерчини начал разработку p5.play (версия 1) в 2015 году. Квинтон Эшли возглавил проект в 2022 году и создал p5play (версия 3), чтобы обеспечить переход от Scratch к Unity для начинающих разработчиков игр. p5play в основном используется преподавателями средних и старших классов в качестве инструмента для обучения основам объектно-ориентированного программирования. У движка более 25 000 ежемесячных пользователей.
Обработка.js
Processing.js — это устаревший порт языка JavaScript, который позволял запускать существующий код Processing на Java в веб-браузере. Он был впервые выпущен в 2008 году Джоном Резигом. Впоследствии проект поддерживался в партнерстве между Mozilla Foundation и Seneca College под руководством Дэвида Хамфри, Аля Макдональда и Корбана Брука. Processing.js поддерживал совместимость с Processing вплоть до выпуска версии API 2.1. Проект был прекращен в декабре 2018 года, спустя два года после остановки активной разработки.
P5Py
p5 — это библиотека Python, которая предоставляет высокоуровневые функции для рисования, помогающие быстро создавать симуляции и интерактивные художественные произведения с использованием Python. Она сочетает в себе основные принципы Processing — обучение программированию в визуальной среде — с удобочитаемостью Python, чтобы сделать программирование более доступным для начинающих, преподавателей и художников.
Обработка.
Python Mode for Processing, или Processing.py — это Python-интерфейс к лежащему в основе Java-набору инструментов. Он был в основном разработан Джонатаном Файнбергом, начиная с 2010 года, при участии Джеймса Гиллса и Бена Алкова.
py5
py5 — это версия Processing для Python 3.8 и выше. Она предоставляет Java-архивы Processing интерпретатору CPython посредством JPype. py5 позволяет выполнять практически все то же самое, что и Processing, но с использованием кода на Python вместо Java.
Проводка, Arduino и Fritzing
Processing породила еще один проект, Wiring, который использует среду разработки Processing (Processing IDE) вместе с набором библиотек, написанных на языке C++, для обучения художников программированию микроконтроллеров. Сейчас существует два отдельных аппаратных проекта – Wiring и Arduino, использующих среду и язык Wiring. Fritzing – это еще одна программная среда аналогичного типа, которая помогает дизайнерам и художникам документировать свои интерактивные прототипы и перейти от физического прототипирования к созданию реального продукта.
Мобильная обработка
Другой побочный проект, который больше не поддерживается, – Mobile Processing от Фрэнсиса Ли, позволявший программному обеспечению, написанному на языке и в среде Processing, работать на мобильных устройствах на базе Java. Сегодня часть этой функциональности реализована непосредственно в Processing.
Обработка
iProcessing был разработан, чтобы помочь людям создавать нативные приложения для iPhone, используя язык Processing. Это интеграция библиотеки Processing.js и фреймворка Javascript-приложений для iPhone.
Спде
Spde (Scala Processing Development Environment) заменяет упрощенный синтаксис Java и нестандартный препроцессор на готовый к использованию язык программирования Scala, который также работает на платформе Java и накладывает некоторые из тех же ограничений, например, запрет на статические методы, при этом позволяя писать более лаконичный код и поддерживая функциональное программирование.
JRubyArt (полное имя)
JRubyArt (ранее известный как ruby processing) — это надстройка для Processing на языке Ruby, работающая на платформе Java с использованием JRuby.
Плитка
Quil — интерактивная библиотека анимации для Clojure и ClojureScript, основанная на Processing.
Медиа
Музыкальное видео Radiohead "House of Cards" было создано с помощью среды Processing в сочетании с данными, полученными с помощью лидар-технологии. Также использовались акриловое стекло и зеркала для создания сцен, в которых изображение выглядит искаженным, частично исчезает или рассыпается, словно подхваченное ветром. Processing также применяется для создания иллюстраций для таких изданий, как Nature и The New York Times, для вывода скульптур на галерейных выставках, управления большими видеостенами и даже для вязания свитеров.