این مقاله نیازمند ویکیسازی است. لطفاً با توجه به راهنمای ویرایش و شیوهنامه، محتوای آن را بهبود بخشید. (ژوئن ۲۰۱۹) |
![]() | |
پارادایم برنامهنویسی | Object-oriented |
---|---|
ظهوریافته در | ۲۰۰۱ |
انتشار پایدار | ۴.۲
/ ۲۰ فوریه ۲۰۲۳[۱] |
پروانه | GPL, LGPL |
.pde | |
وبگاه |
پراسسینگ (به انگلیسی Processing) یک کتابخانه گرافیکی منبع باز و محیط توسعه یکپارچه (IDE) برای کارآموزی جوامع هنرهای الکترونیکی، هنر رسانههای جدید و طراحی بصری است که هدف آن آموزش مبانی برنامهنویسی رایانهای در یک زمینه بصری است.
پراسسینگ از زبان برنامهنویسی جاوا، به کمک ابزارهای اضافی ساده مانند کلاسهای اضافی و توابع ریاضی و عملیات تعریف شده استفاده میکند. همچنین یک رابط کاربری گرافیکی برای سادهسازی مرحله تدوین و اجرا دارد.
زبان پراسسینگ و IDE بسیاری از پروژههای دیگر، به ویژه Arduino , Wiring و p5.js را پیش بردهاست.
این پروژه در سال ۲۰۰۱ توسط کیسی ریس و بن فرای، که قبلاً عضو گروه زیباییشناسی و محاسبات در آزمایشگاه رسانه MIT بودند آغاز شد. در سال ۲۰۱۲، آنها بنیاد پراسسینگ را همراه با دانیل شیفمن، که به عنوان سرپرست سوم پروژه پیوست، شروع کردند. یوهاندا هدوا در سال ۲۰۱۴ به عنوان مدیر پشتیبانی به این پروژه پیوست.[۲]
در اصل، پراسسینگ نشانی اینترنتی proce55ing.net را داشت، زیرا دامنه پراسسینگ اشغال شده بود. سپس ریس و فرای دامنهٔ processing.org را به دست آوردند.[۳] گرچه این نام ترکیبی از حروف و اعداد بود، اما همچنان پراسسینگ خوانده میشود. آنها Proce55ing را ترجیح نمیدهند. علیرغم تغییر نام دامنه، پراسسینگ هنوز هم اصطلاح p5 را به عنوان نام اختصاری نامیدهاست (P5 بجای p55 استفاده میشود)، به عنوان مثال p5.js که به آن اشاره دارد.[۴]
![]() | |
![]() عکسی از محیط یکپارچه توسعه نرمافزار پراسسینگ | |
انتشار پایدار | ۳.۵.۴
/ ۱۷ ژانویه ۲۰۲۰ |
---|---|
مخزن | |
نوشتهشده با | Java, GLSL , JavaScript |
سیستمعامل | Cross-platform |
نوع | Integrated development environment |
وبگاه |
پردازش شامل یک sketchbook (محیطی به نام دفترچه نقاشی) و یک جایگزین کم حجم محیط توسعه یکپارچه (IDE) برای سازماندهی پروژهها است.[۵]
هر sketch پراسسینگ، در واقع یک زیر کلاس از کلاس PApplet
Java است (قبلاً یک زیر کلاس از Applet جاوا بود) که اکثر ویژگیهای زبان را اجرا میکند.[۶]
هنگام برنامهنویسی در پراسسینگ، تمام کلاسهای اضافی تعریف شده به عنوان کلاسهای داخلی در نظر گرفته میشوند، زمانی که کد قبل از کامپایل شدن به زبان جاوا تبدیل میشود.[۷] این بدان معنی است که استفاده از متغیرهای استاتیک و methodها در کلاسها ممنوع است، مگر اینکه در حالت جاوای خالص پراسسینگ کد زده شود.
پراسسینگ اجازه میدهد تا کاربران کلاسهای خود را در PApplet sketch ایجاد کنند. این کار اجازه میدهد که انواع دادههای پیچیده بتواند شامل هر تعداد آرگومان باشند و از محدودیتهایی با استفاده از انواع دادههای استاندارد مانند: int (عدد صحیح)، کاراکتر (شخصیت)، شناور (تعداد واقعی) و رنگ (RGB, RGBA, hex) به وجود میآیند، اجتناب کنند.
سادهترین نسخه ممکن یک برنامه "Hello World" در پراسسینگ:
// را در کنسول محیط خود چاپ میکند"Hello World."
println("Hello World.");
با این حال، به لطف طبیعت بصری گرای پراسسینگ، کد زیر یک مثال بهتر از نگاه و احساس زبان است.
//Hello mouse.
void setup() {
size(400, 400);
stroke(255);
background(192, 64, 0);
}
void draw() {
line(150, 25, mouseX, mouseY);
}
در سال ۲۰۰۵، Reas و Fry برنده جایزه معتبر Golden Nica از Ars Electronica در بخش Net Vision برای کار خود در پراسسینگ شدند.[۸]
بن فرای در سال ۲۰۱۱ جایزه طراحی ملی را توسط موزه طراحی ملی کوپر-هاوت را در بخش تعامل طراحی به دست آورد. بیانیه جایزه:
«با کار کردن در زمینهٔ طراحی گرافیک و علوم کامپیوتری، بن فری شیفتگی طولانی را با مصورسازی دادهها دنبال میکند. به عنوان مدیر کل طراحی اطلاعات فاتوم در بوستون، فری نرمافزار، کارهای چاپی، تأسیسات و کتابهایی را توسعه و ارائه میدهد که موضوعاتی از ژنوم انسان تا درآمد بیسبال تا تکامل اسناد متنی را شرح و توضیح میدهد. با کیسی ریس، او پروژه پراسسینگ، یک محیط برنامهنویسی منبع باز برای آموزش طراحی محاسباتی و طراحی برنامههای رسانه ای تعاملی را تأسیس کرد. این کار برای هنرمندان و طراحان ابزار قابل دسترس برای کار با کد را فراهم میکند در حالی که مهندسان و دانشمندان کامپیوتر را به فکر کردن دربارهٔ مفاهیم طراحی تشویق میکند.»[۹]
کتابخانههای اصلی پراسسینگ، کد شامل شده در اپلتها و برنامههای اکسپورت شده، تحت مجوز GNU Lesser General Public میباشند، این به کاربران اجازه میدهد کد اصلی خود را با انتخاب مجوز انتشار دهند.
IDE تحت مجوز GNU General Public License میباشد.
پراسسینگ یک زبان واحد نیست، بلکه یک رویکرد هنر-گرا به یادگیری، تدریس و ساختن با کد است. چندین نوع و پروژههای مرتبط با پراسسینگ وجود دارد:
پراسسینگ بر اساس کار اصلی انجام شده بر روی پروژه طراحی با اعداد در MIT بود. ایدههای مشابه بسیاری را به اشتراک میگذارند و فرزند مستقیم این آزمایش است.
در سال ۲۰۰۸، John Resig پراسسینگ را به جاوا اسکریپت با استفاده از عنصر Canvas برای رندر کردن، منتقل کرد،[۱۰] این به ما اجازه میدهد که پراسسینگ در مرورگرهای مدرن بدون نیاز به افزونه جاوا اجرا شود. از آن زمان به بعد، جامعه متنباز از جمله دانش آموزان کالج Seneca در تورنتو پروژه را گرفتهاند.
Processing.js همچنین برای حمایت از برنامهنویسی پایه برای دانش آموزان در تمام سنین بر روی آکادمی خان با ایجاد نقاشیها و انیمیشنها مورد استفاده قرار میگیرد. یادگیرندگان خلاقیت و ساختههای خود را برای سایر یادگیرندگان به نمایش میگذارند.
در سال ۲۰۱۳، لورن مککارتی p5.js را ایجاد کرد، جایگزین جاوااسکریپت برای Processing.js که پشتیبانی رسمی از بنیاد پراسسینگ است. مککارتی همچنین در یک دوره مقدماتی، p5.js را در Kadenze آموزش میدهد.[۱۱]
« | عدد ۵ در "p5" به چه معناست؟ دامنه اصلی پراسسینگ proce55ing.net بود، که مردم به پراسسینگ به عنوان proce55ing مراجعه میکردند یا P5, یا p5 به عنوان کوتاه شده. p5.js هم از همان گرفته شدهاست. |
» |
—لاورن مککارتی، [۱۲] |
حالت Python برای پراسسینگ، یا Processing.py یک رابط پایتون به جعبه ابزار اساسی Java است؛ که توسط جاناتان فینبرگ در سال ۲۰۱۰ با کمک جیمز جیلز و بن الکوو توسعه یافتهاست.[۱۳]
پراسسینگ یک پروژه دیگر، Wiring، که از IDE پراسسینگ با مجموعه ای از کتابخانههای نوشته شده در زبان C ++ به عنوان راهی برای آموزش هنرمندان به نحوه برنامهنویسی میکروکنترلرها، ایجاد کردهاست.[۱۴] در حال حاضر دو پروژه جداگانه سختافزاری با استفاده از زبان و محیط Wiring وجود دارند، Wiring و آردوینو.
Fritzing یک محیط نرمافزاری دیگر از همان نوع است که به طراحان و هنرمندان کمک میکند تا نمونههای تعاملی خود را مستند کنند و از نمونه اولیه فیزیکی تا محصول واقعی پیش ببرند.
یکی دیگر از پروژههای مشتق گرفته شده که اکنون از بین رفتهاست، پراسسینگ موبایل ساخته شده توسط فرانسیس لی است که اجازه استفاده از نرمافزار ساخته شده با استفاده از زبان و محیط پراسسینگ برای اجرا در دستگاههای موبایل جاوا را میدهد. امروزه برخی از همان قابلیتها توسط خود پراسسینگ ارائه شدهاست.[۱۵]
iProcessing برای کمک به مردم در توسعه برنامههای نیتیو آیفون با استفاده از زبان پراسسینگ ساخته شدهاست. iProcessing از ادغام کتابخانه Processing.js و فریم وورک برنامه جاوا اسکریپت برای iPhone ساخته شدهاست.[۱۶]
SPDE (محیط توسعه پراسسینگ Scala) جایگزین سینتکس کاهش یافتهٔ جاوای پراسسینگ و پیش پردازنده عادی با زبان برنامهنویسی Scala شدهاست که همچنین در سکوی جاوا اجرا میشود و برخی از محدودیتهای مشابه مانند محدودیت استفاده از متدهای استاتیک را اعمال میکند، با این حال اجازه مختصرتر نوشتن کد و پشتیبانی از برنامهنویسی تابعی را میدهد.[۱۷][۱۸][۱۹]
JRubyArt (قبلاً به نام ruby-processing) یک بستهبندی برای پراسسینگ در زبان Ruby است که در سکوی جاوا با استفاده از JRuby اجرا میشود.