صفحه 1:
صفحه 2:
صفحه 3:
صفحه 4:
” امروزه اکتر توسعه دهندگان و برامهنویسان بر روی پلیکیشنهای موبليل ويا برنامدهاى وب كار مىكتند در بايتون قابليت
توسعه و ساخت ابليكيشن با بستههاى مخلف مانند8[700, 7[7الك1 يا حتى كتابخانه 866318731 10603 وجود
دار
۲ کار کردن با فریمورک161717 مزایای فرالنیدارد ازجمله اينكه ايليكيشن شما در همه سيستمعاملها يكسان خواهد بود و
بعد از هر تغيير, نيازى به كامبايل كد. نخواهید داشت.
لين فریمورک چند پلتفرمی را میتوان در
سيستمعاملهاى ويندوزه مكه لينوكس و »( a Ay
رزبری پای اجرا کرد.
% این فریم ورک تکامل یافته ۳371۲۳
Project میباشد و برای استفاده در
پروژههای جدید مناسب است.
صفحه 5:
فریم ورک کیوی 161۷7 چیست!
كيوى یک فريم ورك رايكان و متن باز برلى زبان بايتون مى باشد كه براى
توسعه سريعتر ابليكيشن مورد استفاده قرار م كيرد.
فریم ورک کیوی اولین بار در سال ۲۰۱۱ منتشر شد. از أن جلیی كه لين فريم
ورک از مجوز 337 استفاده مىكند بنابرلين مىتوانيد از لين كتايخانه براى
نرم افزارهای رایگان و تجاری استفاده کنید.
سیم رک ند از همه لزا کیب ه صوون._فلیشیشده ستفاده. ند لین دلنمعنلستک ه بسرنامه
هاولا 1 در همه سیستمعاماها یبکسازبه نظر مییسند بالینها لظاهر و لحساسبرنامه شما با بسرنامههای
رلیج کایبر شما متفایتلست
این تفاوت بسته به مخاطب شما میتولند یک. مایت یا یک
اشکال باشد. بطور کلی میتوان كفت كيوى تمام ابزارهای
ساخت اپلیکیشن موبیل با یتون را درد
لین کتابخلنه با سخت افزارهای دستگاههای مختلف نیز ارتباط
برقرار کند.
صفحه 6:
پروژههای فریم ورک کیوی در پایتون
* فریم ورک کیوی برای توسعه برنامههای تلفن همراه و دیگر نرمافزارهای کاربردی چندمنظور با رلبط کاربری طبیعی
cul (NUT)
* همانطور که در اسلاید قبلی گفتیم لین فریم ورک بر روی پایتون نصب میشود و دارای پرویُه هایی برای پلتفرمهای
مختلف از جمله پایتون برای اندروید پروژه کیوی 1605 و چندین کتابخانه دیگر است.
* فریم ورک کیوی چندپلتفرمی 25b.¢ (cross platform)
* _پایتون برای اندروید ۳ 55 ل
* بروزه كبرى 105 =
* يروزه كيوى “1065161261 طراحى UL
* بروزه 3101115 برای دسترسی پویا به ۸7 های جاوا یا اندروید
* _پروژه 3۷015 برای دسترسی by به ۸۳ های 105
* _پروژه 1211110026۲ برای بسته بندی عمومی پایتون برای ۸0۲00 و TOS
پروژه 151171۳101 موتوربازی سازی کیوی
صفحه 7:
نصب فریم ورک کیوی
براى نصب فريم ورک کیوی بر روی سیستم gl tl png Jule نسخه ۲۷یا بلتر را نصب داشته باشید. بهتر
است کیوی را در یک محیط مجازی پیتون نصب کنید ۱
* میتوانید از کنابخانه ۷612۷ داخلی پایتون یا بسته ۷1۳/11۵161۷ استفاده کنید. برای این کار 6100 را باز
کنید و دستور زیر را در آن تایپ کنید.
” با لين كار فليل اجرابى 21761201 شما در بوشداى به us My_Kivy_projectel میشود و چند زیر
پوشه دیگر نیز به آن فهرست اضافه میشود
* برای استفاده از محیط مجازی بايتون: بايد
آن را فعال کنید.
صفحه 8:
فعال سازی محیط مجازی پایتون
*_برای فعال سازی محیط مجازی پایتون در سیستمعامل ویندوز: محل فعالسازی اسکریپت داخل پوشه کتاأم5۲
است. برای فعالسازبید به دایرکتوری 57105 بروید و دستور زیر را اجرا کنید.
۴ اکنون که محیط مجازی پایتون فعال شده است. میتوانید 030 را برای نصب 131717 اجرا کنید. د:
کنید
037
* پس از نصب C:\Users\Pc\my_kivy_project\Lib\site-packages .. 4 ,fluseS
بروید خواهید دید بستههای 1611737 نصب شدهان. اگر هم پروژه خاصی روی سیستم انجام نمیدهید میتوانید روی پایتون
نصب شده بدون محیط مجازی؛ 1611737 را نصب کنید.
صفحه 9:
اجرای اولین برنامه
برایاينکه بتانید از فریم ورک کیوی استفاده کنید نیز دارید کمی با کلاس, تلبع و درکل با رامهنویسی شیءگراآشنا
شويد معرفى لين اصطلاحات به تنهايى نيازمند باوريوينت جداكانداى م باشد و امكان توضيح دادن در لين ارائه وجود
ندارد. ما فرض را بر اين میگيريم که شما با این اصطلاحات أشنا هستيد.
پنویسید:
۷ حال نوبت نوشتن برنامه است. میخواهیم
یک 216 ایجاد کنیم و متن Hello
7 2۳010 را در داخل ليبل بتويسيم.
برای اين کار کدهای زیر را بنویسید:
برای اجرای اولین برنامه خود ابندا بلید چند کتابخلنه به برنامه خود اضافه کنید. بدین منظور کدهای زیر را در 1121۳ خود
Tua ara
import Label
Breen te ae
Poaceae
ع 1عمق1 861)“
126و 0 ee
نا
((ك. :الا عععمعع' رك
pos_hint={"center_x':
ار
rae
app = MainApp()
app. run()
cor
صفحه 10:
اجرای اولین برنامه (ادامه)
Tue eases
ل ian cae
ممة) ممفمذها! دكقاء
Carat ler ies
eae ines نا a cha ae
ize hint=(.5,
pos hint={'center » 1
معبععم 136
1 ات 210
app = MainApp()
app. run()
#* هر برنامه 163077 نيازبه زير كلاس 41910 و تلبع سازنده 113310 دارد. در لين قسمت مىتوانيد 1:11 خود را طراحى كنيد
يا توابع خود را قرار دهيد.
** در كد بالاء يك ويجت181©1 ايجاد شده « cul 033 aj gi pos_hint , size_hint. text
صفحه 11:
نمایش خروجی برنامه
hint ٠
int,
عرض كنترل]3
belly Jas el
وم به /
وم به ار
صفحه 12:
اضافه كردن تصوير به برنامه
دو روش برلى اضافه كردن تصوير به برنامه در كيوى وجود دارد
ار 6وقصز
لا و دیگری اضافه کردن تصویر از درس اینرتی با اتفاده از Asynclmage
یک روش اضافه کردن تصویر از حافظه سیستم با استفاد
لین قسمت از 10080 بای اشافه کردن تصویر از حافظه سیستم استفاده شده است. کدهای شود را بدین صورت
بنویسید و خروجی را مشاهده کنید:
ممم غعممه1 ممة. لابلا ممع
ا
: (ممة) ممقمذها! ودقاء
Coated
19
از ار Be Ce
,(5. ,10/1 26و
pos _hint={'center_x':.5, ‘center_y':.5})
وت
cram
app = MainApp()
app.run()
Ul کلاس 15006 پارامترهای متفایتی درد 50) kivy.uix.imagesns 531], ype aS od
Wy بارامترى که می خواهید از آن استفادهکنید یک منبع يا 5011۳00 است. لین کدبه کیوی میگوید که کدام تصویر
پارگتاری,کند
صفحه 13:
Ul چیدمان
هر فريمورك كه از رلبط کاربری گرافیکی استفاده
مىكند روشى براى مرقب سازى ابزاركها دارد. در
تالكا از 1237011155 براى جيدمان و مرتب
سازى استفاده خواهيد كرد. جندين نوع مختلف طرح
بندى وجود دارد كه مى توانيد از آنها استفاده كتيد
2 برخى از مهم ترين 123016 ها ذكر شده است:
BoxLayout +
FloatLayout +
GridLayout ۰
خ 021817012 را بالینکد امتطنک نید
۵۷۷ 1000۲۲
ا
ee aan
iea ac) تا
UMA ee esse ease a
red
90
rates
> ون
Class HBoxLayoutExample(App) :
def build(self)
(300189-10م) غناملاقاءا80 ع رن ۱۳
ات
Coe یر
ec تست لت یت تن
((60۵1۵)601۵۲5 6۵10۳۲۵۴۵۵۴۰ ۳۵۵0۵ 0369
layout.add widget (btn)
stamens
cree ۳
app = HBoxLayoutExample()
app. run()
صفحه 14:
جيدمان 171 (ادامه)
gl g 02,5 o,5 |, Kivy-uix.boxlayout ;) BoxLayouts es 9 af oss » % را نمونه سازی
میکنيم. سپس لیستی از رنگ ها یجاد می کنیم. که از رنگ های قرمزءآبی و Sts (RGB) ji شده استه.
در نهلیت» در محدوده یک حلقه.012 برای هر تکرار ایجاد می شود. پس زمینه 0101010 را روی یک رنگ تصادفی
تنظیم کرده سپس دکمه را با see ails! og 7b 4 layout.add_ widget (btn)
** هنكام اجراى برنامه خروجی به صورت مقابل خواهد بود:
صفحه 15:
اضافه كردن رویداد (Event)
سا همانند بسیاری از ابزارهای کیوی. GUI کیوی نیز مبتنی بر رویداد است. این فریمورک به فشرده شدن کلیدهای کاربر
رویدادهای ماوس و رویدادهای لمسی پاسخ میدهد. 117777 همچنین دارای مفهوم خواص یا ۳006۲165 است که با
۳۷6۵150۵6۲ کار می کند.
a
Sale ge button. bind jo jsut
رویدد بسازید و در آن تبع دیگری را صد بزنید. اگر همه
چیز درست باشد تصوير زیر را در خروجی خواهید دید:
خواص به شما کمک می کند تا بررسی اعتبار را انجام دهید و در هر زمان اندازه یا موقعیت ویجت خود را تغییر دهید.
1
acum gaa) ای با
ی
: (10)5615ناط غ0
“« ) 805800 ع ممعغباط
0
Peele cuca a
((5. :لا ععغمععء'
دی ممع عباط
oy)
وی ترا
ae gee Tee eee
eae eee ee as)
16 _ 6 ۱
app inApp()
app.run()
o from Kivy',
elf.on_press_butto
صفحه 16:
و
ی
تا
۱
ص۲۵ )موم کنممته؟ سشن. دسلا «مز؟
(ممة) ممفمتةه! دكقء.
(10)5611كناط كعق
Perea ۳
0
self.last_button = None
Cem eNT Sea oes Cae is CC igs tena)
self.solution = TextInput(
eee see Ne ee
font_size=55)
Oe Se Ome C eat eee rotis td)
145685 - ]
ار
ar fcc] بت را
| عو را
ار ی و
۱
۱
۳
ase seat
Peme ores cae
Pe em tye aro ae ore ا ee oe)
PERS Cue ete Sees)
PCA MCSE mst tte Ly]
ساخت برنامه موبایل با فریم ورک کیوی
صفحه 17:
ساخت یک ماشین حساب در پایتون (ادامه)
01
Eatery تاد
Pater
wars
6 سم
button_t
|
یز
ون ای ۵۱۲
1 (self. solution. text:
7
۳
ee)
rae
۳
anys
ot)
1 eeas
ی
return main Layout
+م_ومغناه_مه 3.067
= self. solution. text
روغ ممع علاط - 04
1000 ۵
غفوفله ممتغنامد 556 مما 1#
- غ56 .50108300 15611
an
0 Cee ا
10
صفحه 18:
ساخت یک ماشین حساب در پایتون (ادامه)
> نحوه کار کد ماشین حساب به عنوان مثال از ساخت اپلیکیشن موبایل با
ن بصورت زیر توضیح داده می شود.
04 sbyllast_button ,last_was_operator .,liis sup gla Sle) cud VEY bobs *
از آنها استفاده خواهد شد. Lan که
* خطوط ۱۰ تا ۱۳: یک طرح بندی سطح بالا 18370121 10811 ایجاد میکند و يك TextInput coy,
فقط خواندنی را به آن اضافه می کند.
*_ خطوط >۱ تا ۱۸: يك ليست تو در تو ايجاد مى كند که حاوی بیشتر دکمه ها برای ماشین حساب است.
* خط ۱۹ روی این دکمه ها حلقه 80۲ را اعمال می کند. برای هر لیست تو در تو موارد زیر را انجام می دهد:
* خط ۲۰: یک ]021817012 با جهت افقی ایجاد می کند.
۰ خط ۲۱: حلقه ديكرى را براى موارد موجود در ليست تو در تو اعمال می کند.
* خطوط ۲۲ ا ۳۲: دکمه های ردیف را ایجاد میکند و به یک کنترل کننده رویداد متصل میکند و دکمه ها را به
خط افقى 8017618370116 از خط 7١ اضافه مى كند.
* خط ۲۷: اين طرح را به 1۵370101 10817 اضافه می کند.
* خطوط ۲۸ ما ۳۱: دکمه 60111815 (-) را ایجاد می کند. آن رابه یک کنترل کننده رویداد متصل می کند ون را
به 1181718570121 اضافه می کند.
اخط ۳۳: آرگومان نمونه را مى كيرد تا بتاند به در ویجت به نام تابع دسترسی پیدا کند.
خطوط ۳6 و ۵
: مقدار جواب و متن دکمه را استخراج و ذخیره می کند
صفحه 19:
ساخت یک ماشین حساب در پایتون (ادامه)
* خطوط ۳۰ تا ۳۸: بررسی میکند که کدام دکمه فشار داده شده است. اگر کاربر 2) را فشار داده است. جواب را پاک
می کند. در غیر این صورت. به دستور 6156 می رود.
* خط +6
بررسى مى كند كه آيا جواب ارزش قبلی درد ا خیر
چنین بوده جواب به
*_ خطوط 6۱ تا ۶۳: بررسی میکند که یا آخرین دکمه فشرده دکمه اپراتوربوده است یا خیر
نمی شود. إين كارء به منظور جلوكيرى از داشتن دو ابراتور يشت سر هم در كارير است.
*_ خطوط 66 تا "6 بررسى مى كند كه آيا كاراكتر اول ابراتور ست يا خير. اكر جنين است» يس جواب به روز نمى شود
زيرا اولين مقدار نمى تواند يكت مقدار عملكر باشد
* خطوط 617 ا 44: در بند ©156© قرار مى ككيرد. اگر هیچ يك از شرليط قبلى برأورده نشود . جوا
* خط ۵۰: 1886۲02660 راروی برچسب آخرین دکمه فشرده شده تنظیم می AS
را به روز می کند.
last_was_operatorie\ hs + را بسته به إينكه آيا کراکتربوه ان روی 11006 یا ۳۵180 تتظیم
میکند.
صفحه 20:
بسته بندی برنامه برای اندروید
* کد برنامه خود رابه پیان رساندید. می توانید آن ربا دیگران به اشتراک بكناريد يك روش خوب يراى انجام لين كارء اين
است که کد خود را به برنامه ای تبدیل کنید که بتواند بر روی موبایلهای 27207010 شما اجرا شود. برای انجام این کارء
ابتدا بايد يسته اى به نام 01610260 با 172 را نصب
سپس, یک پوشه جدیدایجاد کرده و در ترمينال خود به آن برويد. هنكامى كه در دايركتورى مور نظر هستيدء بايد دستور زير
را اجرا کید
03
Python / Kivy on Android
ب و
2
** اين دستور يك buildozer.specy.8 ايجاد
میکند که از آنبرای پیکربندی ساخت اپلیکیشن موبلیل با
پایتون استفاده خواهید کرد. wet
وه ساخت برنامه موبایل با فریم ورک کیوی.
صفحه 21:
بسته بندی برنامه برای اندروید (ادامه)
“3 دراين مرخلهء شما تقريباً آماده ساختن برنامه خود هستید ما ابا بید ابستگی های1211610267 را نصب كنيد بس
از نصبه برنامه ماشين حساب خود را در يوشه جديد خود كبى كرده و نام آن را به 1128110.13[7 تغیبر دهید. این کار برای
buildozer مورد نیاز است. اگر فایل خود را به درستی نامگناری نکرده باشید. در این صورت ساخت اپلیکیشن
موبايل با يايتون با شكست مواجه مى شود.
< حالا می توانید دستور مقابل را اجرا کنید:
2 مرحله ساخت زمان زیادی طول فی کشد بستهنبه سخت
Python —— Android
افزار شماء ممكن است اين زمان بيشتر يا كمتر
SDK Androiduts » Buildozeru,
را که در مراحل ساخت نیاز دارد بارگذاری خواهد کرد. اگر
همه چیز مطابق برنامه پیش رفت. یک فایل با
bin «sy» kveale-0.1-debug.apk,
خود خواهید داشت.
ةرمق ساخت برنامه موبایل با فریم ورک کیوی.
صفحه 22:
حال موبايل اندرويدى خود به كاميبيوتر
وصل کنید و فایل 8016 را در آن
ری تین
* در هنگام نصب اپلیکیشن بر روی
موبایل احتمالا یک درخواست اجازه
نصب از منلبع ناشناخته از شما خواسته
میشود: که لازم است: دسترننی را
بدهید.
يس از اجرای برنامه خروجى به صورت
مقابل خواهد بود:
بسته بندى برنامه براى اندرويد (ادامه)
صفحه 23:
بسته بندی برنامه برای 105
+3 دستوراسمل های ساخت برنامه بری 1605 کمی پیچیده ترازل۸0003 است. قبل از اينکه بواند بنامه خود را
برای 1005 در 1۷106 خود بسته بتدی ی016201106 ۳۵ کنید بیددستورت زیر را اجر كنيدة
Buea men en
ren
$ brew Link libtool
۱3 1ae St)
Sons ار
هنگامی که همه آنها با موفقیت نصب شدند بايد توزیع را با ستفاده از دستورات زیر کامپایل کنید:
Perea eta en eee eae -105
و ۵ ۵۷-۵
01 را Aen mS)
>61 يا خطاهای OPENSSL gla ol, Vasa! sd gy) SSL پایتون | ays دستور زیر این مشکل را رفع خواهد
کرد
صفحه 24:
بسته بندی برنامه برای 105 (ادامه)
لا آیا تمام دستورات قبلی را با موفقیت اجرا کردید . می توائید پروژه 260006 خود را با استفاده از اسکرییت
32 ۲0010 ایجاد کنید. قبل از ایجاد پرویه 260006 دایرکتوری ورود برنامه اصلی شما باید/1081.07
نامگذاری شود. در اینجا فرمان اجرا شده وجود داردة
/toolchain
O باید یک دایرکتوری به نام۷118 با برویه 20006 شما در آن وجود داشته باشد. حالا می توانید لن پروژه را
در ©2600 باز كنيد واز آنجا روى آن كار كنيد
توجه داشته باشيد كه اكر مى خواهيد برنامه خود را به 50016 ۸100 ارسال کنید بايد يك حساب توسعه دهنده
developer.apple.com,s إيجاد كرده و هزيته سالانه آنها را بيردازيد
صفحه 25:
بسته بندی برنامه برای Windows
همجنين مى توانيد برنامه 117 خود را Windows oy اسفدهاز1۳(7110512116۳ بسته بندی کنی. میتوانید
2101805681161 را با استفاده از ایزار 030 نصب کنید:
077۳1:002۳
۴ دستور زیر برنامه شما را برای ویندوز بسته بندی می کند:
۳2۳72۳۰۰۹7
* این دستور یک فایل اجرایی ویندوز (666) و چندین فایل دیگر ایجاد می کند.
استدلال - ۷۷ به 37112518116۳ میگوید که لین یک برنامه ویندوزی است نه
یک برنامه خط فرمان. اگر ترجیح می دهید۳71151]8116۳ یک فایل اجرایی
واحد ایجاد کنده می توانید علاوه بر -1۷ در آرگومان 0۳6۴116 نیز وارد کنید.
ات
هجو ساخت برنامه موبایل با فریم ورک کیوی.
صفحه 26:
بسته بندی برنامه برای 05 1۷۲20
مى Sy ab! gly PyInstallery) astys سيستم عامل اجرایی 186 درست مانند ویندوز استفاده کنید.تنها شرط
اين است كه اين دستور را در © 1/13 اجرا كنيد:
مذقه 105+31166,
* اين دستور يك فايل اجرايى واحد در بوشه 035 ايجاد مى كند. فايل اجرايى همان نام فايل بايتون است كه به
271115681161 منتقل كرده ايد. اكر می خواهید حجم فلیل اجرلیی را کاهش دهید یا ا1681061] 35) در برنامه
خود استفاده کنید
صفحه 27:
جمع بندی
* دانستیم که زبان بايتون يك زبان قدرتمند است که میتوان با استفده از آن نه تنهااپلیکیشن ویندوزی بلکه میتوان
اپلیکیشن های موبايل نيز ساخت.
*** ويزكى مثب زبان برنامه نويسى در اين است كه لين برنامه
کدنویسی برای پلتفرم هاى مختلف خروجى كرفت. 5
زبان برنامه نویسی پایتون دارای چندین فریم ورک میباشد که در لين پاورپوینت به معرفی فریم ورک كيوى (/[/0635)
پرداختیم.
بلتفرصى بوده و میتوان با استفاده از تنها يكبار
يك برنامه ماشين حساب با استفاده از
فریم ورک کیوی طراحی کردیم و در ۱ ۴
نهايت براى جهار يلتفرم اندرويده TOS © "۱
ویندوز و مک خروجی گرفتیم.
** اميدواريم از لين باوريوينت أموزشى تهايت PyQt
استفاده را كرده باشید.
هوجو ساخت برنامه موبایل با فریم ورک کیوی
صفحه 28:
ساخت برنامه موبایل با فریم ورک کیوی
آموزش ساخت اپلیکیشن موبایل با پایتون
ساخت برنامه موبایل با فریم ورک کیوی Kivy
Company
LOGO
Company
فهرست مطالب
مقدمه
--11مقدمه
چیست؟
Kivyچیست؟
کیویKivy
ورککیوی
فریمورک
––22فریم
پایتون
درپایتون
کیویدر
ورککیوی
فریمورک
هایفریم
پروژهههای
––33پروژ
کیوی
ورککیوی
فریمورک
نصبفریم
--44نصب
پایتون
مجازیپایتون
محیطمجازی
سازیمحیط
فعالسازی
––55فعال
برنامه
اولینبرنامه
اجرایاولین
--66اجرای
برنامه
خروجیبرنامه
نمایشخروجی
––77نمایش
برنامه
تصویربهبهبرنامه
کردنتصویر
اضافهکردن
--88اضافه
UI
چیدمانUI
––99چیدمان
27 / 1
ساخت برنامه موبایل با فریم ورک کیوی
LOGO
Company
فهرست مطالب
))Event
رویداد((Event
کردنرویداد
اضافهکردن
––10اضافه
10
پایتون
حسابباباپایتون
ماشینحساب
یکماشین
ساختیک
––11ساخت
11
اندروید
برایاندروید
برنامهبرای
بندیبرنامه
بستهبندی
––12بسته
12
IOS
برایIOS
برنامهبرای
بندیبرنامه
بستهبندی
--13بسته
13
Windows
برایWindows
برنامهبرای
بندیبرنامه
بستهبندی
––14بسته
14
Mac
Mac OS
برایOS
برنامهبرای
بندیبرنامه
بستهبندی
--15بسته
15
27 / 2
ساخت برنامه موبایل با فریم ورک کیوی
LOGO
Company
LOGO
مقدمه
امروزه اکثر توسعه دهندگان و برنامهنویسان بر روی اپلیکیشنهای موبایل و یا برنامههای وب کار میکنند .در پایتون قابلیت
توسعه و ساخت اپلیکیشن با بستههای مخلف مانند Kivy ،PyQtیا حتی کتابخانه Toga Beewareوجود
دارد.
کار کردن با فریمورک kivyمزایای فراوانی دارد ازجمله اینکه اپلیکیشن شما در همه سیستمعاملها یکسان خواهد بود و
بعد از هر تغییر ،نیازی به کامپایل کد ،نخواهید داشت.
این فریمورک چند پلتفرمی را میتوان در
سیستمعاملهای ویندوز ،مک ،لینوکس و
رزبری پای اجرا کرد.
ای ن فری م ورک تکام ل یافته PyMT
Projectمیباشد و برای استفاده در
پروژههای جدید مناسب است.
27 / 3
ساخت برنامه موبایل با فریم ورک کیوی
فریم ورک کیوی Kivyچیست؟
Company
LOGO
• کیوی یک فریم ورک رایگان و متن باز برای زبان پایتون میباشد که برای
توسعه سریعتر اپلیکیشن مورد استفاده قرار میگیرد.
• فریم ورک کیوی اولین بار در سال 2011منتشر شد .از آن جایی که این فریم
ورک از مجوز MITاستفاده میکند بنابراین میتوانید از این کتابخانه برای
نرم افزارهای رایگان و تجاری استفاده کنید.
هایآنب ه ص ورتس فارشیش ده اس تفاده ک ند .اینب دانم عنیاس تک ه ب رنامه
ک ند از همه ابزارک
• Kivyس عیم ی
رس ند .ب ا اینحا ،لظ اهر و اح ساسب رنام ه ش ما ب ا ب رنامههای
ها ی کسانب ه ن ظر م ی
های Kivyدر همه س یستمعامل
است
رایج ک اربر ش ما م تفاوت .
• این تفاوت بسته به مخاطب شما میتواند یک مزیت یا یک
اشکال باشد .بطور کل ی میتوان گفت کیوی تمام ابزارهای
ساخت اپلیکیشن موبایل با پایتون را دارد.
• این کتابخانه با سخت افزارهای دستگاههای مختلف نیز ارتباط
برقرار کند.
27 / 4
ساخت برنامه موبایل با فریم ورک کیوی
Company
پروژههای فریم ورک کیوی در پایتون
LOGO
• فریم ورک کیوی برای توسعه برنامههای تلفن همراه و دیگر نرمافزارهای کاربردی چندمنظور با رابط کاربری طبیعی
( )NUIاست.
• همانطور که در اسالید قبلی گفتیم این فریم ورک بر روی پایتون نصب میشود و دارای پروژه هایی برای پلتفرمهای
مختلف از جمله پایتون برای اندروید ،پروژه کیوی IOSو چندین کتابخانه دیگر است.
• فریم ورک کیوی چند پلتفرمی ( )cross platformمیباشد.
• پایتون برای اندروید
• پروژه کیوی IOS
• پروژه کیوی Designerطراحی UI
• پروژه Pyjniusبرای دسترسی پویا به APIهای جاوا یا اندروید
• پروژه Pyobjusبرای دسترسی پویا به APIهای IOS
• پروژه Buildozerبرای بسته بندی عمومی پایتون برای Androidو IOS
• پروژه KivEntموتور بازی سازی کیوی
27 / 5
ساخت برنامه موبایل با فریم ورک کیوی
Company
LOGO
نصب فریم ورک کیوی
• برای نصب فریم ورک کیوی بر روی سیستم عامل ویندوز باید پایتون نسخه 3.7یا باالتر را نصب داشته باشید .بهتر
است کیوی را در یک محیط مجازی پایتون نصب کنید.
• میتوانید از کتابخانه venvداخلی پایتون یا بسته virtualenvاستفاده کنید .برای این کار cmdرا باز
کنید و دستور زیر را در آن تایپ کنید.
python -m venv my_kivy_project
با این کار فایل اجرایی Pythonشما در پوشهای به نام my_kivy_projectکپی میشود و چند زیر
پوشه دیگر نیز به آن فهرست اضافه میشود.
برای استفاده از محیط مجازی پایتون ،باید
آن را فعال کنید.
27 / 6
ساخت برنامه موبایل با فریم ورک کیوی
Company
فعال سازی محیط مجازی پایتون
LOGO
برای فعال سازی محیط مجازی پایتون در سیستمعامل ویندوز ،محل فعالسازی اسکریپت داخل پوشه Scripts
است .برای فعالساز باید به دایرکتوری Scriptsبروید و دستور زیر را اجرا کنید.
activate my_kivy_project
اکنون که محیط مجازی پایتون فعال شده است ،میتوانید pipرا برای نصب Kivyاجرا کنید .دستور زیر را تایپ
کنید:
pip install kivy
پس از نصب کیوی ،اگر به مسیرC:\Users\Pc\my_kivy_project\Lib\site-packages
بروید خواهید دید بستههای kivyنصب شدهاند .اگر هم پروژه خاصی روی سیستم انجام نمیدهید میتوانید روی پایتون
نصب شده بدون محیط مجازی kivy ،را نصب کنید.
27 / 7
ساخت برنامه موبایل با فریم ورک کیوی
Company
LOGO
اجرای اولین برنامه
برای اینکه بتوانید از فریم ورک کیوی استفاده کنید نیاز دارید کمی با کالس ،تابع و درکل با برنامه نویسی شیءگرا آشنا
شوید .معرفی این اصطالحات به تنهایی نیازمند پاورپوینت جداگانهای میباشد و امکان توضیح دادن در این ارائه وجود
ندارد .ما فرض را بر این میگیریم که شما با این اصطالحات آشنا هستید.
برای اجرای اولین برنامه خود ابتدا باید چند کتابخانه به برنامه خود اضافه کنید .بدین منظور کدهای زیر را در IDEخود
بنویسید:
from kivy.app import App
from kivy.uix.label import Label
حال نوب ت نوشت ن برنام ه اس ت .میخواهیم
یک Lableایجاد کنیم و متن Hello
from Kivyرا در داخل لیبل بنویسیم.
برای این کار کدهای زیر را بنویسید:
27 / 8
class MainApp(App):
def build(self):
label = Label(text='Hello from Kivy',
size_hint=(.5, .5),
)}pos_hint={'center_x': .5, 'center_y': .5
return label
if __name__ == '__main__':
)(app = MainApp
)(app.run
ساخت برنامه موبایل با فریم ورک کیوی
Company
LOGO
)اجرای اولین برنامه (ادامه
from kivy.app import App
from kivy.uix.label import Label
class MainApp(App):
def build(self):
label = Label(text='Hello from Kivy',
size_hint=(.5, .5),
pos_hint={'center_x': .5, 'center_y': .5})
return label
if __name__ == '__main__':
app = MainApp()
app.run()
: کد پایانی به صورت مقابل خواهد بود
خود را طراحی کنیدUI در این قسمت میتوانید. داردbuild و تابع سازندهApp نیاز به زیر کالسKivy هر برنامه
.یا توابع خود را قرار دهید
. آن وارد شده استpos_hint وsize_hint، text ایجاد شده کهLabel یک ویجت، در کد باال
ساخت برنامه موبایل با فریم ورک کیوی
27 / 9
Company
LOGO
نمایش خروجی برنامه
ک نید .ب رای
ده د ک ه هنگام ایجاد ویج تاز آ ن استفاده م ی
هایی را انتس ابم ی
• size_hintب ه ک یوین س بت
ت نظیم size_hintدو عدد ال زم دارید:
اولین عدد به عرض کنترل xاشاره دارد.
عدد دوم به ارتفاع کنترل yاشاره دارد.
• هر دوی این اعداد میتوانند بین 0تا 1باشند .مقدار
پیشفرض برای هر دو نقطه 1است.
• از pos_hintبرای قرار دادن مکان ویجت
اس تفاده میکنند .در کدی ک ه در اس الید قبلی
گذاشتی م ،ب ه کیوی میگویی د ک ه ویجت را روی
محورهای xو yقرار دهد.
• دو خط پایانی برای اجرای برنامه الزم است .ابتدا یک
نمونه از کالس MainAppرا میسازید و سپس
آن را runمی کنید .حاال اگر برنامه را اجرا کنید
خروجی مقابل را خواهید دید.
27 / 10
ساخت برنامه موبایل با فریم ورک کیوی
Company
LOGO
اضافه کردن تصویر به برنامه
دو روش برای اضافه کردن تصویر به برنامه در کیوی وجود دارد.
یک روش اضافه کردن تصویر از حافظه سیستم با استفاده از Image
و دیگری اضافه کردن تصویر از آدرس اینترنتی با استفاده از AsyncImage
• در این قسمت از Imageبرای اضافه کردن تصویر از حافظه سیستم استفاده شده است .کدهای خود را بدین صورت
بنویسید و خروجی را مشاهده کنید:
from kivy.app import App
from kivy.uix.image import Image
class MainApp(App):
def build(self):
= img
Image(source='/Images/Programstore.png',
size_hint=(1, .5),
)}pos_hint={'center_x':.5, 'center_y':.5
return img
if __name__ == '__main__':
)(app = MainApp
)(app.run
در این کد ،تصویر را از زیر بسته kivy.uix.imageوارد میکنید .کالس Imageپارامترهای متفاوتی دارد ،اما
پارامتری که می خواهید از آن استفاده کنید یک منبع یا Sourceاست .این کد به کیوی میگوید که کدام تصویر را
بارگذاری کند.
27 / 11
ساخت برنامه موبایل با فریم ورک کیوی
Company
UI چیدمان
LOGO
import kivy
import random
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
red = [1,0,0,1]
green = [0,1,0,1]
blue = [0,0,1,1]
purple = [1,0,1,1]
class HBoxLayoutExample(App):
def build(self):
layout = BoxLayout(padding=10)
colors = [red, green, blue, purple]
for i in range(5):
btn = Button(text="Button #%s" % (i+1),
background_color=random.choice(colors))
layout.add_widget(btn)
return layout
if __name__ == "__main__":
app = HBoxLayoutExample()
app.run()
هر فریمورک که از رابط کاربری گرافیکی استفاده
در.میکند روشی برای مرتب سازی ابزارکها دارد
برای چیدمان و مرتبLayouts از،Kivy
چندین نوع مختلف طرح.سازی استفاده خواهید کرد
.بندی وجود دارد که می توانید از آنها استفاده کنید
: ها ذکر شده استLayout برخی از مهم ترین
BoxLayout
FloatLayout
GridLayout
•
•
•
: را ب ا اینک د امتحانک نیدBoxLayout
ساخت برنامه موبایل با فریم ورک کیوی
27 / 12
Company
چیدمان ( UIادامه)
LOGO
در کدی که ذکر کردیم ،یک BoxLayoutاز kivy.uix.boxlayoutرا وارد کرده و آن را نمونه سازی
میکنیم .سپس لیستی از رنگ ها ایجاد می کنیم ،که از رنگ های قرمز ،آبی و سبز ( )RGBتشکیل شده است.
در نهایت ،در محدوده یک حلقه btn،برای هر تکرار ایجاد می شود .پس زمینه buttonرا روی یک رنگ تصادفی
تنظیم کرده ،سپس دکمه را با ) layout.add_widget (btnبه طرح خود اضافه کنیم.
هنگام اجرای برنامه خروجی به صورت مقابل خواهد بود:
27 / 13
ساخت برنامه موبایل با فریم ورک کیوی
Company
اضافه کردن رویداد ()Event
LOGO
همانند بسیاری از ابزارهای کیوی GUI ،کیوی نیز مبتنی بر رویداد است .این فریمورک به فشرده شدن کلیدهای کاربر،
رویدادهای ماوس و رویدادهای لمسی پاسخ میدهد Kivy .همچنین دارای مفهوم خواص یا Propertiesاست که با
EventDispatcherکار می کند.
خواص به شما کمک می کند تا بررسی اعتبار را انجام دهید و در هر زمان اندازه یا موقعیت ویجت خود را تغییر دهید.
با استفاده از دستور button.bindمی توانید یک
رویداد بسازید و در آن تابع دیگری را صدا بزنید .اگر همه
چیز درست باشد تصویر زیر را در خروجی خواهید دید:
27 / 14
from kivy.app import App
from kivy.uix.button import Button
class MainApp(App):
def build(self):
button = Button(text='Hello from Kivy',
size_hint=(.5, .5),
pos_hint={'center_x': .5,
)}'center_y': .5
button.bind(on_press=self.on_press_butto
)n
return button
def on_press_button(self, instance):
)'!print('You pressed the button
if __name__ == '__main__':
)(app = MainApp
)(app.run
ساخت برنامه موبایل با فریم ورک کیوی
Company
LOGO
ساخت یک ماشین حساب در پایتون
1. from kivy.app import App
2. from kivy.uix.boxlayout import BoxLayout
3. from kivy.uix.button import Button
4. from kivy.uix.textinput import TextInput
5. class MainApp(App):
6. def build(self):
7. self.operators = ["/", "*", "+", "-"]
8. self.last_was_operator = None
9. self.last_button = None
10.main_layout = BoxLayout(orientation="vertical")
11.self.solution = TextInput(
12.multiline=False, readonly=True, halign="right",
font_size=55)
13.main_layout.add_widget(self.solution)
14.buttons = [
15.["7", "8", "9", "/"],
16.["4", "5", "6", "*"],
17.["1", "2", "3", "-"],
18.[".", "0", "C", "+"],]
19.for row in buttons:
20.h_layout = BoxLayout()
21.for label in row:
22.button = Button(
23.text=label,
24.pos_hint={"center_x": 0.5, "center_y": 0.5},)
25.button.bind(on_press=self.on_button_press)
26.h_layout.add_widget(button)
ساخت برنامه موبایل با فریم ورک کیوی
برای ایجاد یک ماشین حساب
کدهای زی ر را در برنامه خود
توضیحات مربوطه در.بنویسید
اس الیدهای بعدی داده خواهد
:شد
27 / 15
Company
LOGO
)ساخت یک ماشین حساب در پایتون (ادامه
27.main_layout.add_widget(h_layout)
28.equals_button = Button(
29.text="=", pos_hint={"center_x": 0.5,
"center_y": 0.5})
30.equals_button.bind(on_press=self.on_sol
ution)
31.main_layout.add_widget(equals_button)
32.return main_layout
33.def on_button_press(self, instance):
34.current = self.solution.text
35.button_text = instance.text
36.if button_text == "C":
37.# Clear the solution widget
38.self.solution.text = ""
39.else:
40.if current and (
41.self.last_was_operator and button_text
in self.operators):
ادامه
42.# Don't add two operators right after each other
43.return
44.elif current == "" and button_text in
self.operators:
45.# First character cannot be an operator
46.return
47.else:
48.new_text = current + button_text
49.self.solution.text = new_text
50.self.last_button = button_text
51.self.last_was_operator = self.last_button in
self.operators
52.def on_solution(self, instance):
53.text = self.solution.text
54.if text:
55.solution = str(eval(self.solution.text))
56.self.solution.text = solution
57.if __name__ == "__main__":
58.app = MainApp()
59.app.run()
ساخت برنامه موبایل با فریم ورک کیوی
27 / 16
Company
ساخت یک ماشین حساب در پایتون (ادامه)
LOGO
نحوه کار کد ماشین حساب به عنوان مثال از ساخت اپلیکیشن موبایل با پایتون بصورت زیر توضیح داده می شود.
•
•
•
•
•
•
•
•
•
•
•
خطوط 7ت$ا :9لیستی از عملگرها و چند مقدار last_was_operator ،و last_buttonایجاد شده
که بعداً از آنها استفاده خواهد شد.
خطوط 10ت$ا :13ی ک طرح بندی س طح باال main_layoutایجاد میکن د و ی ک ویجت TextInput
فقط خواندنی را به آن اضافه می کند.
خطوط 14تا :18یک لیست تو در تو ایجاد می کند که حاوی بیشتر دکمه ها برای ماشین حساب است.
خط :19روی این دکمه ها حلقه forرا اعمال می کند .برای هر لیست تو در تو موارد زیر را انجام می دهد:
خط :20یک BoxLayoutبا جهت افقی ایجاد می کند.
خط :21حلقه دیگری را برای موارد موجود در لیست تو در تو اعمال می کند.
خطوط 22ت$ا :32دکمه های ردیف را ایجاد میکند و به ی ک کنترل کننده رویداد متصل میکند و دکمه ها را به
خط افقی BoxLayoutاز خط 23اضافه می کند.
خط :27این طرح را به main_layoutاضافه می کند.
خطوط 28ت$ا :31دکمه )=( equalsرا ایجاد می کند ،آن را به یک کنترل کننده رویداد متصل می کند و آن را
به main_layoutاضافه می کند.
خط :33آرگومان نمونه را می گیرد تا بتواند به در ویجت به نام تابع دسترسی پیدا کند.
خطوط 34و :35مقدار جواب و متن دکمه را استخراج و ذخیره می کند.
27 / 17
ساخت برنامه موبایل با فریم ورک کیوی
Company
ساخت یک ماشین حساب در پایتون (ادامه)
LOGO
• خطوط 36ت$ا :38بررسی میکند که کدام دکمه فشار داده شده است .اگر کاربر Cرا فشار داده است ،جواب را پاک
می کند .در غیر این صورت ،به دستور elseمی رود.
• خط :40بررسی می کند که آیا جواب ارزش قبلی دارد یا خیر.
• خطوط 41ت$ا :43بررسی میکند که آیا آخرین دکمه فشرده دکمه اپراتور بوده است یا خیر .اگر چنین بود ،جواب به
روز نمی شود .این کار ،به منظور جلوگیری از داشتن دو اپراتور پشت سر هم در کاربر است.
• خطوط 44تا :46بررسی می کند که آیا کاراکتر اول اپراتور است یا خیر .اگر چنین است ،پس جواب به روز نمی شود،
زیرا اولین مقدار نمی تواند یک مقدار عملگر باشد.
• خطوط 47ت$ا :49در بند elseقرار می گیرد .اگر هیچ یک از شرایط قبلی برآورده نشود ،جواب را به روز می کند.
• خط last_button :50را روی برچسب آخرین دکمه فشرده شده تنظیم می کند.
• خ$ط last_was_operator:51را بسته به اینکه آیا کاراکتر بوده یا نه ،روی Trueیا Falseتنظیم
میکند.
27 / 18
ساخت برنامه موبایل با فریم ورک کیوی
Company
بسته بندی برنامه برای اندروید
LOGO
کد برنامه خود را به پایان رساندید ،می توانید آن را با دیگران به اشتراک بگذارید .یک روش خوب برای انجام این کار ،این
است که کد خود را به برنامه ای تبدیل کنید که بتواند بر روی موبایلهای Androidشما اجرا شود .برای انجام این کار،
ابتدا باید بسته ای به نام buildozerبا pipرا نصب کنید:
pip install buildozer
سپس ،یک پوشه جدید ایجاد کرده و در ترمینال خود به آن بروید .هنگامی که در دایرکتوری مورد نظر هستید ،باید دستور زیر
را اجرا کنید:
buildozer init
ای ن دس تور یک فایل buildozer.specایجاد
میکند که از آن برای پیکربندی ساخت اپلیکیشن موبایل با
پایتون استفاده خواهید کرد.
27 / 19
ساخت برنامه موبایل با فریم ورک کیوی
Company
بسته بندی برنامه برای اندروید (ادامه)
LOGO
در این مرحله ،شما تقریب ًا آماده ساختن برنامه خود هستید ،اما ابتدا باید وابستگی های buildozerرا نصب کنید .پس
از نصب ،برنامه ماشین حساب خود را در پوشه جدید خود کپی کرده و نام آن را به main.pyتغییر دهید .این کار برای
buildozerمورد نیاز است .اگر فایل خود را به درستی نامگذاری نکرده باشید ،در این صورت ساخت اپلیکیشن
موبایل با پایتون با شکست مواجه می شود.
حاال می توانید دستور مقابل را اجرا کنید:
buildozer -v android debug
مرحله ساخت زمان زیادی طول می کشد .بسته به سخت
افزار شم ا ،ممک ن اس ت ای ن زمان بیشت ر ی ا کمتر
باشد Buildozer،هر قطعهSDK Android
را که در مراحل ساخت نیاز دارد بارگذاری خواهد کرد .اگر
هم ه چی ز مطاب ق برنام ه پی ش رف ت ،ی ک فای ل با
نام kvcalc-0.1-debug.apkدر پوشه bin
خود خواهید داشت.
27 / 20
ساخت برنامه موبایل با فریم ورک کیوی
Company
بسته بندی برنامه برای اندروید (ادامه)
• حال موبایل اندرویدی خود به کامپییوتر
وص ل کنی د و فای ل apkرا در آن
کپی کنید.
• در هنگام نص ب اپلیکیشن بر روی
موبای ل احتماال ی ک درخواست اجازه
نصب از منابع ناشناخته از شما خواسته
میشود ک ه الزم اس ت دسترسی را
بدهید.
• پس از اجرای برنامه خروجی به صورت
مقابل خواهد بود:
27 / 21
ساخت برنامه موبایل با فریم ورک کیوی
LOGO
Company
بسته بندی برنامه برای IOS
LOGO
دستورالعمل های ساخت برنامه برای iOSکمی پیچیده تر از Androidاست .قبل از اینکه بتوانید برنامه خود را
برای iOSدر Macخود بسته بندی یا Packagingکنید ،باید دستورات زیر را اجرا کنید:
install autoconf automake libtool pkglink libtool
easy_install pip
pip install Cython==0.29.10
$ brew
config
$ brew
$ sudo
$ sudo
هنگامی که همه آنها با موفقیت نصب شدند ،باید توزیع را با استفاده از دستورات زیر کامپایل کنید:
$ git clone git://github.com/kivy/kivy-ios
$ cd kivy-ios
$ ./toolchain.py build python3 kivy
اگر با خطاهای SSLروبرو شدید ،احتما ًال راه اندازی OpenSSLپایتون را ندارید .دستور زیر این مشکل را رفع خواهد
کرد:
$ cd /Applications/Python\ 3.7/
$ ./Install\ Certificates.command
27 / 22
ساخت برنامه موبایل با فریم ورک کیوی
بسته بندی برنامه برای ( IOSادامه)
Company
LOGO
آی ا تمام دس تورات قبل ی را ب ا موفقی ت اجرا کردی د ،م ی توانی د پروژه Xcodeخود را ب ا اس تفاده از اسکریپت
toolchainایجاد کنید .قب ل از ایجاد پروژ ه ،Xcodeدایرکتوری ورود برنام ه اص لی شما بایدmain.py
نامگذاری شود .در اینجا فرمان اجرا شده وجود دارد:
>./toolchain.py create <title> <app_directory
بای د ی ک دایرکتوری ب ه نام titleب ا پروژ ه Xcodeشم ا در آ ن وجود داشت ه باشد .حاال م ی توانی د آ ن پروژه را
در Xcodeباز کنید و از آنجا روی آن کار کنید.
توجه داشته باشید که اگر می خواهید برنامه خود را به App Storeارسال کنید ،باید یک حساب توسعه دهنده
در developer.apple.comایجاد کرده و هزینه ساالنه آنها را بپردازید.
27 / 23
ساخت برنامه موبایل با فریم ورک کیوی
Company
بسته بندی برنامه برای Windows
LOGO
همچنین می توانید برنامه Kivyخود را برای Windowsبا استفاده از PyInstallerبسته بندی کنید .میتوانید
PyInstallerرا با استفاده از ابزار pipنصب کنید:
$ pip install pyinstaller
دستور زیر برنامه شما را برای ویندوز بسته بندی می کند:
$ pyinstaller main.py -w
این دستور یک فایل اجرایی ویندوز ( )exeو چندین فایل دیگر ایجاد می کند.
استدالل – wبه PyInstallerمیگوید که این یک برنامه ویندوزی است نه
یک برنامه خط فرمان .اگر ترجیح می دهید PyInstallerیک فایل اجرایی
واحد ایجاد کند ،می توانید عالوه بر – wدر آرگومان – onefileنیز وارد کنید.
27 / 24
ساخت برنامه موبایل با فریم ورک کیوی
Company
بسته بندی برنامه برای Mac OS
LOGO
می توانید از PyInstallerبرای ایجاد یک سیستم عامل اجرایی Macدرست مانند ویندوز استفاده کنید .تنها شرط
این است که این دستور را در Macاجرا کنید:
$ pyinstaller main.py -w --onefile
این دستور ی ک فای ل اجرایی واح د در پوشه distایجاد می کند .فای ل اجرای ی همان نام فای ل پایتون است که به
PyInstallerمنتقل کرده اید .اگر می خواهید حجم فایل اجرایی را کاهش دهید یا از GStreamerدر برنامه
خود استفاده کنید.
27 / 25
ساخت برنامه موبایل با فریم ورک کیوی
Company
LOGO
جمع بندی
دانستیم که زبان پایتون یک زبان قدرتمند است که میتوان با استفاده از آن نه تنها اپلیکیشن ویندوزی بلکه میتوان
اپلیکیشن های موبایل نیز ساخت.
ویژگی مثبت این زبان برنامه نویسی در این است که این برنامه چند پلتفرمی بوده و میتوان با استفاده از تنها یکبار
کدنویسی برای پلتفرم های مختلف خروجی گرفت.
زبان برنامه نویسی پایتون دارای چندین فریم ورک میباشد که در این پاورپوینت به معرفی فریم ورک کیوی ()Kivy
پرداختیم.
ی ک برنام ه ماشی ن حس اب ب ا استفاده از
فری م ورک کیوی طراح ی کردیم و در
نهایت برای چهار پلتفرم اندروید،IOS ،
ویندوز و مک خروجی گرفتیم.
امیدواریم از این پاورپوینت آموزشی نهایت
استفاده را کرده باشید.
27 / 26
ساخت برنامه موبایل با فریم ورک کیوی
Company
LOGO
با تشکر از همراهی شما عزیزان
27 / 27
ساخت برنامه موبایل با فریم ورک کیوی