Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Processing - это бесплатная графическая библиотека и интегрированная среда разработки (IDE), созданная для сообществ в области электронного искусства, нового медиа-искусства и визуального дизайна с целью обучения непрограммистов основам компьютерного программирования в визуальном контексте.

Обработка использует язык Java с дополнительными упрощениями, такими как дополнительные классы и математические функции и операции с псевдонимами. Он также предоставляет графический пользовательский интерфейс для упрощения этапа компиляции и выполнения.

Язык Processing и IDE были предшественниками других проектов, включая Arduino , Wiring и p5.js.

История [ править ]

Проект был инициирован в 2001 году Кейси Риасом и Беном Фраем , которые ранее работали в группе эстетики и вычислений в MIT Media Lab . В 2012 году они основали Processing Foundation вместе с Дэниелом Шиффманом , который присоединился в качестве третьего руководителя проекта. Йоханна Хедва присоединилась к Фонду в 2014 году в качестве директора по адвокации. [2]

Первоначально у Processing был URL-адрес proc55ing.net, потому что домен обработки был занят . В конце концов Реас и Фрай приобрели домен processing.org. [3] Хотя имя состояло из комбинации букв и цифр, оно все же произносилось как « обработка» . Они не предпочитают, чтобы среда называлась Proce55ing . Несмотря на изменение имени домена, Processing по-прежнему использует термин p5 иногда как сокращенное имя ( конкретно используется p5 , а не p55 ), например p5.js является ссылкой на это. [4]

В 2012 году был создан Фонд обработки, который получил статус некоммерческой организации 501 (c) (3) [5], поддерживая сообщество в отношении инструментов и идей, которые начались с проекта обработки. Фонд призывает людей со всего мира ежегодно встречаться на местных мероприятиях, называемых Днем сообщества обработки . [6]

Особенности [ править ]

В Processing входит альбом для рисования , минимальная альтернатива интегрированной среде разработки (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 ( "Привет, мир." );

Однако из-за более визуально ориентированного характера обработки следующий код является лучшим примером внешнего вида языка.

// Привет, мышь. void  setup ()  {  size ( 400 ,  400 );  ход ( 255 );  фон ( 192 ,  64 ,  0 ); }void  draw ()  {  линия ( 150 ,  25 ,  mouseX ,  mouseY ); }

Награды [ править ]

В 2005 году Реас и Фрай выиграли награду Golden Nica от Ars Electronica в категории Net Vision за свою работу над обработкой. [10]

Бен Фрай получил награду National Design Award 2011 от Смитсоновского национального музея дизайна Купер-Хьюитта в категории «Дизайн взаимодействия». В заявлении о награждении говорится:

"Опираясь на опыт работы в области графического дизайна и информатики, Бен Фрай давно увлекается визуализацией данных. В качестве руководителя Fathom Information Design в Бостоне Фрай разрабатывает программное обеспечение, печатные работы, инсталляции и книги, которые изображают и объясняют темы из геном человека, бейсбольные зарплаты, эволюция текстовых документов. Вместе с Кейси Реасом он основал Processing Project, среду программирования с открытым исходным кодом для обучения вычислительному дизайну и создания эскизов программного обеспечения для интерактивных медиа. Она предоставляет художникам и дизайнерам доступные средства работы с кодом, побуждая инженеров и компьютерных специалистов задуматься о концепциях дизайна ". [11]

Лицензия [ править ]

Базовые библиотеки Processing, код, включенный в экспортируемые приложения и апплеты, лицензируются в рамках Стандартной общественной лицензии ограниченного применения GNU , что позволяет пользователям выпускать свой исходный код с выбором лицензии.

IDE находится под лицензией GNU General Public License .

Связанные проекты [ править ]

Обработка - это не единый язык, а, скорее, ориентированный на искусство подход к обучению, преподаванию и созданию вещей с помощью кода. Есть несколько вариантов и связанных проектов:

Дизайн по номерам [ править ]

Обработка была основана на оригинальной работе, выполненной в MIT над проектом Design By Numbers . Он разделяет многие из тех же идей и является прямым детищем этого эксперимента.

Processing.js [ править ]

В 2008 году Джон Ресиг перенес обработку Processing на JavaScript, используя для рендеринга элемент Canvas [12], что позволило использовать Processing в современных веб-браузерах без необходимости в подключаемом модуле Java. С тех пор люди, занимающиеся свободным программным обеспечением, включая студентов колледжа Сенека в Торонто, взяли на себя руководство проектом.

Processing.js также используется для пропаганды базового программирования для студентов всех возрастов в Khan Academy путем создания рисунков и анимации. Учащиеся демонстрируют свои творения другим учащимся.

p5.js [ править ]

В 2013 году Лорен Маккарти создала p5.js, нативную JavaScript- альтернативу Processing.js, имеющую официальную поддержку Processing Foundation.

Processing.py [ править ]

Режим Python для обработки или Processing.py - это интерфейс Python для базового набора инструментов Java. Он был в основном разработан Джонатаном Файнбергом, начиная с 2010 года, при участии Джеймса Жиля и Бена Алкова. [13]

Проводка, Arduino и Fritzing [ править ]

Processing породила еще один проект, Wiring , в котором используется Processing IDE с набором библиотек, написанных на языке C ++, как способ научить художников программировать микроконтроллеры . [14] В настоящее время существует два отдельных аппаратных проекта, Wiring и Arduino , использующие среду и язык Wiring. Fritzing - это еще одна программная среда того же типа, которая помогает дизайнерам и художникам документировать свои интерактивные прототипы и делать шаг от физического прототипа к реальному продукту.

Мобильная обработка [ править ]

Другой побочный проект, ныне несуществующий, - это Mobile Processing от Francis Li, который позволил программному обеспечению, написанному с использованием языка Processing и среды, работать на мобильных устройствах на базе Java. Сегодня некоторые из тех же функций предоставляются самой обработкой. [15]

iProcessing [ править ]

iProcessing был создан, чтобы помочь людям разрабатывать собственные приложения для iPhone с использованием языка Processing. Это интеграция библиотеки Processing.js и фреймворка Javascript для iPhone. [16]

Spde [ править ]

Spde (среда разработки Scala Processing) заменяет сокращенный синтаксис Java и настраиваемый препроцессор Processing на стандартный язык программирования Scala, который также работает на платформе Java, и налагает некоторые из тех же ограничений, например, запрещение статических методов, но при этом позволяет более кратко. код и поддержка функционального программирования . [17] [18] [19]

JRubyArt [ править ]

JRubyArt (ранее называвшийся ruby-processing ) - это оболочка для Processing на языке Ruby , которая работает на платформе Java с использованием JRuby.

Quil [ править ]

Quil - это интерактивная библиотека анимации для Clojure и ClojureScript, основанная на обработке. [20] [21]

См. Также [ править ]

  • Cinder (C ++)
  • OpenFrameworks (C ++)
  • JavaFX
  • Макс (программное обеспечение)
  • Codea

Сноски [ править ]

  1. ^ "Скачать Processing.org" . processing.org . Проверено 26 июля 2018 .
  2. ^ "Люди" . processingfoundation.org . Архивировано из оригинала на 2019-10-05 . Проверено 24 апреля 2017 .
  3. ^ "Обработка 1.0 _ALPHA_ - processing.org" . processing.org . Архивировано из оригинала на 2012-04-28 . Проверено 24 декабря 2017 .
  4. ^ «Что означает цифра 5 в имени« p5 »? · Проблема № 2443 · processing / p5.js» . GitHub .
  5. ^ https://medium.com/processing-foundation/a-modern-prometheus-59aed94abe85 . Отсутствует или пусто |title=( справка )
  6. ^ https://medium.com/processing-foundation/pcd/home . Отсутствует или пусто |title=( справка )
  7. Ира Гринберг (31 декабря 2007 г.). Обработка: творческое кодирование и компьютерное искусство . Апресс. С. 151–. ISBN 978-1-4302-0310-0.
  8. Джанин Мейер (15 июня 2018 г.). Программирование 101: как и зачем программировать, раскрытое с помощью языка программирования обработки . Апресс. стр. 121–. ISBN 978-1-4842-3697-0.
  9. Ира Гринберг (25 марта 2010 г.). Основное руководство по обработке для разработчиков Flash . Апресс. С. 412–. ISBN 978-1-4302-1980-4.
  10. Мередит Хой (3 января 2017 г.). От точки к пикселю: генеалогия цифровой эстетики . Издательство Дартмутского колледжа. С. 142–. ISBN 978-1-5126-0023-0.
  11. ^ http://cdn.cooperhewitt.org/2011/05/26/Final%20-%20CHNDM%20NDA%202011%20Winner%20Release%205-26-11.pdf
  12. ^ «Джон Ресиг - Processing.js» .
  13. ^ Эллисон Пэрриш; Бен Фрай; Кейси Риас (11 мая 2016 г.). Начало работы с Processing.py: создание интерактивной графики в режиме Python для обработки . Maker Media, Incorporated. ISBN 978-1-4571-8679-0.
  14. ^ «Обработка, проводка и Arduino (EE Tip 101) - Circuit Cellar» . 18 сентября 2013 г.[ постоянная мертвая ссылка ]
  15. ^ «Android - Обработка» . Архивировано из оригинала на 2014-08-19 . Проверено 3 июня 2013 .
  16. ^ «iProcessing помещает Processing.js на iPhone - но как насчет браузеров? - CDM создает цифровую музыку» . 11 февраля 2010 года Архивировано из оригинала 13 октября 2019 года . Проверено 23 июля 2018 года .
  17. ^ "Spde: Spde" . Технически мы. Архивировано из оригинала на 2011-08-02 . Проверено 20 августа 2013 .
  18. ^ "Coderspiel / Runaway обработка" . Технически мы. Архивировано из оригинала на 2016-11-10 . Проверено 20 августа 2013 .
  19. ^ "Coderspiel / Flocking with Spde" . Технически мы . Проверено 20 августа 2013 .
  20. ^ "Quil: анимация в Clojure" .
  21. ^ "Quil Intro" .

Ссылки [ править ]

  • Бонакер, Хартмут; Гросс, Бенедикт; Лауб, Джулия; Лаззерони, Клавдий (22 августа 2012 г.), Генеративный дизайн: визуализировать, программировать и создавать с обработкой (1-е изд.), Princeton Architectural Press , стр. 472, ISBN 978-1616890773
  • Гласснер, Эндрю (9 августа 2010 г.), Обработка для визуальных художников: как создавать выразительные изображения и интерактивное искусство (1-е изд.), AK Peters / CRC Press, стр. 955, ISBN 978-1-56881-716-3, Архивируются с оригинала на 21 апреля 2011
  • Реас, Кейси; Фрай, Бен (17 июня 2010 г.), Начало работы с обработкой (1-е изд.), Make, стр. 208, ISBN 978-1-4493-7980-3
  • Ноубл, Джошуа (21 июля 2009 г.), Программирование интерактивности: Руководство разработчика по обработке, Arduino и Openframeworks (1-е изд.), O'Reilly Media , стр. 736, ISBN 978-0-596-15414-1
  • Терзидис, Костас (11 мая 2009 г.), Алгоритмы визуального дизайна с использованием языка обработки (1-е изд.), Wiley , p. 384, ISBN 978-0-470-37548-8
  • Реас, Кейси; Фрай, Бен; Маэда, Джон (30 сентября 2007 г.), Обработка: Руководство по программированию для визуальных дизайнеров и художников (1-е изд.), MIT Press, стр. 736, ISBN 978-0-262-18262-1, Архивируются с оригинала на 17 апреля 2011
  • Фрай, Бен (11 января 2008 г.), Визуализация данных (1-е изд.), O'Reilly Media , стр. 382, ISBN 978-0-596-51455-6
  • Гринберг, Ира (28 мая 2007 г.), Обработка: Creative Coding and Computational Art (Foundation) (1-е изд.), Друзья ED, стр. 840, ISBN 978-1-59059-617-3, Архивируются с оригинала на 27 января 2011 года
  • Шиффман, Дэниел (19 августа 2008 г.), Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction (1 ed.), Morgan Kaufmann, p. 450, ISBN 978-0-12-373602-4
  • Фалуди, Роберт (4 января 2011 г.), Построение беспроводных сенсорных сетей: с ZigBee, XBee, Arduino и Processing (1-е изд.), O'Reilly Media , стр. 320, ISBN 978-0-596-80774-0, заархивировано из оригинала 12 июня 2019 г. , извлечено 18 мая 2011 г.
  • Вантомм, январь (20 сентября 2012 г.), Обработка 2, Поваренная книга творческого программирования (1-е изд.), Packt Publishing , стр. 291, ISBN 9781849517942, заархивировано из оригинала 2 июля 2014 г. , получено 25 февраля 2013 г.
  • Пирсон, Мэтт (1 июня 2011 г.), Генеративное искусство, Практическое руководство по обработке (1-е изд.), Мэннинг, стр. 240, ISBN 9781935182627, заархивировано из оригинала 24 июня 2019 г. , получено 25 февраля 2013 г.
  • Ян, Вантомм (20 сентября 2012 г.), Обработка 2: Поваренная книга творческого программирования (1-е изд.), Packt Publishing , стр. 306, ISBN 978-1849517942, заархивировано из оригинала 2 июля 2014 г. , получено 25 февраля 2013 г.
  • Sauter, Daniel (2 мая 2013 г.), Rapid Android Development: Build Rich, Sensor-based Applications with Processing (1-е изд.), Pragmatic Bookshelf, стр. 300, ISBN 978-1937785062, заархивировано из оригинала 13 октября 2019 г. , получено 18 июля 2013 г.
  • Gradwohl, Nikolaus (20 мая 2013 г.), Processing 2: Creative Coding Hotshot (1-е изд.), Packt Publishing , стр. 266, ISBN 978-1782166726, заархивировано из оригинала 2 июля 2014 г. , получено 18 июля 2013 г.

Внешние ссылки [ править ]

  • Официальный веб-сайт