ورود

View Full Version : سوال: پختگی پلت‌فرم کیوت



Amir 2010a
پنج شنبه 03 تیر 1395, 12:08 عصر
سلام
در مورد قدرت کیوت در سیستم عامل ویندوز و یا لینوکس شکی نیست اما
آیا کیوت به آن حد از پختگی رسیده که بتوان بدون محدودیت جایگزین جاوا برای برنامه نویسی آندروید بشه
مثلا تلگرام آندروید با کیوت نوشته شده?
با تشکر

arashz4
پنج شنبه 03 تیر 1395, 23:09 عصر
تلگرام اندروید با کیوت نوشته نشده نسخه ی دسکتاپ تلگرام با کیوت نوشته شده کیوت بیشتر برای دسکتاپ طراحی شده برای موبایل هم خوب هست ولی هنوز میتون بهتر بشه توی نسخه 5.7 برای اندروید بهتر شده و میتونی سرویس بسازی

Amir 2010a
پنج شنبه 03 تیر 1395, 23:25 عصر
یک مشکل داشت کیوت در اندروید و اونم اینکه با بسته شدن برنامه کامل بسته میشه و نمیتوان در پس زمینه فعال باشه مثلا تلگرام آندروید همیشه در پس زمینه فعاله با اینکه ظاهرا بستس
آیا کیوت در آندروید این قابلیت رو داره?
و یه مشکل دیگر هم داشت اونم بالا رفتن حجم زیاد برنامه ساخته شده با کیوت برای آندروید نسبت به جاواست
این مشکلات در نسخه جدید کیوت برطرف شده?
یک سوال نامرتبط
تلگرام سمت سرور و دیتابیس چه نوعی به و با چه زبانی نوشته شده

arashz4
پنج شنبه 03 تیر 1395, 23:36 عصر
یک مشکل داشت کیوت در اندروید و اونم اینکه با بسته شدن برنامه کامل بسته میشه و نمیتوان در پس زمینه فعال باشه مثلا تلگرام آندروید همیشه در پس زمینه فعاله با اینکه ظاهرا بستس
آیا کیوت در آندروید این قابلیت رو داره?
و یه مشکل دیگر هم داشت اونم بالا رفتن حجم زیاد برنامه ساخته شده با کیوت برای آندروید نسبت به جاواست
این مشکلات در نسخه جدید کیوت برطرف شده?
یک سوال نامرتبط
تلگرام سمت سرور و دیتابیس چه نوعی به و با چه زبانی نوشته شده
حجمش اونقدر هم زیاد نیست ولی اجرای برنامه در پس زمینه در نسخه 5.7 حل شده.

Amir 2010a
پنج شنبه 03 تیر 1395, 23:46 عصر
پس میشه با اطمینان خاطر به جای جاوا و اکلیپس از کیوت استفاده کنم
شایعاتی مبتنی بر کنار گزاشتن جاوا توسط گوگل بعد از دعوا حقوقی این شرکت با اوراکل مالک معنوی گوگل به گوش میرسه

کامبیز اسدزاده
جمعه 04 تیر 1395, 10:39 صبح
سلام
در مورد قدرت کیوت در سیستم عامل ویندوز و یا لینوکس شکی نیست اما
آیا کیوت به آن حد از پختگی رسیده که بتوان بدون محدودیت جایگزین جاوا برای برنامه نویسی آندروید بشه
مثلا تلگرام آندروید با کیوت نوشته شده?
با تشکر

خب بر اساس شواهدی که داریم میتونیم بگیم که نه تنها پخته بلگه کم مونده جزقاله بشه !!!! 20 ساله کیوت پا برجاست :-)
اما در مورد جایگزینیش با جاوا شما باید سی ++ رو در نظر بگیرید و خب در قدرت سی++ هم شکی نیست.


یک مشکل داشت کیوت در اندروید و اونم اینکه با بسته شدن برنامه کامل بسته میشه و نمیتوان در پس زمینه فعال باشه مثلا تلگرام آندروید همیشه در پس زمینه فعاله با اینکه ظاهرا بستس
آیا کیوت در آندروید این قابلیت رو داره?
و یه مشکل دیگر هم داشت اونم بالا رفتن حجم زیاد برنامه ساخته شده با کیوت برای آندروید نسبت به جاواست
این مشکلات در نسخه جدید کیوت برطرف شده?
یک سوال نامرتبط
تلگرام سمت سرور و دیتابیس چه نوعی به و با چه زبانی نوشته شده

اما در زمینه موبایل تا نسخه 5.6 مشکلاتی داشتیم که در نسخه 5.7 بسیاریاز اونها حل شده.
حجم برنامه های نوشته شده با کیوت حداقل 7 مگابایت هستش و بیشتر از 20 مگابایت تجاوز نمیکنن مگر اینکه شما غیر استاندارد برنامه نویسی کنید مثلا اینکلود کردن کلاس هایی که مورد استفاده قرار نمیگیره و یا حتی استفاده نادرست از فایل های مالتی مدیا در داخل برنامه.


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

ولی چیزی که من تصور میکنم اینه که گوگل شرکتیه که پشت Qt به صورت مخفی خوابیده و به صورت واضح هم این رو بیان نکرده اما بر اساس اینکه موتور v4 و v8 گوگل به زبان ++C نوشته شده و در فناوری Qt Quick و زبان QML استفاده میشه ما میتونیم بگیم حتما سهمی تو این پیشرفت داره و مسلما خودشم داره در توسعه هرچه بهتر این فریم ورک دخلات غیر مستقیم میکنه.
گوگل در بک گراند بهترین و مهمترین قسمت هارو با ++C توسعه میده و معمولا کتابخانه های خوبی برای سی++ داره پس میشه گفت اگه مشکلی پیش بیاد یا نقش جاوا کم رنگ بشه اولین چیزی که روش سوئیچ میشه Qt هست.
البته به این اشاره کنم همین الانشم با اومدن نسخه 5.7 کیوت فاتحه جاوا خوندست چوت سریعتر و با پرفرمنس بسیار بالاتری میتونید برنامه تولید کنید چه چیزی بهتر از اینکه اپلیکیشن هم مثل خود اندروید به زبان سی نوشته بشه!
این حرفارو میزنم چون مطمئنم در نسخه 6 کیوت بدون رفت و برگشت یک پیشرفت بسیار بزرگی خواهیم کرد و سیاست های بسیار بزرگی در این فریم ورک خفته که خیلیهاشو برملا نکردن تا به موقعش.
برای مثال در نسخه جدید ما شاهد پشتیبانی از گوگل متریال و المنتهاش شدیم که این دقیقا داره به این اشاره میکنه که ما داریم به عنوان یک رقیب جدی کیوت رو توسعه میدیم.

فقط باید کمی منتظر بود و دید.


موفق باشید.

pswin.pooya
جمعه 04 تیر 1395, 11:45 صبح
در مورد جاوا:
من به انقراض سی شارپ اعتقاد شدید دارم (مگر اینکه واقعا مایکروسافت تغییر بنیادی توش بده) اما به جاوا نه. جاوا راه حلهای (solution) های پیشرفته ای داره که توسط اوراکل و چند شرکت بزرگ پشتیبانی می شن. بعضی از کتابخونه ها مشابه اونها رو می شه داخل سی پلاس پیدا کرد ( در بعضی موارد حتی بهتر هم هستند) اما برخی دیگه وجود ندارن. بنابراین فعلا برای سرورهای بزرگ جاوا زنده می مونده. البته سرعت کندش هزینه های زیادی رو به کسایی که سرور دارن و ... تحمیل می کنه که همین با توجه به وضعیت اقتصادی رو به افول دنیا احتمال جایگزین شدنش رو بیشتر می کنه. در حال حاضر در راهکارهای حرفه ای enterprise از ترکیبی از هر دو این زبانها استفاده می شه. یعنی جاهایی که سرعت بالا لازم هست از C++ و بقیه موارد از جاوا.

اما در مورد بقیه برنامه های سطح بالا یا AAA در دنیا همیشه C++ ترجیح داده می شه. دلیلش هم اینه که این زبان بدون برو برگشت نه تنها بهترین زبان هست بلکه کتابخونه های بسیار قوی هم داره. که شاید دروغ نباشه اگر بگیم 90 درصد کتابخونه های حرفه ای زبانهای دیگه هم رپرهای کتابخونه های C++ هستن. از جمله برنامه هایی که همیشه ترجیح تولید با سی پلاس هست می شه به موارد زیر اشاره کرد:

1. بازی ها و موتورهای بازی (آنریل، یونیتی و ...)
2. برنامه های سطح دسکتاپ حرفه ای ( مایا و فتو شاپ و ...)
3. برنامه های توکار (embedded) : برنامه های که برای دستگاه های ضعیف نوشته می شن که منابع محدودی از پردازنده و حافظه دارن.
4. برنامه های سیستمی: تقریبا تمام برنامه های سیستمی مثل سیستم عامل ها و داریورها و ... با این زبان نوشته می شن.
5. برنامه های علمی: برنامه های علمی که حجم محاسباتی بالا و ... دارن

از طرف دیگه راهکارهای پایگاه داده ای بزرگ دنیا مثل راهکارهای اوراکل و یا SAP با جاوا نوشته می شن. همینطور به خاطر اشتباه گوگل برنامه های گوشی های اندروید با جاوا نوشته می شن که این روند در چند سال اخیر در حال تغییر هست. گوگل برای دستگاهای embedded از زبانی استفاده کرد که برای این منظور طراحی نشده بود. در نتیجه کندی و مصرف بسیار بد باطری رو در گوشی های اندرویدی می شه دید (کاملا بر عکس گوشیهای اپل). و فورا هم متوجه این موضوع شد و NDK رو بیرون داد اما طبق داکیومنتهای خود گوگل توی سرعت تفاوتی نمی کنن چون در نهایت به API جاوا وصل می شن اما دیده می شه که برنامه های حرفه ای مثل موتورهای بازی همه دوست دارن از NDK استفاده کنن و یا کیوت هم همینطور.

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

در نهایت فعلا چیزی که دیده می شه اینه که کیوت به عنوان فریم ورک پیشتاز سی پلاس در زمینه UI جایگاه خوبی داره و با توجه به اینکه چندین برنامه معتبر از جمله تلگرام و یا دستگاه های اویونیک پاناسونیک و ... باهاش داده شده می شه روش حساب کرد. البته این به این معنی نیست که شیرجه بزنید توش سی پلاس پلاس زبان خیلی خطرناکی هست و این امکان رو به شما می ده که به قول انگلیسیها توی پای خودتون شلیک کنید. طراحی در این زبان دقت خیلی بالایی می خواد و اصلا شبیه زبانهای دیگه مثل سی شارپ و جاوا نیست و دلیلش اینه که این زبان نمی خواد شما رو محدود کنه (نه اینکه بگیم زبان سختی هست) در حقیقت برای طراح های حرفه ای توسعه با سی شارپ و جاوا حتی سختر از سی پلاس هست.