PyScript چیست؟ – از اهمیت تا کاربرد پای اسکریپت

PyScript چیست ؟

PyScript فریمورک (چارچوبی) است که به کاربران امکان میدهد در مرورگر با استفاده از واسط HTML اپلیکیشنهای فاخر بسازند. هدف از معرفی و انتشار PyScript ، ارائه یک زبان برنامه نویسی تراز اول است که قوانین استایلدهی یکدستی دارد، گویاتر است و به سادگی میتوان آن را یاد گرفت. در ادامه مقاله «PyScript چیست» به شرح اجزای اصلی پای اسکریپت پرداخته شده است.
تصویر زیر خلاصهای از عملکرد این پلتفرم را به شما نشان میدهد.

اجزای اصلی PyScript کدامند؟
در این بخش اجزای اصلی PyScript و امکانات و قابلیتهای ویژه آن فهرست شدهاند:
- برنامه نویسی پایتون در سمت مرورگر (کلاینت): فراهم ساختن محتوای drop-in، میزبانی از فایلهای خارجی (که به وسیله پروژه Pyodide امکانپذیر شده است) و همچنین میزبانی از اپلیکیشن بدون وابستگی به پیکربندیها و برنامه نویسی سمت سرور
- فراهم شدن زیستبوم پایتون در فرانتاند: فراهم شدن امکان اجرای تعداد زیادی از بستهها و پکیجهای پایتون و سازه علمی پایتون، از جمله scikit-learn ،pandas ،numpy و بسیاری از موارد دیگر
- امکان استفاده از پایتون به همراه جاوا اسکریپت: امکان ارتباط دوطرفه میان اشیای پایتون و جاوا اسکریپت و فضاهای نام در PyScript فراهم شده است.
- امکان مدیریت محیط توسعه: در PyScript این امکان برای کاربران فراهم شده است تا بتوانند تعیین کنند که کدام بستهها و فایلها برای کدهای صفحه وب جهت اجرا مورد استفاده قرار بگیرند.
- امکان توسعه اپلیکیشن به صورت بصری: در PyScript میتوان از اجزای منتخب و برگزیدهی رابط کاربری (UI) مثل دکمهها، نگهدارندهها (Containers)، کادرهای متنی و بسیاری از موارد دیگر استفاده کرد.
- انعطافپذیری فریمورک PyScript: پای اسکریپت فریمورکی انعطافپذیر است که میتوان آن را برای ساخت و بهاشتراکگذاری اجزای قابل اتصال و قابل توسعه بهطور مستقیم در پایتون بهکار گرفت.
بهطور کلی باید گفت که PyScript همان HTML است، با این تفاوت که به لطف زیستبوم غنی و دسترسپذیر کتابخانههای پایتون، قدرت بسیار بیشتری نسبت به HTML دارد. بهطور خلاصه، هدف از معرفی و ارائه PyScript فراهم کردن امکان ۹۹ درصدی برنامه نویسی است.
هدف از معرفی PyScript چیست ؟
مرورگرها همه جا در دسترس هستند (از لپتاپها و تبلتها گرفته تا گوشیهای هوشمند و کامپیوترهای رومیزی). علاوه بر این تقریباً همه مرورگرها بهویژه کروم و فایرفاکس، ایمن، قدرتمند و پایدار هستند. چنین ویژگیها و قابلیتهایی، مرورگرهای وب را به بهترین تقطه شروع برای عملی کردن اهداف PyScript بدل کرده است.
اهداف پروژه PyScript چه هستند؟
بهطور خلاصه میتوان اهداف PyScript را به صورت زیر فهرست کرد:
- ارائه یک API (رابط برنامه نویسی اپلیکیشن) تمیز و ساده
- پشتیبانی از HTML استاندارد
- گسترش دادن و بسط HTML برای خواندن اجزای سفارشی که مورد توجه میگیرند و قابل اتکا هستند.
- ارائه یک سیستم قطعهای قابل گسترش و قابل برنامهریزی و شخصیسازی
حالا در ادامه این مقاله و در راستای پاسخ به سوال PyScript چیست ، این مسئله مطرح شده است که پای اسکریپت چه فایدهای دارد و اصلاً به چه دردی میخورد؟
استفاده از PyScript برای توسعه دهندگان و دانشمندان داده چه مزیتی به همراه دارد؟
مرورگرهای وب رایجترین و قابل حملترین محیطهای کامپیوتری در دنیا به حساب میآیند. میتوان گفت که تقریباً همه افراد به یک مرورگر وب دسترسی دارند. حال این مرورگر میتواند از طریق کامپیوتر، گوشی موبایل، تبلت یا هر دستگاه دیگری مورد استفاده قرار بگیرد. این یعنی هر شخصی میتواند به PyScript دسترسی داشته باشد و برنامه نویسی را بدون هیچگونه محدودیت زیرساختی آغاز کند.

با استفاده از PyScript دیگر نگرانی چندانی بابت فرایند توسعه وجود نخواهد داشت. PyScript «دگرگونی معماری فراتر از ابرها» را به ارمغان آورده است. همه چیز در مرورگر وب اتفاق خواهد افتاد. دانشمندان داده میتوانند داشبوردها و مدلهای خود را در قالب فایل HTML به اشتراک بگذارند و هر گاه دیگران فایل مربوطه را در یک مرورگر وب باز کنند، کدها اجرا خواهند شد. در ادامه مقاله PyScript چیست به اهمیت فراهم شدن امکان استفاده از پایتون در فرانتاند پرداخته شده است. پیش از آن فیلمهای اموزش پایتون فرادرس به علاقهمندان معرفی شدهاند.
تصویر زیر، برخی از نقاط قوت و ضعف پلتفرم پایاسکریپت را نشان میدهد.

فیلم های آموزش پایتون

در وبسایت فرادرس دورههای آموزش پایتون در چارچوب یک مجموعه آموزشی گردآوری شدهاند که علاقهمندان به برنامه نویسی پایتون میتوانند برای شروع یادگیری از دورههای مقدماتی آن استفاده کنند. همچنین، چندین دوره آموزشی پروژهمحور نیز در این مجموعه برای ادامه یادگیری و تقویت مهارت برنامه نویسی پایتون در دسترس قرار دارند. در تصویر فوق تنها برخی از دورههای آموزشی مجموعه آموزش پایتون فرادرس ملاحظه میشوند.
- برای دسترسی به همه آموزش های پایتون فرادرس + اینجا کلیک کنید.
استفاده از پایتون در برنامه نویسی سمت مرورگر چه اهمیتی دارد؟

با فراهم شدن امکان بهکارگیری پایتون به همراه CSS ،HTML و جاوا اسکریپت، نه تنها دو چالش مهم بیان شده پشت سر گذاشته میشوند، بلکه علاوه بر آن میتوان مشکلات کلی مربوط به ساخت وباپلیکیشن، بستهبندی، توزیع و استقرار را نیز هدف قرار داد.
معماری PyScript چگونه است؟
در حال حاضر PyScript بر اساس Pyodide ساخته شده است. Pyodide درگاهی از CPython به وباسمبلی و Emscripten محسوب میشود. PyScript از نوشتن و اجرای کدهای پایتون در مرورگر پشتیبانی میکند و در آینده پشتیبانی لازم برای استفاده از سایر زبانها در مرورگر نیز فراهم خواهد شد.
وب اسمبلی چیست ؟
وب اسمبلی فناوری بنیادینی به حساب می آید که امکان برنامه نویسی وب سمت کاربر با پایتون به وسیله آن فراهم شده است. زمانی که در ابتدا وباسمبلی توسعه داده شد، مرورگرهای وب تنها از جاوا اسکریپت پشتیبانی میکردند.
با انتشار وباسمبلی در سال ۱۳۹۶ (۲۰۱۷)، این فناوری به سرعت و در عرض ۲ سال (تا سال ۲۰۱۹) تبدیل به استاندارد رسمی ائتلاف وب (World Wide Web Consortium) یا همان W3C شد. وباسمبلی یک زبان با قالب متنی « «.watقابل خواندن توسط انسان را شامل میشود و سپس تبدیل به کدهای دودویی با قالب «.wasm» انجام خواهد شد که مرورگرها میتوانند آن را اجرا کنند. بدین وسیله این امکان فراهم میشود تا بتوان به هر زبانی برنامه نوشت، آن را به وباسمبلی کامپایل کرد و سپس کدها را روی یک مرورگر اجرا کرد. برای کسب اطلاعات بیشتر پیرامون وباسمبلی میتوان از مقالهای استفاده کرد و پیش از این در مجله فرادرس منتشر شده است:
- مقاله مرتبط: وب اسمبلی (WebAssembly) — به زبان ساده
ادامه مقاله PyScript چیست به شرح نحوه استفاده از پای اسکریپت اختصاص دارد.
چگونه از PyScript استفاده کنیم؟
- جزء py-env بستهها (پکیجهای) پایتون مورد نیاز برای اجرای کدها را تعریف میکند.
- بخش py-script محلی است که در آن کدهای پایتون قابل اجرا در صفحه وب نوشته میشوند.
- py-repl یک قطعه REPL (محیط برنامه نویسی Read-Eval-Print Loop | چرخه خواندن، ارزیابی، پرینت) ایجاد میکند که در آن ارزیابی کدهای وارد شده توسط برنامه نویسان ارزیابی میشوند و نتیجه نمایش داده خواهد شد.
مثال py-env
در این بخش مثالی در خصوص نحوه تعریف محیط پایتون در یک فایل HTML با استفاده از py-env ارائه شده است. در این مثال، بستهها یا همان پکیجهای زیر در محیط مورد نظر بارگذاری میشوند:
- bokeh
- numpy
- pandas
- scikit-learn
مثال py-script
همانطور که در فایل کدها ملاحظه میشود، میتوان کدهای آشنای پایتون را در py-script درست مثل حالتی نوشت که گویی برنامه نویسی در یک فایل پایتون انجام شده است. اگر فردی به هر دلیل نخواهد کدهای پایتون خود را مستقیماًاز طریق py-script بنویسد، با استفاده از دستور زیر میتواند از یک فایل پایتون به عنوان منبع استفاده کند:
خروجی کدهای مربوط به این مثال در تصویر متحرک زیر ملاحظه میشود:

مثال py-repl
این مثال یک پنل داشبورد را برای دادههای مربوط به تاکسیهای نیویورک با استفاده از اجزای DeckGL و REPL نشان میدهد. همانطور که ملاحظه میشود، میتوان شعاع مورد نظر را تعریف کرد و زیرمجموعهای از فریم داده (hour<3) را در REPL انتخاب کرد.

حالا بهتر است در ادامه مقاله PyScript چیست به آموزش دانلود و نصب PyScript پرداخته شود.
دانلود PyScript
نصب PyScript
برای استفاده از PyScript نیازی به نصب آن وجود ندارد. یا باید PyScript را دانلود کرد و دستورالعملهای مربوط به دانلود آن را انجام داد، یا اینکه میتوان کدهای زیر را به فایل منبع صفحه وب خود اضافه کرد:
باید در نظر داشت که در زمان تدوین این مقاله، انتشار PyScript در مراحل اولیهاش قرار دارد و همچنان به میزان زیادی تحت توسعه است. بنابراین، مشکلات شناخته شده بسیاری از امکان استفاده از آن گرفته تا مدت زمان بارگذاری وجود دارند و باید انتظار تغییرات زیادی را در آن داشت. سازندگان PyScript از برنامه نویسان دعوت کردهاند تا با آن کار کنند و استفاده از آن را یاد بگیرند. اما در حال حاضر استفاده از PyScript برای تولید و توسعه در سطح تجاری پیشنهاد نمیشود.
ساخت وب اپلیکیشن با PyScript
برای نمایش قابلیتهای PyScript و نحوه استفاده از آن در این بخش در قالب یک مثال، ساخت وب اپلیکیشنی ساده PyScript انجام شده است.
- در صورتی که Node.js نصب نباشد، باید آن را نصب کرد. نصب کننده رسمی برای نسخه LTS از Node.js در وب سایت nodejs.org در دسترس است.
- در این مرحله نیز باید Rollup را نصب کرد که یک تلفیق کننده ماژول (module bundler) برای جاوا اسکریپت است. Rollup را میتوان به عنوان یک منبع سراسری با استفاده از دستور زیر نصب کرد:
- اکنون باید موارد مرود نیاز برای اپلیکیشن نمونه را نصب کرد:
- حالا باید سرور را استارت زد:
با این کار منابع مورد نیاز برای اپلیکیشن کامپایل خواهند شد و سرور توسعه راهاندازی میشود.
- پس از تکمیل فرآیند کامپایل، چیزی شبیه به خروجی زیر نمایش داده خواهد شد:
Your application is ready~! 🚀 - Local: http://localhost:8080 - Network: Add `--host` to expose ────────────────── LOGS ──────────────────
پس از آنکه خروجی زیر نمایش داده شد، میتوان یک مرورگر باز کرد و وارد آدرس زیر شد:
- http://localhost:8080
در این صفحه فهرستی از نمونههای آزمایشی یا همان دموهایی که میتوان اجرا کرد نمایش داده شدهاند.
- http://localhost:8080
جایگاه فعلی PyScript چیست ؟
وضعیت آینده PyScript چگونه خواهد بود؟
PyScript امکان استفاده از زبان برنامه نویسی پایتون را در سمت کاربر و داخل مرورگر فراهم کرده است و به نظر میرسد که تغییر و تحول و نوآوری هیجانانگیزی باشد. علاقهمندان پایتون بیصبرانه در انتظار مشاهده روند تکاملی و شکوفایی این فناوری جدید هستند. باید هر روز در انتظار
جمعبندی
PyScript به برنامه نویسیان امکان میدهد تا برنامه نویسی پایتون را با استفاده از سه قطعه py-script ،py-env و py-repl در داخل کدهای HTML انجام دهند. با استفاده از py-env بستههای پایتونی مشخص میشوند که برای اجرا در کدهای پایتون مورد نیاز هستند. py-script محلی است که کدهای پایتون اجرا شده در صفحه وب در آنجا نوشته میشوند. در این مقاله سعی شد تا بهطور جامع به این سوال پاسخ داده شود که فناوری جدید PyScript چیست و بحثهای مهم پیرامون آن پوشش داده شدند.
مطالب مجله فرادرس را در جستجوی گوگل سریعتر ببینید













