جاوا اسکریپت مدتهاست که بر برنامهنویسی وب سمت کلاینت تسلط داشته است، اما آیا یک چارچوب جدید پایتون میتواند اوضاع را متزلزل کند؟
PyScript یک چارچوب است که با Pyodide ساخته شده است و به شما امکان می دهد کدهای پایتون را در مرورگر اجرا کنید. هنوز در مراحل ابتدایی است، اما تیم توسعه دهنده اخیرا نسخه بتا را منتشر کرده است.
با استفاده از این ابزار، توسعهدهندگان میتوانند پایتون را مستقیماً در داخل HTML بنویسند، بدون نیاز به پشتیبان سرور مانند Flask یا جنگو.
اگرچه PyScript هنوز در نسخه بتا است، اما PyScript در حال حاضر دارای برخی ویژگیهای چشمگیر است که ارزش امتحان کردن را دارد.
1. راه اندازی آسان
شروع با PyScript به آسانی پیوند دادن به CDN آن در هد HTML شما است. همچنین می توانید کد منبع آن را دانلود کرده و فایل های پروژه را در سایت خود میزبانی کنید. در حالی که گزینه دوم مزایای کوچکی دارد، پیوند دادن به CDN آسان تر است.
برای شروع استفاده از PyScript، می توانید فایل های جاوا اسکریپت و CSS آن را مانند موارد زیر اضافه کنید:
<head>
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
</head>
2. Python را مستقیماً در داخل HTML بنویسید
کد پایتون شما در داخل یک تگ py-script سفارشی در بدنه یک سند قرار دارد. سپس فایل جاوا اسکریپت PyScript محتویات خود را با استفاده از پایتون تفسیر می کند. می توانید یک عنصر HTML مانند div را برای PyScript تعیین کنید تا خروجی را روی آن بنویسد.
در اینجا یک نمونه طرح وجود دارد:
<body>
<div id="python-container"></div>
<py-script output="python-container">
print("Hello world")
</py-script>
</body>
به یاد داشته باشید که تورفتگی در کد پایتون شما مهم است. برای جلوگیری از خطای تورفتگی پایتون، باید مراقب باشید که به درستی تورفتگی داشته باشید.
3. وارد کردن و جداسازی ماژول های استاندارد پایتون
یکی دیگر از ویژگی های منحصر به فرد PyScript این است که به شما امکان می دهد وابستگی ها را از انبوه جدا کنید. این بدان معنی است که قبل از اینکه بتوانید آن را وارد کنید، یک وابستگی را در سر HTML خود فهرست می کنید. همه وابستگی ها در داخل یک تگ py-env در قسمت head HTML قرار دارند:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
- numpy
- pandas
- openpyxl
- matplotlib
</py-env>
</head>
<body>
<py-script>
import pandas
</py-script>
</body>
</html>
4. ماژول ها و فایل های محلی خود را وارد و استفاده کنید
هنگام استفاده از PyScript، نیازی نیست تمام کدهای پایتون خود را مستقیماً در فایل های HTML خود بنویسید. میتوانید توابع یا ماژولهای سفارشی پایتون را درون فایلهای جداگانه بنویسید، آنها را در تگ py-env فهرست کنید و آنها را وارد کنید. این کار نوشتن کدهای تمیزتر و خوانا را آسان می کند.
با این حال، باید تگ py-env را به مسیرهای ماژول محلی خود اشاره کنید. به طور مشابه، شما هر فایل محلی را که می خواهید در کد پایتون خود استفاده کنید، فهرست می کنید. به عنوان مثال، اگر در حال خواندن یک فایل اکسل با پاندا هستید، باید مسیر آن را مشخص کنید:
<py-env>
- numpy
# Local modules and files go here:
- paths:
- /main.py
- /path_to_excel_file.xlsx
</py-env>
5. تجسم ها را مستقیماً به DOM ارائه دهید
به اشتراک گذاری تجسم ها و داشبوردها می تواند یک کار دشوار باشد. PyScript به شما امکان میدهد استوریبردها و تجسمهای پایتون خود را مستقیماً در داخل مرورگر بدون استفاده از راهحلهای مبتنی بر سرور نمایش دهید. حتی می توانید یک برگه اکسل را در DOM به صورت HTML بنویسید.
به عنوان مثال، با وابستگی های مورد نیاز در یک محیط مجازی پایتون، می توانید داده ها را از یک فایل اکسل رسم کنید:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
- pandas
- matplotlib
# Local modules and files go here:
- paths:
- /path_to_excel_file.xlsx
</py-env>
</head>
<body>
<div id="python-container"></div>
<py-script output="python-container">
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel("excel_file_name.xlsx")
x = df["Months"]
y = df["growth_rate"]
fig, ax = plt.subplots()
ax.plot(x, y)
fig
</py-script>
</body>
</html>
شما می توانید اطلاعات بیشتر در مورد PyScript را از طریق README آن در Github یا وب سایت رسمی PyScript بیابید.
PyScript به پایتون تقویت می کند
یکی از کاستی های پایتون عدم توانایی آن در کار مستقیم در DOM است. و این یکی از دلایلی است که جاوا اسکریپت برای توسعه وب از آن جلوتر می ماند. مقدمه PyScript ممکن است این را تغییر دهد اگر بتواند به سطح عملکرد جاوا اسکریپت دست یابد. با این وجود، PyScript یک ابزار مفید است، زیرا به شما کمک می کند پروژه های پایتون خود را به راحتی میزبانی و به اشتراک بگذارید. با این حال، به خاطر داشته باشید که برخی از ویژگی ها ممکن است خراب شوند، زیرا PyScript هنوز یک چارچوب آزمایشی است.