ورود

View Full Version : آينده Qt



emadfa
جمعه 22 اردیبهشت 1391, 10:44 صبح
سلام.

الان چند ماهي هست که در سايت نوکيا و بسياري از فروم هاي دنيا بحث بر روي آينده Qt بسيار زياد شده و خيلي از برنامه نويسان نگران هستند.
اول اينکه در نسخه جديد Qt يعني Qt 5 با پشتيباني از Qt Quick در ادامه نسخه قبلي به نظر مي رسه که به هيچ عنوان از Qt Widgets پشتيباني نمي شه. يعني API هاي جديد در قالب Qt Quick معرفي مي شوند نه در قالب Qt Widgets. در اين که Qt Quick ابزار قدرتمندي هست شکي نيست و اين که با اومدن windows 8 و تبلت هاي جديد عملا براي ساختار جديد برنامه نويسي بايد از ابزارهاي جديد استفاده کرد اما دو نکته مهم وجود داره:

1) Qt Quick به زبان Java script هست در صورتي که Qt يک چارچوب مستقل از سکو به زبان ++C بوده و دليل شهرتش هم اين بوده.

2) نگراني هاي زيادي در خصوص عدم پشتيباني از widget ها (يعني ادامه توسعه اون ها) وجود داره.

در چند ماه اخير به خصوص از اواخر سال 2011 نگراني هاي زيادي از فروش بخش تجاري Qt به شرکت Digia وجود داره. هر چند با اومدن نسخه جديد Qt به نظر مي رسه تيم Qt هم چنان در حال توسعه اون هستند. البته با تمرکز بر روي smart phone ها و تبلت ها که اين امر نگراني درباره پشتباني از Qt روي Desktop رو در آينده افزايش داده.

از دوستان و اساتيد محترم مي خوام اگر در اين مورد اطلاعي دارند اطلاعاتشون رو در اختيار ما بزارند تا اگر بخشي از اين تحليل اشتباه هست اصلاح شه تا بتونيم به شکلي دقيق تر بر روي آينده کاري و تحقيقاتي با Qt برنامه ريزي کنيم. (البته به شکلي واقع بينانه)

حامد مصافی
سه شنبه 26 اردیبهشت 1391, 19:18 عصر
تیم کیوت در مورد نسخه ۵ اطلاعات کمی پخش کرده که باعث سردرگمی کاربران (از جمبه بنده) شده. اما به شیوایی بیان شده که زبان c++ همچنان زبان اصلی کیوت باقی خواهد موند.
اما با توجه به همین شنیده‌ها یک نگاهی خوشبینانه در مورد آینده کیوت در ذهن من شکل گرفته! یکی از این دلايل افزایش تعداد ماژول‌هاست که بسیار مورد طبع بنده هست. از طرفی ظاهراً نوکیا تصمیم گرفته به دوگانگی QtScript و qml خاتمه بده و ماژول QtJs رو آماده کرده که پشتیبانی از جاوااسکریپت رو برای برنامه‌ها فراهم می‌کنه که یعنی emac script با js جایگزین خواهد شد (هر چند QtScript هم به دلیل حفظ هماهنگی همچنان وجود خواهد داشت)
تا جایی که من خوندم قرار نیست کاستی بر widgets اعمال بشه. بلکه qml و qt-quick با ساختار بهتری در کیوت قرار خواهند گرفت.
حتی اعلام شده نسخه‌های اولیه ۵ binary compatibility رو نخواهند شکست. یعنی نرم‌افزار‌های سابق می‌تونن با فایل‌های بایناری جدید (dll در ویندوز، so در لینوکس و ...) کار کنند.
بهتره همه با هم منتظر پایان ماه ژون بمونیم :)

emadfa
چهارشنبه 27 اردیبهشت 1391, 18:36 عصر
ممنونم از پاسختون.
خیلی خیلی علاقه مند بودم که پاسخ شما رو به عنوان یکی از کهنه کارای Qt بشنوم.

من هم با همه این وجود نسبت به آینده خوشبینم و بی صبرانه منتظر انتشار نسخه Qt 5 هستم.
Qt بهترین framework مستقل از سکو در دنیاست. امیدوارم همیشه بهترین بمونه.

weox__
سه شنبه 13 تیر 1391, 14:40 عصر
با عرض معذرت بخاطر بالا آوردن این تاپیک نسبتا قدیمی .
اخبار ترسناکی از کیوت 5 منتظر می شه . به حدی که اگر این اخبار منتشر شده واقعیت داشته باشه خیلی ها در فروم های انگلیسی مطرح کردن که (از جمله خود من ) دیگه کیوت کار نخواهیم کرد و کیوت 5 اصلا کیوت نیست !!

1. QWidget ها Done شدن (http://qt-project.org/wiki/Qt_Modules_Maturity_Level). و دیگه توسعه داده نمی شند . البته تیم مدیریت کیوت طوری وانمود می کنه که done شدن طبیعی هست و بعد یه مدت ممکنه دوباره توسعه داده بشن . ولی وقتی من و شما به واقعیت نگاه می کنیم و می بینیم مثلا هفته به هفته تکنولوژی های جدید گسترش پیدا می کنن و مطرح می شن. می بینیم که مفهوم done شدن فقط و فقط یه بازی سیاسی هست .

این (http://labs.qt.nokia.com/2012/06/06/desktop-components-for-qt-5/) و این (http://labs.qt.nokia.com/2011/03/10/qml-components-for-desktop/) و این (http://qt-project.org/forums/viewthread/16465/P165) و این (http://qt-project.org/forums/viewthread/14389)

و این یه نظر سنجی هست (http://qt-project.org/forums/viewthread/16465/) که تقریبا دوبرابر کسایی که به کافی بودن QML اعتقاد داشتن . اعتقاد دارن که باید رابط C++‎‎‎ توسعه پیدا بکنه .

و از همه جالب تر اعتراض هایی که تو این کامنت ها (http://labs.qt.nokia.com/2011/02/18/buckets-of-cold-water/) می شه .


2. من با این (http://doc.qt.nokia.com/4.7/qml-extending.html) شخصا کار نکردم . ولی یکی از کامنت ها تو یکی از لینک های بالا به نکته ی خیلی خوبی اشاره کرده بود ." QML یه تکنولوژی عالی و فوق العاده هست . ولی سوال اینجاست که وقتی داری برای یه بخش از یه نیروگاه هسته ای برنامه می نویسی . یا داری برای یه بخش خیلی حساس از یه کارخونه ی صنعتی برنامه می نویسی. خنده دار هست که با QML استفاده کرد . "
من کاملا با این کامنت هم عقیده هستم .QML شاید بدرد ساختن بازی angry birds و ... بخوره . ولی اصلا بدرد توسعه ی برنامه های حساس و صنعتی و تجاری نخواهد خورد . (و نوکیا داره بزور کیوت رو می بره به سمتی تو چارت فریم ورک ها چیزی مثل HTML5 یا فلش باشه !! )

من فقط یه نکته رو نمی فهمم . حالا که Digia صاحب ورژن تجاری کیوت هست . و نوکیا هم دیگه سیمین و MeeGo رو تموم شده اعلام کرده و با ماکروسافت کار می کنه . چطور داره کیوت رو بسمتی می بره که سیاست اون هستش ؟؟

نوکیا بزرگترین ضربه ی ممکن رو داره به کیوت می زنه . راه گسترش دادن کیوت به موبایل ها این نیست که گسترش اون روی دسکتاپ رو کمتر و کم سرعت تر بکنیم .
از نظر من باید به کاربر باید حق انتخاب داد . باید کامپوننت های دسکتاپ هم به قدرت توسعه داده می شدن در کنار QML .
دموکراسی به سبک نوکیا !!

حامد مصافی
چهارشنبه 14 تیر 1391, 00:11 صبح
done شدن مورد طبیعی و بسیار عادیه. شما چرا از این امر تعجب کردید. در روند انتشار یک مجموعه آن به اجزای کوچکتر بخش می شود و سپس برای هر کدام از این بخش ها مدیری انتخاب می شود و در پایان کار وقتی تمام قسمت ها done شدند مجموعه عرضه میشود. در این مورد هم چون تیم کیوت نقشه زیادی برای ویدجت ها نداشتند سریع تر از بقیه قسمت ها done شد. که با توجه به سیاست فعلی کیوت طبیعیست. فعلا تمرکز بر روی ابزار های دیگر است. اما این به معنی مرگ ویدجت ها نیست.
آینده سیستم عامل ها داره به سوی دستگاه های همراه تر(!) مانند تبلت ها میره (مثال: ویندوز 8 با مترو) در این روند ظاهر گرافیکی این سیستم عامل ها هم تغییر زیادی خواهد کرد. از سویی نرم افزار ها دارند به جلوه های خود در فیلم های هالیوودی نزدیک تر میشن. در این مسیر که همه چیز داره جلوه گر میشه کمی ساده انگاریه که فکر کنیم یک رابط خشک میتونه دووم بیاره. نگاهی به تکنولوژی توسعه مایکروسافت بندازید. XAML رو عرضه کرد، silverlight رو برای رابط های گرافیکی مبتنی بر شتاب دهنده های گرافیکی. زمانی که این کار رو انجام میداد هیچی چیزی به کنترل های سنتی خودش اضافه نکرد. دات نت در گذر از نسخه 2 به نسخ بالاتر تغییرات بسیار کمی در مورد Windows Forms داشته. حالا چیزی که در مورد کیوت میبینید همون روش صحیحیه که مایکروسافت اون رو داره میره. به نظر شخصی من qml باید از این هم گسترده تر باشه. گمان می کنم (قریب به اطمینان) دنیای کیوت حتی به پلاگین qmlviewer برای مرورگر وب هم نیاز داره. رابط های گرافیکی مبتنی بر ترسیمات لایه ترسیم سیستم عامل (xrender یا gdi یا ...) کم کم دارند منسوخ میشن. بهبود های گرافیکی ویندوز 7 برای استفاده صحیح از کارت گرافیکی. عرضه رابط های افکتیو محیط های گرافیکی مانند گنوم و kde که از opengl استفاده می کنند همگی گویای این واقعیت هستند. در جهان مدرن جای نرم افزار های قدیمی win32، motif و gtk و .... نیست.
درسته که سیلورلایت جایگزین windows form نخواهد شد. qml جایگزین c++ نخواهد شد. qt quick جایگزین widgets نخواهد شد. اما این گذر لازم و ضروری است.

من تمام لینک هایی رو که شما لطف فرموده و لینکش رو قرار دادید رو مطالعه کردم. اما همه جا به این نکته رسیدم که کیوت چهارچوب برنامه نویسی qml/js نخواهد شد.
البته در پست پسشین خودم هم گفتم که تیم کیوت اخبار بسیار کمی در این مورد منتشر می کنه و اکثر این طبع شایعات نتیجه برداشت های برنامه نویسان در همین اخبار اندک و انعکاس اون در سایت نوکیاست اگر نوکیا در مورد خبر رسانی کمی بهتر عمل میکرد خیلی ها از سر در گمی رهایی پیدا میکردند.