در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم
کیوتهمچنین در نرمافزارهای معروفی چون کیدیئی، گوگل ارث، اسکایپ، ادوب فوتوشاپ آلبوم، ویرچوال باکس و اوپرا استفاده شده است و توسط یک شرکت نروژی بهنام Qt Software توسعه مییابد، که قبلا با عنوان Trolltech فعالیت میکرد، اما پس از فروختن کل شرکت به نوکیا در 17ژوئن سال گذشته میلادی، به اسم جدیدش تغییر نام داد.
تاریخچه
کیوت از سال 1991 توسط هاوارد نورد (Haavard Nord) و آیریک چامبهانگ (Eirik Chambe-Eng) آغاز به توسعه کرد و بارها اسم خود را تغییرداد.
واژه Qt دارای ریشه خاصی نیست، و دلیل اصلی نامگذاری آن، زیبا بودن شکل حرف Q در نرمافزار emacs هاوارد بوده است و بعد t را با الهام از Xt)The X toolkit) به آن اضافه کردهاند.
مشخصات فنی
منبع اصلی کدهای کیوت از++ C است، ضمن آنکه این بستره ابزاری از چندتایی گسترشدهنده غیراستاندارد و چندتایی پیشپردازنده استفاده میکند تا کد استاندارد++ C را قبل از کامپایل تولید کند. کیوت همچنین با زبانهای دیگر برنامهنویسی هم کار میکند. تاکنون برنامهنویسان منبعباز، کیوت را برای زبانهای Ada، C#، جاوا، پاسکال، پرل، پیاچپی، روبی و پایتون توسعه دادهاند. کیوت را در تمام پلتفرمهای مطرح میتوان اجرا کرد و پشتیبانی خوبی از بابت چندزبانه بودن دارد و حتی شامل ویژگیهایی غیرگرافیکی همچون کتابخانههایی برای دسترسی سادهتر به پایگاه داده، پارس کردن فایلهای XML، مدیریت Threadها و پشتیبانی از شبکه و یک رابط کاربری برنامهنویسی برای مدیریت فایل را در خود دارد.
محیط های اجرا
کیوت روی این بسترها اجرا میشود:
- 11Qt/X برای سیستم پنجره X، (یونیکس، لینوکس)
- Qt/Mac برای اپل، (Mac Os X)
- Qt/Windows برای ویندوز مایکروسافت
- Qt/Embedded برای تلفنهای همراه، دستیارهای جیبی و...
- Qt/WinCE برای ویندوز CE
- Qt Jambi برای جاوا
- Qt Extended برای موبایلهای مبتنی بر لینوکس.
همچنین در 20 اکتبر 2008، برای سیمبیان 60S نیز نسخه خاصی عرضه شد. روی هر کدام از بسترهای توسعه، چهار نسخه مختلف برای دریافت آماده شده است:
- Qt Console نسخه توسعه بدون رابط کاربری
- Qt Desktop Light نسخه ورود داده گرافیکی، بدون پشتیبانی از شبکه یا پایگاه داده
- Qt Desktop نسخه کامل
- Qt Open Source Edition نسخه کامل، با چند استثنا برای توسعه دهندگان نرمافزارهای باز و آزاد.
تا پیش از عرضه نسخه 5/4، کیوت تحت دو مجوز منتشر میشد، یکی مجوز نرمافزارهای تجاری که روی تمام بسترها عرضه میشد و دیگری مجوز آزاد LGPL که نرمافزارهای تولید شده تحت این لیسانس حق فروش نداشتند. با توسعه نسخه 5/4، کیوتاعلام کرد که از این بهبعد میتوانند تحت مجوز LGPL کیوت را عرضه کنند. (برای اطلاع از تفاوتهای GPL و LGPL به وبسایت ویکیپدیا مراجعه کنید.)
تمامی نسخهها از کامپایلرهای مختلفی پشتیبانی میکنند و چه در ویژوال استودیو و چه در GCC میتوان به توسعه نرمافزارهای مبتنی بر کیوت پرداخت.
ترولتک در سال 2005 کیوت 4 را عرضه کرد و پنج فناوری جدید در بستره نرمافزاری معرفی کرد:
- Tulip، مجموعهای از الگوهای کلاسهای حامی
- Interview، معماریای بر اساس مدل و ظاهر برای نمایش آیتمها
- Arthur، بستره رنگآمیزی دو بعدی
- Scribe، راندوکنندهمتن یونیکد و وجود APIای آزاد برای دسترسی به متون سطح پایین
- MainWindow پنجرهای وابسته به اکشنها، منوها و معماری چسبانکی.
در نسخه 1/4 پشتیبانی از PDF و SVG به کیوت اضافه شد و در نسخههای بعدی، پشتیبانی از OpenGL و QtScript نیز به مجموعه ابزار همهکاره کیوت اضافه گشت. همچنین در نسخه آخر، از چند نخی پشتیبانی کرد و با موتور پردازشی™راندوی WebKit نیز یکپارچه شد.
عرفو قانون
همانطور که قبلا گفتیم، کدنویسی بهروش کیوت کدنویسی استاندارد++ C نیست و در واقع ترکیبی از ماکروها و پیشپردازندههاست برای رسیدن به زبانی پویاتر که بیشتر به جاوا یا پایتون نزدیک است تا++ C. در حقیقت برای استفاده کامل و مفید از قدرت و سادگی کیوت، بهطور کل کتابخانههای استاندارد را فراموش خواهیم کرد. برای برنامهنویسی بهسبک کیوت، روشها و دیدگاههای مختلف و طول و درازی وجود دارد. ما آنها را اینجا خلاصهکردهایم، برای اطلاعات بیشتر، به مستندات وبسایت کیوت مراجعه کنید.
– نام کلاسها با حرف بزرگ شروع میشود، مانند: .class Customer
– نام توابع با حرف کوچک شروع میشود.
– هر چند که کامپایلر استفاده از نقطه، خط زیر، خط تیره و کاراکترهای بامزه را آزاد گذاشته است، اما بهتر است از آنها اجتناب گردد.
– ثابتها همه با حروف بزرگند.
– اسم کلاسها باید اسم یا عبارت اسمی باشد.
– برای عضوهای دادهای از یک m_ استفاده کنید.
– برای عضوهای استاتیک دادهای از sm_ استفاده کنید. و...
نرمافزارهای جانبی
همچنینبههمراهکیوتنرمافزارجانبیQtDesigner عرضه میشود که توسعه نرمافزار را برای برنامهنویسان سادهتر میکند: ابزاری که به کمک آن میتوان بهسادگی فرمهای مورد نظر را طراحی و سیگنالدهی کرد. کیوت قابلیت اتصال به پایگاههای داده ODBC، MySQL، PSQL، SQLite، ibase، Oracle، Sybase و 2DB را داراست.
جمعبندی
بهنظر میرسد بسیاری از کاربران این راهحل برای توسعه نرمافزار را نسبت به دیگر راههای حل ترجیح دهند. از طرفی، سرعت اجرای برنامههای کامپایل شده، نسبت به برنامههای ماشین مجازی سریعتر است و از طرف دیگر، اینکه بدون نیاز به تغییر کد، میتوان یک نرمافزار را برای چندین سیستمعامل کامپایل و آماده استفاده کرد، خود یکی دیگر از دلایل گرویدن برنامهنویسان، چه کوچک و چه بزرگ به این بستره نرمافزاری است.
نوکیا طی اقداماتی که با آزادسازی مجوز سیستم عامل خود و همچنین خرید کیوت بهعنوان بستری همهکاره برای تولید نرمافزار در هر کجا انجام داد؛ بهنظر میرسد بهدنبال کسب سهم مهمی از بازار نرمافزار نیز باشد.
منابع
qtsoftware.com
wikipedia
|trolltech.com/qt
میلاد پیکانی
در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم
گزارش «جامجم» درباره دستاوردهای زبان فارسی در گفتوگو با برخی از چهرههای ادب معاصر
معاون وزیر بهداشت: