PyScript :شروع کار با پایتون در مرورگر

تیم Anaconda راه جدیدی را برای اجرای کد پایتون در مرورگر اعلام کردند. آیا این رویکرد جدید می تواند شروع یک تغییر در پشته توسعه frontend باشد؟ در این مقاله، نگاهی به این ویژگی جدید از طریق یک مثال عملی خواهیم انداخت.

مقدمه ای بر PyScript

PyScript یک چارچوب نوظهور (و به جرات می توانم بگویم - اکوسیستم) برای اجرای کد پایتون در مرورگر است.

شما می توانید بدون اتکا به هیچ سروری کدهای پایتون را در داخل مرورگر خود اجرا کنید.

PyScript از Web-Assembly و Pyodide برای پر کردن شکاف بین JavaScript و Python استفاده می کند. این قابلیت امکان ارتباط دو طرفه بین زبان ها را فراهم می کند.همچنین به توسعه دهندگان و دانشمندان داده اجازه می دهد تا قدرت کل اکوسیستم پایتون را در برنامه وب بدون میزبانی هیچ برنامه‌ی تحت سروری آزاد کنند!

1. HTML ساده

بیایید به یک فایل HTML بسیار ساده نگاه کنیم و کد پایتون خود را در آن بسازیم:

https://gist.github.com/serpicokhan/e25723c6c329f4ee4554073050b842cb

صفحه وب حاصل به صورت زیر است:

2. نصب PyScript

خوب.. چیزی برای نصب وجود ندارد!

تنها کاری که باید انجام دهیم این است که 2 تا سورس به هد HTML خود، یک فایل جاوا اسکریپت و یک CSS اضافه کنیم.

تمام!

https://gist.github.com/serpicokhan/86987fa3820dd6d261c1afcfbc3a3bf3

با اضافه کردن کتابخانه ها در قسمت head دیگر قادر به جاسازی و استفاده از کدهای python هستیم.

3. اسکریپت پایتون خود را بنویسید

حالا بیایید کد پایتون را به فایل HTML خود اضافه کنیم:

https://gist.github.com/serpicokhan/cc62aff3dfe4d900ec6441830feaa2a4

با افزودن تگ py-script می توانیم کد پایتون را در آن جاسازی کنیم.

صفحه وب حاصل به شکل زیر است:

ولی... همه خروجی ها را چاپ کرد اما تگ H1 شبیه یک پاراگراف معمولی شد. اینطور نیست؟

این به این دلیله که فایل CSS ارائه شده تمام headingها را بازنویسی و override می کند. اما با این وجود، ما می توانیم کد پایتون خود را بدون وابستگی خارجی در مرورگر اجرا کنیم! ارزشش را دارد!

4. یک مثال پیچیده تر

https://gist.github.com/serpicokhan/72d0067633e01d436484eb87b991856d

خب در این مثال از تابع و یک حلقه foreach استفاده کردیم و نتیجه به این شکل در می آید:

5.استفاده از پکیج های پایتون

  • به راحتی می توان از پکیج های پایتون با استفاده از تگ py-env استفاده نمود:
https://gist.github.com/serpicokhan/7c811c3dd8ea6c08a9643c60fe82ff33

به این ترتیب، numpy و matplotlib را به پروژه خود اضافه کرده ایم. حالا بیایید از این بسته ها استفاده کنیم:

6.ترسیم اعداد تصادفی

https://gist.github.com/serpicokhan/b82e3cbe29ace2ba5818e800fb0843b2

و نتیجه:

سخن پایانی

PyScript رویکردی تازه را به اکوسیستم پایتون و جاوا اسکریپت ارائه می کند. به معنای واقعی کلمه این دو دنیا را با هم ادغام می کند! دانشمندان علوم داده‌ای که مایلند نتایج تحقیقات خود را به اشتراک بگذارند، اکنون می‌توانند این کار را راحت‌تر انجام دهند. شاید بتوانیم زمینه های جدیدی از توسعه front-end را مشاهده کنیم.

من شخصاً کنجکاو هستم که ببینم ما را به کجا خواهد برد :)

ویدیوی مربوط به این قسمت رو تو یوتیوب براتون میزارم:

https://youtu.be/2wkLwVbRH54