نوشتن اولین برنامه در پای ابر

نوشتن اولین برنامه در پای ابر

سلام توسعه دهندگان گرامی پای ابر؛ این اولوین مطلب ما برای توسعه برنامه های کاربردی در پای ابر هست البته قبل از شروع به کدنویسی ما یک معرفی از ساختار و کارکرد پای ابر و برنامه های آن براتون ارائه میدیم بعد به کدنویسی می پردازیم.

پای کیوت

سیستم عامل ایرانی و بومی پای ابر
پای کیوت

تمام برنامه های کاربردی پای ابر و حتی میزکار اون با فریم ورک محبوب پای کیوت ۵ نوشته شدن؛ این فریم ورک به همراه پای ساید (به انگلیسی: PySide) پر استفاده ترین و محبوب ترین فریم ورک های تولید برنامه ها با واسط گرافیکی در زبان پایتون هستن.

پای ابر به صورت پیش فرض از فریم ورک ها و کتابخونه های گرافیکی زیر بدون نیاز به نصب پشتیبانی می کنه:

  • پای کیوت ۵
  • پای گیم
  • کیوی : فعلا فقط معماری رایانه ای AMD و Intel

در میان این سه کتابخونه توسعه برنامه ها با واسط گرافیکی، پای کیوت کامل پشتیبانی میشه یعنی از نظر پنجره ها و ویجت ها هم پشتیبانی میشه اما کیوی و پای گیم باید پنجره و ویجت ساختار یافته داشته باشن.

ساختار ابری یا استاندارد ابر

پای ابر یک استاندارد بسیار مهمی داره به اسم استاندارد ابر و همچنین برای همه برنامه های تحت کنترلش یک فریم ورک به اسم فریم ورک ابر داره؛ بیشتر جنبه سازگار سازی به پای ابر رو داره ما قبل از شروع نوشتن یک برنامه برای پای ابر حداقل یک آشنایی ساده با فریم ورک ابر باید داشته باشیم.

نام این فریم ورک libabr هست؛ این فریم ورک کلاس های متعددی داره که هرکدوم وظایف خاصی رو تو برنامه ها انجام میدن:

کلاس System

با این کلاس به صورت مستقیم میشه با خط فرمان پای ابر در اتباط بود بدون نیاز به کدنویسی در محیط پایانه؛ درست حکم os.system رو براتون بازی می کنه اما قبلا هم گفتیم پای ابر پوسته خط فرمان کاملا مستقل و جداگونه ای داره به اسم سایه که فقط با فریم ورک ابر میشه باهاش ارتباط برقرار کرد.

کلاس Script

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

کلاس Process

پروسه های سیستمی داخلش دنبال میشن که به کار برنامه نویس پای ابر نمی یاد و بیشتر توسط هسته پای ابر ازش استفاده میشه.

کلاس Res

برنامه نویس ها دیگه لازم نیست برای آدرس دهی به تصاویر و چندرسانه ای آدرس کامل به فایل بدن بلکه با آدرس دهی کلاس Res خیلی راحت می تونن به فایل مورد نظر خودشون آدرس بدن تا برنامه اونو تنظیم کنه؛ اگر برنامه نویس اندروید باشین این کلاس خیلی می تونه براتون آشنا باشه درست مثل Resource ها در برنامه نویسی اندروید هست.

کلاس App

این کلاس شبیه به کلاس Process هست متنهی اون برای پروسه های غیرگرافیکی کاربرد داره اما این کلاس برای پروسه های گرافیکی و خیلی ازش در برنامه های پای ابر استفاده میشه.

کلاس Commands

دستورات پای ابر به صورت مستقیم همه و همه داخل همین کلاس قرار گرفتن؛ شما برای اجرای دستورات اصلی پای ابر فقط از همین کلاس استفاده نمایید.

کلاس Package

مدیریت بسته «پایه» که به صورت پیش فرض مدیریت بسته هست از همین کلاس برای اجرای عملیات حذف، نصب و مدیریت بسته ها استفاده می کنه.

کلاس Permissions

این کلاس سطح مجوز هر فایلی رو تو پای ابر تنظیم می کنه؛ برخلاف تمام لینوکس ها و سیستم عامل های یونیکسی مجوز دهی پای ابر به فایل ها و پوشه ها متمرکز هست و در فایل etc/permtab/ قرار می گیره و این کلاس برای مجوز دهی، گرفتن مجوز و اطلاعاتش ساخته شد.

کلاس Control

این کلاس در واقع اینجین دیتابیس های پای ابر هست؛ سیستم عامل پای ابر یک زبان پایگاه داده ساده داره که توسط زبان اسکریپتی سایه و این کلاس مدیریت میشه؛ تمام اطلاعات سیستمی، رنگ ها، سبک ها و همه چیز به شکل دیتابیس های پای ابر تنظیم میشه.

کلاس Files

محل قرار گیری پوشه ریشه در پای ابر همون پوشه ای هست که پای ابر داخلش نصب میشه یعنی پوشه stor/ در لینوکس لذا باید کلاسی باشه تا بتونه بر پایه استاندارد ابری آدرس دهی رو برای فایل ها داخل این پوشه شبیه سازی کنه؛ این کلاس زیربنای پای ابر هست و هیچ برنامه ای نیست مگر اینکه حداقل یک بار از این کلاس استفاده می کنه برای دسترسی به فایل ها.

کلاس Colors

برای رنگ بندی نوشته ها در خط فرمان هست که بر پایه termcolor ساخته شده

اینم از خلاصه توضیحات از کلاس های ضروری فریم ورک ابر؛ شما اصلا لازم نیست برای یادگیری اینها دوره ببینید به قدری ساده ساخته شدن که در طول به کار بردنشون در کدهاتون یاد خواهین گرفت.

نوشتن اولین برنامه شما در پای ابر

برای برنامه نویسی در پای ابر شما فقط کافیست موارد زیر رو مسلط باشید:

  • پایتون
  • پای کیوت
  • استاندارد ابری

در این وب سایت ما به شما عزیزان دو مورد پایین رو آموزش میدیم تا به راحتی بتونید برای پای ابر برنامه بنویسید!

با چه برنامه هایی برای پای ابر میشه برنامه نویسی کرد؟

در پای ابر برای توسعه برنامه ها از نرم افزار پای پرشیا استفاده میشه؛ این نرم افزار یک IDE ساده هست که توانایی توسعه برنامه تحت پای ابر و بسته بندی پروژه رو داره؛ البته در صورتی که می خواهید فقط کدتونو تست کنین می تونید از برنامه برگه هم استفاده کنید.

شروع کدنویسی

نرم افزار پای پرشیا در پای ابر
اجرای پای پرشیا

برای نوشتن برنامه ای که می خواهیم درست کنیم از منوی برنامه ها اقدام می کنیم بعد نرم افزار پای پرشیا رو اجرا می کنیم.

نوشتن یک برنامه ساده در پای ابر
نوشتن برنامه

پای پرشیا و برگه به شما امکان استفاده از کدهای آماده میده و کار شما رو تو برنامه نویسی آسون می کنه.

خوب برنامه زیر یک پنجره ساده «Welcome» هست:

from PyQt5 import QtWidgets
from libabr import *

res = Res()

class MainApp (QtWidgets.QMainWindow):
    def __init__ (self,ports):
        self.Backend = ports[0]
        self.Env = ports[1]
        self.Widget = ports[2]
        self.AppName = ports[3]
        self.External = ports[4]
        
        self.Widget.SetWindowTitle ("Welcome")
        self.Widget.SetWindowIcon (QIcon(res.get ('@icon/breeze-app')))

خوب ما کد بالا رو خط به خط شرح می دهیم:

  • کد from PyQt5 import QtWidgets ویجت های گرافیکی پای کیوت رو اضافه می کنه مثل پنجره ها، دکمه ها و …
  • کد from libabr کل فریم ورک ابری رو به برنامه اضافه می کنه
  • کد ()res= Res کلاس Res رو در برنامه تعریف می کنه تا ازش استفاده بشه؛ اکثر کلاس های فریم ورک ابر به این شکل باید تعریف بشن
  • توجه داشته باشید در برنامه پای کیوت تحت پای ابر کلاس اصلی شما حتما باید MainApp نام داشته باشه و نباید دیگه از QApplication استفاده بشه و نباید تابع اصلی در پایین کد برنامه فراخوانی بشه
  • پارامتر ports امکان دسترسی به میزکار پای ابر و پنجره اونو به شما میده
  • متغییر self.Backend دسترسی به کلاس Backend در میزکار رو به شما میده
  • متغییر self.Env دسترسی به کلاس اصلی میزکار که Desktop نام داره اضافه میشه
  • متغییر self.AppName نام برنامه رو برمی گردونه
  • متغییر self.External پارامترهای برنامه رو به شما میده؛ این بخش برای باز کردن فایل از طریق مدیریت فایل در برنامه شما استفاده میشه
  • برای تنظیم نوشته در تیر ویجت «بالای ویجت» از self.Widget.SetWindowTitle استفاده میشه
  • برای تنظیم آیکون ویجت از self.Widget.SetWindowIcon استفاده میشه
  • تابع res.get آدرس کامل فایل های چند رسانه ای رو برمی گردونه به طور مثال icon/breeze-app@ میشه usr/share/icons/breeze-app.svg/

با وجود تفاوت در پای ابر و دیگر پلتفرم ها چگونه با دیگر پلتفرم ها سازگار کنیم؟

کافیست از استاندارد ابری در برنامه خود استفاده نکنید و اول برنامه با QApplication شروع نمایید.

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

from PyQt5 import QtWidgets
import sys

app = QtWidgets.QApplication (sys.argv)

class MainApp (QtWidgets.QMainWindow):
    def __init__ (self):
        self.setWindowTitle ("Welcome")
        self.setWindowIcon (QIcon('/usr/share/icons/breeze-icon.svg'))

w = MainApp ()
w.show()
app.exec_()

کدهای نا آشنا:

  • تابع QtWidgets.QApplication امکان اجرا شدن برنامه های پای کیوت استفاده می شه
  • تابع show ویجت نمایش داده میشه؛ این کدخط در پای ابر لازم نیست
  • کد ()_app.exec برنامه پای کیوت رو به اجرا در میاره همونطور که اسمش پیداست به معنای execute به فارسی یعنی اجرا

اجرای برنامه

نوشتن یک برنامه ساده در پای ابر
ذخیره کردن برنامه

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

برنامه نویسی در سیستم عامل پای ابر
اجرای کد در پای ابر

بعد با زدن اجرا برنامه شما «در حالی که در پشتیبانی کامل استاندارد ابری هست» اجرا میشه.

نوشتن یک برنامه ساده در پای ابر
برنامه اجرا شده با پای پرشیا

امیدوارم از نوشتن اولین برنامه گرافیکی تو سیستم عامل پای ابر لذت برده باشید؛ ما تمام تلاش خودمو می کنیم تا یک دوره کامل از پای کیوت در پای ابر بنویسیم و اونو برای شما عزیزان به صورت کاملا رایگان منتشر کنیم.

4 دیدگاه دربارهٔ «نوشتن اولین برنامه در پای ابر»

  1. سلام بنده خواستم پای ابر رو روی خود ویندوز با پیپ نصب کنم کتابخانه پای ابر نصب شد وقتی فایل اینستالر رو اجرا میکنم ارور میده و وقتی به صورت دستی اجرا میکنم پوشه stor ایجاد میشه و همچنین فایل اجرا کننده ولی وقتی اجرا میشه اولش صفحه یه ابر میاد بعد چند ثانیه بسته میشه

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *