مقدمات لازم برای فهم کیوت

1395/9/14 هومن حیدری 3420

سلام دوستان
درخشانی هستم با جلسه دوم از آموزش کیوت (کیوتی).
اگه یادتون باشه جلسه قبل مقدماتی رو از چیستی کیوت گفتیم. اینکه Qt چیست و به چه دردی میخوره. همچنین سرفصل‌های دوره‌مون رو تعیین کردیم.
امروز فصل 1 رو با هم استارت میزنیم. موافقید؟ آماده‌اید؟
پس...

فصل اول: «مقدمات لازم برای فهم کیوت»
کیوت از همان ابتدای بوجود آمدنش قصدش این بود که کار برنامه‌نویس‌ها و توسعه دهنده‌ها رو در سه حوزه‌ی زیر تسهیل کنه و علاوه بر اون قدرت مانور خیره کننده‌ای هم به اونها بده؛
ا) ظاهر گرافیکی عالی و خیره کننده (QtQuick) و نیز کارهای گرافیکی آسان‌تر(OpenGL و ...)
ب) بالابردن بازدهی و توان مانور توسعه‌دهنده(ترکیب JS + QML + CSS + HTML + XML + CPP)؛ بدین شیوه که شما به راحتی می‌توانید مثل برنامه‌های تحت وب، برنامه‌هاتون رو به دو بخش تقسیم کنید. یک بخش ظاهری یا UI که با QML و JavaScript طراحی میشه و یک بخش پشتی یا Backend که بخش پردازشی اصلی برنامه تون هست و با CPP پیاده سازی میشه. این بدین معنیه که تیم طراحی به راحتی روی زیبایی برنامه متمرکز می‌شن و تیم Backend روی پایداری و امنیت و قدرت برنامه.
ج) قابلیت چندسکویی؛  تقریبا امروز شما می‌توانید برای هر پلتفرم و سیستم عاملی برنامه ی کیوتی‌تون رو پورت کنید و براش خروجی بگیرید. سیستم عامل‌هایی چون:
Linux
Windows
MacOSx
Android
iOS
و...
جالبیش هم اینجاست که اولا: برنامه‌تون روی همه‌ی سیستم‌عامل ها به یک صورت کار میکنه و ثانیا: ظاهرا برنامه‌تون روی هر پلتفرمی خودش رو بصورت Native‌ درمیاره. یعنی مثلا روی اندروید ظاهر برنامه تون شبیه برنامه‌های اندرویدیه و روی لینوکس شبیه برنامه‌های لینوکسی و روی ویندوز شبیه برنامه‌های ویندوزی و ...!!
یک کد واحد، n تا خروجی حسابی!
د) اپن سورس بودن؛ و شما تمام(قسمت اعظم) این‌ها رو میتونید بصورت رایگان و سورس‌باز داشته باشید. حتی می‌تونید کیوت خاص خودتون رو داشته باشید!
ه) قابلیت ساخت برنامه‌های چند زبانه: یعنی شما بتونید برنامه‌های بسازید که با کمترین تغییری توی کدهاتون هر وقت لازم بود بتونید زبان‌های دیگری رو نیز بهش اضافه کنید.

دل و روده‌ی کیوت:

خب وقتشه که یه نگاه دقیق‌تر و عمقی‌تر به این موجود شیرین بیندازیم!
کیوت هم مثل اکثر فریمورک‌ها از دو بخش اصلی تشکیل شده:
یک) بخش پایه – یا اصطلاحا Essentials
دو) بخش ماژول‌ّها و افرودنی‌ها(یه چیزی مثل فلفل و زردچوبه!) – یا Add-on modules

بخش پایه شامل قابلیت‌ّهای اصلی‌ای هست که کیوتی ارائه می‌ده.
مثل چی؟ مثل قابلیت‌های:
-هسته: شامل کار با Threading و Container ها و سیستم رویدادها و سیستم فایل و ...
-کار با کنسول
-کنترل‌ّهای GUI
-QtQuick
-کار با شبکه
-کار با SQL
-Unit Test
-کار با WebKit
-و...
(تصویر ۱ لیست کامل تری از اجزای بخش Essential را نمایش میدهد. هر چند تعداد واقعی این پایه‌ها بیشتر از اینهاست . منبع: ویکیپدیا)

بخش افزودنی‌ّها شامل کلاس‌هایی است که قدرت هسته‌ و پایه‌ی کیوتی رو توسعه می‌دهند. کلاس‌ّهایی مثل:
-کار با بلوتوث
-کار با NFC
-کار با OpenGL
-کار با ActiveX
-کار با سنسورها
-کار با پورت‌ّهای سریال
-کار با سوکت‌های وب
-کار با XML
-و...
(تصویر ۲ لیست کامل‌تری رو از افزودنی‌ّهای کیوت ارائه میده. هر چند تعداد واقعی این افزودنی‌ها بیشتر از اینهاست. منبع: ویکیپدیا)

پس اگرچه این مرد اسب‌سوار مرد ساده‌ای است از جنس !! CPP اما قدرتی داره که هر آدم (از نوع برنامه‌نویسش رو!!) وسوسه میکنه باهاش رفیق شه!

آموزش کیوت Qt

تصویرـ1 Qt Essentials

 

آموزش کیوت Qt

 تصویرـ2  Qt Add_On


خب...فکر میکنم برای این جلسه کافی باشه!
دوستان عزیزم خسته نباشید. ممنون از اینکه با کانال ما همراه هستید. از جلسه آینده انشاءالله کم کم از نزدیک خدمت کیوت میرسیم و با هم یه برنامه‌ی ساده رو میدیم که کیوت بخوره بعد با هم دوباره به دل و روده‌ش نگاه میکنیم ببینیم چه اتفاقاتی اون تو می‌افته! ببخشیدم که چندشتون شد