Кіріспе

Тегін графикалық кітапхана Processing – электрондық өнер, жаңа медиа өнері және визуалды дизайн қауымдастықтары үшін компьютерлік бағдарламалау негіздерін визуалды контекстте үйрету мақсатында құрылған тегін графикалық кітапхана және интеграцияланған даму ортасы (IDE). Processing Java тілін, сондай-ақ қосымша сыныптар мен математикалық функциялар мен операциялардың жеңілдетілген нұсқаларын пайдаланады. Бұдан өзге, ол кодты құрастыру және орындау кезеңін жеңілдету үшін графикалық интерфейс ұсынады. Processing тілі мен IDE Arduino және Wiring сияқты басқа жобаларға бастама болды.

Тарих

Жоба 2001 жылы МТИ Медиа Лабының Эстетика және есептеу тобының екі бұрынғы мүшесі Кейси Риас және Бен Фрай тарапынан бастамаға алынды. 2012 жылы олар үшінші жоба жетекшісі ретінде қосылған Дэниел Шиффманмен бірге Processing Foundation-ды құрды. Йоханна Хедва 2014 жылы Advocacy директоры ретінде Қорға қосылды. Алғашқыда Processing proce55ing.net доменін пайдаланды, өйткені processing домені қолданыста болды; Риас және Фрай ақырында processing.org доменін сатып алып, 2004 жылы жобаны оған көшірді. Алғашқы атау әріптер мен сандардың комбинациясын қамтыса да, ол әрқашан ресми түрде processing деп аталды, бірақ қысқартылған p5 термині кейде қолданылады (мысалы, "p5.js") ескі домен атауына сілтеме жасау үшін. 2012 жылы Processing Foundation құрылды және 501(c)(3) коммерциялық емес ұйым мәртебесін алды, бұл Processing жобасымен басталган құралдар мен идеяларға байланысты қоғамдастықты қолдады. Қор бүкіл әлемдегі адамдарды жыл сайын жергілікті іс-шараларда Processing Community Day шарасына қатысуға шақырады.

Ерекшеліктері

Өңдеу жобаларды ұйымдастыру үшін интеграцияланған даму ортасына (IDE) қарағанда минималды балама – эскиз кітапшасын қамтиды. Кез келген Processing эскизі, іс жүзінде, PApplet Java класының (бұрын Java-ның Applet кіші класы) кіші класы болып табылады, ол Processing тілінің көптеген мүмкіндіктерін іске асырады. Processing-те бағдарламалау кезінде, код таза Java-ға аударылып компиляцияланатын болғандықтан, барлық қосымша сыныптар ішкі сыныптар ретінде қарастырылады. Бұл, егер Processing-ке нақты айтылмаса, сыныптарда статикалық айнымалылар мен әдістерді пайдалануға тыйым салады, яғни таза Java режимінде код жазылмаса. Өңдеу сонымен қатар пайдаланушыларға PApplet эскизінде өз сыныптарын жасауға мүмкіндік береді. Бұл кез келген сандағы аргументтерді қамти алатын күрделі дерек түрлерін жасауға мүмкіндік береді және тек стандартты дерек түрлерін пайдаланудың шектеулерінен құтылуға көмектеседі, мысалы: int (бүтін сан), char (символ), float (нақты сан) және түс (RGB, RGBA, hex).

Марапаттар

2005 жылы Реас пен Фрай "Processing" жобасы үшін "Ars Electronica" ұйымының "Net Vision" номинациясында "Golden Nica" сыйлығын жеңіп алды. Бен Фрай 2011 жылы Смитсонов Купер Хьюит Ұлттық дизайн мұражайының "Интерактивті дизайн" санатындағы Ұлттық дизайн сыйлығына ие болды. Сыйлық туралы мәлімдемеде мынадай делінген: "Графикалық дизайн және компьютерлік ғылым саласындағы білімімен Бен Фрай деректерді визуализациялауға деген ұзақ жылдардан бергі қызығушылығын жалғастыруда. Бостон қаласындағы Fathom Information Design компаниясының жетекшісі ретінде Фрай адам геномынан бейсбол ойыншыларының жалақысына дейін, тіпті мәтіндік құжаттардың эволюциясына дейінгі тақырыптарды бейнелейтін және түсіндіретін бағдарламалық қамтамасыз ету, баспа өнімдері, инсталляциялар және кітаптарды әзірлейді. Кейси Рисспен бірлесіп, ол есептеу дизайнын оқыту және интерактивті медиа бағдарламаларын жасау үшін ашық кодты бағдарламалау ортасы – Processing Project-ті құрды. Ол суретшілер мен дизайнерлерге кодпен жұмыс істеуге ыңғайлы жағдай жасайды, ал инженерлер мен компьютерлік ғалымдарды дизайн принциптері туралы ойлауға бастайды."

Лицензия

Processing негізгі кітапханалары және экспортталған қосымшалар мен апплеттерге қосылған код GNU Lesser General Public License лицензиясымен лицензияланады, бұл пайдаланушыларға өздерінің бастапқы кодын кез келген лицензия бойынша шығаруға мүмкіндік береді. IDE GNU General Public License лицензиясымен лицензияланған.

Сандар бойынша жобалау

Өңдеу MIT-тегі Design By Numbers жобасы бойынша жасалған бастапқы жұмысқа негізделген. Ол сол жобаның көптеген идеяларын бөліседі және осы тәжірибенің тікелей нәтижесі болып табылады.

p5.js

2013 жылы Лорен Маккарти p5.js құрастырды, бұл Processing.js-қа қарағанда JavaScript-тің түпкілікті баламасы және ол Processing Foundation-ның ресми қолдауына ие. p5.js 1,5 миллионнан астам пайдаланушыны қамтыды. 2022 жылдың сәуірінен бастап p5.js-ті USC медиа өнерінің доценті Qianqian Ye басқарып келеді.

ml5.js

ml5.js – бұл p5.js кітапханасы, Нью-Йорк университетінің ITP/IMA бөлімшесі Google Education грантының қаржылық және әлеуметтік қолдауымен жасалған. Дэниел Шиффман ml5-тің жұмысын көрсететін бейнелер жасады және ол маңызды код жазушылардың бірі.

р5 ойын

p5play – p5.js графикасы және Box2D физикасы үшін қолданылатын JavaScript ойын қозғалтқышы. Паоло Педерчини 2015 жылы p5play (1-нұсқасы) жобасын бастады. Квинтон Эшли 2022 жылы жоба жетекшісі болып тағайындалды және жас ойын әзірлеушілері үшін Scratch пен Unity арасындағы қашықтықты қысқарту мақсатында p5play (3-нұсқасы) құрды. p5play негізінен орта және жоғары сынып мұғалімдері объектіге бағытталған бағдарламалау концепцияларын таныстыру құралы ретінде пайдаланылады. Оның ай сайынғы қолданушыларының саны 25 000-нан астам.

Processing.js (өңдеу)

Өңдеу.js – бұл тоқтатылған JavaScript порты, ол қолданыстағы Processing Java кодын вебте жұмыс істеуге мүмкіндік берді. Ол 2008 жылы Джон Резигпен шығарылды. Кейіннен жоба Дэвид Хамфри, Ал Макдональд және Корбан Брук басқаратын Mozilla Foundation мен Seneca College серіктестігі арқылы жүргізілді. Өңдеу.js API 2.1 нұсқасына дейін Processing-пен үйлесімді болды. Жоба 2018 жылдың желтоқсанында, белсенді әзірлемесі тоқтағаннан кейін екі жыл өткен соң тоқтатылды.

P5Py

p5 – Python тілінде жоғары деңгейдегі графикалық мүмкіндіктерді ұсынатын кітапхана, ол сізге Python-ды пайдаланып симуляцияларды және интерактивті өнер туындыларын жылдам жасауға көмектеседі. Ол Processing-тің негізгі идеяларын – визуалды контекстте бағдарламалауды үйренуді – Python тілінің түсініктілігімен үйлестіріп, бағдарламалауды бастаушыларға, оқытушыларға және суретшілерге оңайырақ жасайды.

Өңдеу.py

Өңдеуге арналған Python режимі немесе Processing.py – Java құралдар жиынтығына Python интерфейсі. Ол негізінен 2010 жылдан бастап Джонатан Файнберг, сондай-ақ Джеймс Гиллс және Бен Алков еңбегімен жасалған.

py5

py5 — Python 3.8+ үшін Processing нұсқасы. Ол JPype арқылы CPython интерпретаторына Java Processing кітапханаларын қолжетімді етеді. Processing-тің істей алатын дерлік барлық нәрсені, тек Java кодының орнына Python тілінде жасауға болады.

Қылжымалы, Ардуино және Фриц

Processing тағы бір жобаны – Wiring-ті пайда етті, ол Processing IDE-ді C++ тілінде жазылған кітапханалар жинағымен суретшілерге микроконтроллерлерді бағдарламалауды үйрету үшін қолданады. Қазір Wiring ортасы мен тілін пайдаланатын Wiring және Arduino деген екі жеке аппараттық жоба бар. Fritzing – бұл дизайнерлер мен суретшілерге интерактивті прототиптерін құжаттауға және физикалық прототиптен нақты өнімге өтуге көмектесетін тағы бір бағдарламалық орта.

Мобильді өңдеу

Тағы бір туынды жоба, қазір тоқтатылған, Фрэнсис Лидің Mobile Processing жобасы еді, ол Processing тілі мен ортасында жазылған бағдарламалық құралдарды Java-да жұмыс істейтін мобильді құрылғыларда іске қосуға мүмкіндік берді. Бүгінде Processing-тің өзінің бірқатар мүмкіндіктерін ұсынады.

Өңдеу

iProcessing – Processing тілінде iPhone-ға арналған қосымшаларды жасауға көмектесу үшін жасалған. Бұл Processing.js кітапханасының және iPhone үшін Javascript қосымшалық аясының интеграциясы болып табылады.

Спде

Spde (Scala Processing Development Environment) Processing-тің қарапайым Java синтаксисі мен арнайы препроцессорын, Java платформасында жұмыс істейтін, статикалық әдістерге рұқсат бермеу сияқты бірдей шектеулерді сақтайтын, сонымен қатар ықшам код жазуға және функционалдық бағдарламалауды қолдауға мүмкіндік беретін Scala бағдарламалау тілімен ауыстырады.

JRubyArt- тің атауы

JRubyArt (бұрын Ruby Processing деп аталған) – JRuby арқылы Java платформасында жұмыс істейтін Ruby тіліндегі Processing үшін жасалған қаптама.

Қалқа

Quil — Processing негізіндегі Clojure және ClojureScript үшін интерактивті анимация кітапханасы.

Медиа

Radiohead тобының "House of Cards" әніне түсірілген бейнеклип Processing бағдарламасымен және лидар технологиясынан алынған деректерді үйлестіру арқылы жасалды. Сонымен қатар, акрил шыны мен айналар қолданылып, бейне бұрмаланған, жартылай жоғалған немесе желмен бірге ыдырап бара жатқандай көріністер құрылды. Processing бағдарламасы Nature және The New York Times сияқты жарияланымдар үшін иллюстрациялар жасауға, галереялардағы көрмелерге арналған мүсіндерді шығаруға, үлкен бейне қабырғаларын басқаруға және тіпті свитерлер тоқуға да қолданылды.