আমার কী নির্বাচন করা উচিত: জিটিকে + বা কিউটি? [বন্ধ]


89

কেউ কি আজকে সেই লাইব্রেরির জন্য সর্বোত্তম ব্যবহারগুলির পরামর্শ দিতে পারে? এটি কি কেবল জিইউআই, বা তাদের কাছে কি ডাটাবেস, এক্সএমএল, নেটওয়ার্কিং, থ্রেডিং ইত্যাদি সমর্থন রয়েছে?

আমি সেগুলি সম্পর্কে পড়ছিলাম এবং সেগুলির একটি শেখার / ব্যবহার শুরু করার বিষয়টি বিবেচনা করেছি।

সর্বাধিক সাধারণ কোনটি? তাদের মধ্যে পার্থক্য কী? কেন আপনি একে অপরকে বেছে নেবেন?


20
মূলত, কিউটি লাইসেন্সিং মডেল সম্পর্কে প্রচুর বিতর্ক ছিল যা পুরো জিপিএল বা বাণিজ্যিক ছিল, যখন জিটিকে + এলজিপিএল ছিল (সুতরাং আপনার বদ্ধ উত্স পণ্যের সাথে সংমিশ্রণে ব্যবহার করা আরও সহজ ছিল)। তবে এখন কিউটি এলজিপিএল আইআইআরসি হিসাবেও পাওয়া যায়, সুতরাং এটি একে অপরকে বাছাইয়ের আসল কারণ নয়।
রওল্ট

4
: আপনি এই বেশিরভাগই সংশ্লিষ্ট প্রশ্ন তাকান পারে stackoverflow.com/questions/1801074/...
cjhuitt - কালেব Huitt

4
এবং আবার একটি ভাল প্রশ্ন স্ট্যাকওভারফ্লোতে বন্ধ। আমি যুক্ত করতে চাই যে আপনার যদি ভাল ইন্টিগ্রেটেড এইচটিএমএল উইজেট প্রয়োজন হয় তবে আপনাকে এখনই জিটিকে ব্যবহার করতে হবে (কিউটি 5.2 এর পরে একটি নাটকীয় / অব্যবহারযোগ্য হ্রাস বৈশিষ্ট্য সেটটিতে চলে গেছে) বা কিউটি ব্যবহার করুন এবং ক্রোম সিইএফ এম্বেড করুন যা প্রচুর স্টাফ, জটিলতা এবং যোগ করছে আপনার অ্যাপ্লিকেশন 20MB।
লোথার

উত্তর:


96

আপনি যেমন লিনাক্সকে প্রাথমিকভাবে লক্ষ্যবস্তু করেছেন বলে মনে হয়, তারপরে পছন্দটি বেশিরভাগ আপনার ব্যবহৃত প্রোগ্রামিং ভাষার উপর নির্ভর করে।

আপনি যদি সি কোড করেন তবে অবশ্যই GTK + এর জন্য যান

আপনি যদি সি ++ তে কোড করেন তবে Qt এ যান, অন্যথায় আপনার Gtkmm প্রয়োজন হবে (GTK + এর উপরে একটি C ++ মোড়ক)

আপনি পাইথন কোড তাহলে উভয় GTK + ও কিউটি ভাষার জন্য বাইন্ডিং আছে: দেখুন PyGtk , PyQt এবং PySide (নকিয়া নিজেরাই চালু এক)।

আপনি যদি জাভাতে কোড করেন তবে Qt আর কার্যকর व्यवहार নয়, নোকিয়া Qt Jambi (Qt এর জন্য জাভা বাইন্ডিংস) বন্ধ করে দিয়েছে।

এছাড়াও, কিউটিটি এর চিত্রগ্রাহক কিউগ্রাফিক্সসিন এপিআই, জাভাস্ক্রিপ্ট কোর (ইঞ্জিনটি পাওয়ারিং ওয়েবকিট), এর স্টেট মেশিন এবং অ্যানিমেশন ফ্রেমওয়ার্ক এবং ঘোষিত ইউআইয়ের উপর নির্মিত তার স্ক্রিপ্টিং ইঞ্জিন সম্পর্কিত আরও শীর্ষস্থানীয় ।

আপনি এটির পাশাপাশি ক্লার্টার ব্যবহার করতে পারবেন যদিও জিটিকে + এটি তেমন প্রস্তাব দেয় না ।

আপনি নির্দিষ্টভাবে ডিবি মধ্যে খুঁজছেন থাকেন, XML এবং থ্রেডিং (জিটিকে + আছে (জিটিকে + এক্সএমএল একটি উপসেট জন্য একটি পার্সার আছে) GLib ) তাহলে বৈশিষ্ট্য কিউটি সব প্রস্তাব হবে QtSql , QtXml এবং QtConcurrent

সব মিলিয়ে, আমি বলব Qt একটি নিশ্চিত পছন্দ। তবে জিটিকে + খুব দক্ষ।

আমি নিশ্চিত নই যে আপনি আপনার প্রশ্নের জন্য একটি স্ফটিক পরিষ্কার উত্তর পেয়ে যাবেন, যা ব্যাখ্যা করে যে কিছু লোক কেন কেএমডি বা তদ্বিপরীত থেকে জিনোমকে অগ্রাধিকার দেয়। আপনার জন্য সবচেয়ে ভাল কাজ করে তা চয়ন করুন।

পিএস: আমি আপনার পরিকল্পনা করছি সিম্বিয়ানকেও টার্গেট করুন, তারপরে কিউটি তে যান।

সম্পাদনা করুন: কিউটি সহ এটি দুর্দান্ত যেটি হ'ল QtWebView: এটি ওয়েব সামগ্রী প্রকাশের জন্য আপনার Qt অ্যাপ্লিকেশনে ক্রোমিয়ামকে নিয়ে আসে। অন্যরা উদাহরণস্বরূপ অ্যাভোসোমিয়াম বা বার্কেলিয়াম ব্যবহার করে তাদের ওয়েব অ্যাপ্লিকেশনগুলিতে ওয়েব সামগ্রী এম্বেড করছে।


ভুলে যাবেন না যে কিউটিস্ক্রিপ্টটি জাভাস্ক্রিপ্টকোর দ্বারা চালিত, যা বর্তমানে স্কুয়ারিলফিশ এক্সট্রিমের জন্য দ্রুততম জাভাস্ক্রিপ্ট ইঞ্জিন।
সিএমরিসিয়া

4
আপনার সম্পাদনা সম্পর্কিত, GTK + এর জন্য WebKitGtk + রয়েছে। একজনের চেয়ে অপরটির চেয়ে যথেষ্ট পরিপক্ক না হলে, আমি মনে করি না QtWebKit এর অস্তিত্ব GTK + এর চেয়ে বেশি সুবিধা হিসাবে যোগ্যতা অর্জন করে।
ম্যাথু

আপনি যদি রুবি কোড করেন তবে কিউটরুবি সন্ধান করুন ।
জোসে আন্দিয়াস

4
gtkmmদুর্দান্ত, জিটিকে + এর সমস্ত শক্তি কিন্তু আধুনিক সংজ্ঞা অনুসারে প্রকৃত সি ++ ব্যবহার করে , আমি দেখেছি সবচেয়ে পরিষ্কার, সবচেয়ে পাঠযোগ্য জিইউআই কোড তৈরি করেছি ... আসলে, কেবল সবচেয়ে বহনযোগ্য , কারণ যখন আমি প্রথম জিইউআই প্রোগ্রামিং শেখার চেষ্টা শুরু করেছিলাম, এটি ছিল gtkmmবেঁচে থাকার আমার ইচ্ছা পুনরুদ্ধার। ধন্যবাদ, অধ্যবসায়ের মূল্য পরিশোধ করা হয়েছিল এবং আমি জানতে পেরেছিলাম যে এটি অত্যন্ত শক্তিশালী এবং এটি আমাকে সি ++ 03 এর চেয়ে আরও বেশি ++++++ এ পেতে উত্সাহিত করেছিল। এছাড়াও, এটি এক দশকেরও বেশি সময় ধরে এএএএফসিটি-র একই প্রাথমিক রক্ষণাবেক্ষণকারী দ্বারা সু-রক্ষিত। আমি কেবল একটি অনুরাগী, কোনও অনুমোদিতকরণ, ইত্যাদি
আন্ডারস্কোর_১

4
ওহ ... সিম্বিয়ান দিনগুলি ...
ডাকা

41

আমি এর আগে জিটিকে +, কিউটি এবং ডাব্লু এক্সউজেড ব্যবহার করেছি। এখানে একটি সংক্ষিপ্তসার:

আমার প্রথম ক্রস প্ল্যাটফর্ম ইউআই প্রকল্পের জন্য আমি ডাব্লুএক্সউইজেডের জন্য যাবার সিদ্ধান্ত নিয়েছি কারণ মূলত সেই সময়টি QT এর মতো সীমাবদ্ধ ছিল না (কিউটি ছিল জিপিএল এবং কেবল লিনাক্সের জন্য) এবং এতে প্ল্যাটফর্ম নির্দিষ্ট ইউআই ছিল (জিটিকে থেকে পৃথক)। প্রকল্পটি ভালভাবে কাজ করেছে তবে অন্যান্য প্ল্যাটফর্মগুলিতে সংকলন এবং সঠিকভাবে চালিত হওয়ার জন্য বেশ কয়েকটি সমস্যা ছিল - কখনও কখনও কিছু ইভেন্ট অন্যরকমভাবে ছড়িয়ে পড়েছিল। এছাড়াও ডাব্লুএক্সউজেটগুলিতে জিডিআই বেশ ধীর ছিল।

পরবর্তী আমি পাইথনের একটি পৃথক প্রকল্পের জন্য জিটিকে ব্যবহার করেছি। এর জন্য আমি পাইথন বাইন্ডিং ব্যবহার করেছি এবং সবকিছু কম-বেশি সহজেই কাজ করেছিল। আমি এই সত্যটি পছন্দ করি না যে ইউআইআই উইন্ডোজ এবং ম্যাকের জন্য নেটিভ দেখাচ্ছে না এবং আপনি যখন একটি জিটিকে + অ্যাপ্লিকেশন চালু করেন তখন সর্বদা আউটপুট লোডগুলি ক্রাইটিকাল সতর্কতাগুলির ডিবাগ করে যা উপেক্ষা করা সূক্ষ্ম বলে মনে হয়। : এস

অবশেষে, আমি এখন একটি খুব সহজ কিউটি প্রকল্প করেছি যে নোকিয়া এটি অর্জন করেছে এবং উজ্জ্বল ছিল। তিনজনের মধ্যে সেরা। প্রথমত, আপনি যদি কোনও পুরনো স্কুল না হন যিনি ষষ্ঠ বা ইম্যাক্স পছন্দ করেন তবে কিউটিক্রিটর উজ্জ্বল। আমি সত্যই ষষ্ঠকে পছন্দ করি এবং এটি বছরের পর বছর ধরে ব্যবহার করি তবে আমি সি ++ কিউটি প্রকল্পগুলির জন্য কিউটিক্রিটরকে বেশি পছন্দ করি। লাইব্রেরি সম্পর্কে আমি ডকুমেন্টেশন এবং সরবরাহিত এপিআইগুলি অনেক পছন্দ করেছি। কিউটি-তে স্লট এবং সিগন্যালের ধারণা রয়েছে যা নতুন সি ++ কীওয়ার্ড এবং একটি প্রিপ্রসেসর প্রবর্তন করে। মূলত, টিউটোরিয়ালটি পড়ার পরে আপনি এটি সহজেই পেয়ে যাবেন এবং এটি পছন্দ করতে শুরু করবেন। আমি এখন আইফোন দেব করছি এবং এটি কোকো / ইন্টারফেস বিল্ডারের ইউআই দৃষ্টান্তের মতো মনে হচ্ছে like

সংক্ষিপ্তসার: আমি কিউটি হাতে নেমে যাব। লাইসেন্সটি বেশ ভাল এবং এসডিকে এবং ডকুমেন্টেশনটি সত্যিই দুর্দান্ত।


13
আমি এটি ইতিবাচক হিসাবে বিবেচনা করি যে জিটিকে + অ্যাপ্লিকেশনগুলি বিভিন্ন প্ল্যাটফর্মগুলিতে একই রকম হয় কারণ এর অর্থ যে আমার ইউআইগুলি কীভাবে প্রতিটি নেটিভ টুলকিটের সাথে নিজেকে ঠিক ঠিক সাজিয়ে তুলতে হয় তা নির্ধারণের জন্য আমাকে অতিরিক্ত সপ্তাহ ব্যয় করতে হবে না। এছাড়াও - when you launch a GTK+ app it always debug outputs loads of CRITICAL warnings which seem fine to ignore. :S- না, এটি করা হয় না, যদি না আপনি কিছু ভুল করছেন, যা ভাল নয় । আমি কখনও কখনও এমন সমালোচনা সতর্কতা দেখিনি যা আমার নিজের ওপস থেকে উদ্ভূত হয় নি এবং সঠিক কোড ব্যবহার করে এটি ঠিক করা খুব সহজ ছিল না। এবং আমি কোনও ডিবাগ বার্তা পাই না, এমনকি সতর্কবার্তাও পাই না
আন্ডারস্কোর_১

25

আমি কখনও জিটিকে ব্যবহার করি নি, তবে কিউটি ব্যবহার করে আমার ব্যক্তিগত অভিজ্ঞতা থেকে:

এটি একটি সাধারণ জিইউআইয়ের চেয়ে অনেক বেশি। এটি একটি সম্পূর্ণ প্রয়োগ কাঠামো। আমি এটিকে সি ++ এর জাভা লাইব্রেরি হিসাবে ভাবতাম। এটি আপনার উল্লেখ করা সমস্তগুলি সরবরাহ করে - ডাটাবেস, এক্সএমএল, নেটওয়ার্কিং এবং থ্রেডিং এবং আরও অনেক কিছু। এটি কনটেইনার এবং পুনরুক্তি করা সামগ্রী এবং বেশ কয়েকটি বুস্ট লাইব্রেরিতে অংশীদারিত্ব সরবরাহ করে।

কিউটি ব্যবহার শুরু করার সময় যে বিষয়টি আমাকে সবচেয়ে বেশি প্রভাবিত করেছিল তা হ'ল অত্যন্ত বিস্তৃত ডকুমেন্টেশন। আপনি কিউটি সহকারী নামে একটি প্রোগ্রাম পান যা আপনার ডেস্কটপে সম্পূর্ণ সূচিকৃত এবং অনুসন্ধানযোগ্য এপিআই ডকুমেন্টেশন, পাশাপাশি অসংখ্য কোড উদাহরণ এবং টিউটোরিয়াল সরবরাহ করে। আমি এটিআইপি তথ্যের জন্য প্রতিবার ওয়েবে অনুসন্ধানে এটি একটি বড় পার্থক্য পেয়েছি। আপনার যখন কোনও পদ্ধতির স্বাক্ষর মনে রাখতে হবে তখন খুব তাড়াতাড়ি অ্যাক্সেস।

কোনটি সবচেয়ে সাধারণ তা আমি নিশ্চিত নই; সঠিকভাবে পরিমাপ করা সম্ভবত এটি কঠিন। তারা অবশ্যই দুজনেই জনপ্রিয়। জিনোম যেমন উবুন্টুর ডিফল্ট ডেস্কটপ, এবং জিনোম জিটিকের শীর্ষে বসে আছে, স্পষ্টতই এর ব্যাপক ব্যবহার রয়েছে। অবশ্যই, কেডিও খুব জনপ্রিয়। নোকিয়া মোবাইলের স্পেসে প্রচুর পরিমাণে Qt চাপ দিচ্ছে - উদাহরণস্বরূপ নতুন N900 এ ব্যবহৃত তাদের মাইমো ওএস খুব শীঘ্রই কিউটি তে ডিফল্ট টুলকিট হিসাবে স্যুইচ করতে চলেছে (বর্তমানে এটি জিটিকে।) আমি বিশ্বাস করি কিউটিও শীঘ্রই ডিফল্ট টুলকিট হয়ে উঠবে সিম্বিয়ান ওএসের জন্য।

আমি কিউটি ক্রিয়েটার ব্যবহার করি নি, তবে আমি এটি সম্পর্কে অনেক ভাল জিনিস শুনেছি। এটি Qt এর সাথে সুস্পষ্ট ভারী সংহতকরণের একটি সি ++ আইডিই। এটিতে ভুয়া ভিম অনুকরণ রয়েছে যা আপনি যদি এই জাতীয় জিনিস পছন্দ করেন তবে সর্বদা দুর্দান্ত is

বিল্ড কনফিগারেশনের জন্য কিউটি কিউমেক ব্যবহার করে। আপনার নিজের মেকফিলগুলি লেখার চেয়ে আমি খুব সুন্দর পেয়েছি। আমি জানি না জিটিকে বিল্ডিংয়ের জন্য কী ব্যবহার করে।

আমি প্রথমে কিউটিটির সাথে কিছুটা অফপুটটিং পেয়েছি তার প্রিপ্রসেসর ম্যাক্রোগুলির বড় ব্যবহার। সিগন্যাল / স্লট সিস্টেম আপনার অ্যাপ্লিকেশনটিতে ইভেন্ট / বার্তাটি পাস করার জন্য একটি দুর্দান্ত প্রক্রিয়া সরবরাহ করে তবে এটি ম্যাজিকের মতো কিছুটা মনে হয় যা আপনি যদি কখনও চান তবে অন্য সরঞ্জামদানে সহজে পোর্টেবল হতে পারে না। এছাড়াও, মোক (মেটা-অবজেক্ট সংকলক), যদিও আমি এটির পুরোপুরি নিশ্চিত নই, পর্দার আড়ালে জাদুতে যাওয়ার মতো কিছুটা অনুভবও করে।

সব মিলিয়ে, যদিও আমি কিউটিটি সুপারিশ করব, বিশেষত যদি আপনি শিখছেন। এটিতে সত্যিই আশ্চর্যজনক ডকুমেন্টেশন এবং একটি দুর্দান্ত আইডিই এবং ব্যস্ত ফোরাম রয়েছে। আপনি এটির সাথে খুব দ্রুত সি ++ অ্যাপ্লিকেশন তৈরি করতে সক্ষম হবেন, বিশেষত কিউএমএল 4.7 এ আসে।


9

এটি সম্ভবত আপনি কী করতে চান তার উপর নির্ভর করে। আমি কিউটি সুপারিশ করব, কারণ এটি জিইউআইয়ের চেয়ে বেশি, এটিতে পাইথন বেঁধে রয়েছে (একইভাবে জিটিকেও আছে), এবং জিইউআই লাইব্রেরিগুলিতে নিজেরাই (বিষয়গতভাবে কথা বলছেন) অতঃপর Gtk বেশি মনোরম।

Gtk অন্যদিকে লিনাক্স বিশ্বে প্রচলিত রয়েছে, তাই সম্ভবত আপনি ওয়েবে আরও সহায়তা পেতে পারেন। Gtk বিস্তারের কারণ সম্ভবত জিনোম এবং উবুন্টুর সাথে আরও কিছু করার আছে, তারপরে প্রযুক্তিগত যোগ্যতা রয়েছে, তবে আপনি যদি এই দুটিটির সাথে আপনার সফ্টওয়্যারটি সুন্দরভাবে মিশ্রিত করতে চান তবে আপনি এটি Gtk এর সাথে আরও সহজে অর্জন করতে পারবেন।


7

একজনের নিশ্চিত কিউটির কাছে শক্ত ডিবি, নেটওয়ার্ক, থ্রেডিং সমর্থন ইত্যাদি রয়েছে ... এটি আরও অনেক কিছু করে কেবল ক্রস প্ল্যাটফর্ম জিইউআই (এবং এটি বেশিরভাগ ক্ষেত্রে বেশ ভাল করে)।

আমি এটি জিটিকে + এর মাধ্যমে সুপারিশ করব।


3

অন্যান্য উত্তরে কেবল কিউটি সুবিধা যুক্ত করুন .. কিউটি-র দুর্দান্ত ডকুমেন্টেশন রয়েছে, এর নিজস্ব আইডিই এবং জিইউআই স্রষ্টা রয়েছে এবং স্লট / সিগন্যাল (মূলত ইভেন্টগুলি) এর মতো কিছু নতুন ধারণা সহ সি ++ বাড়িয়ে তোলে।

আমি জিটিকে বিকাশকারী নই, তাই আমি জিটিকে বিশ্বের সাথে তুলনা করতে পারি না :(


11
Gtk- এর জন্য একটি GUI স্রষ্টা গ্ল্যাড ( গ্লেড . gnome.org ) রয়েছে।
ডেভিডবে

3

Qt। এটি কেবল অবজেক্ট অরিয়েন্টেড নয়, "ভাল" অবজেক্ট ওরিয়েন্টেড। এটি সি ++ এর একটি "সাবসেট" এর উপর ভিত্তি করে যা সি ++ এর অস্পষ্টতার উপর নির্ভর করে না (তবে আপনি যদি অভিনব ম্যাসোচিজম করেন তবে আপনাকে তাদের সাথে থাকতে দেওয়া হবে;))।

নোকিয়া এটি কিনে এখন এটির একটি শক্ত গতি রয়েছে (প্রকৃতপক্ষে নোকিয়া ~ 2/3 বছর আগে করেছে)। এটি সমস্ত নোকিয়া এবং ইন্টেল মোবাইল ডিভাইসে (স্মার্টফোন, নেটবুক, ট্যাবলেট) হতে চলেছে।

এটি কে-ডি-র মেরুদন্ডী, তাই এটি অত্যন্ত পরিণত, তবে এটি একটি খুব নমনীয় উপায়ে তৈরি করা হয়েছে, যা আজকের দিনে সর্বাধিক "দুর্দান্ত জিনিস" সমর্থন করা সম্ভব করে যা একটি সর্বাধিক-জাস্ট-জিইআই কাঠামোর মধ্যে থাকা উচিত।

এটার জন্য যাও.


4
সাবসেট? সুপারসেটের মতো আরও বেশি, কিউমেক এবং মক বিবেচনা করে।
rr-

1

এটি দেখে মনে হচ্ছে নোকিয়া মেমোর মতো সর্বত্র কিউটি ব্যবহার করতে চলেছে


1

আপনি যদি নিজের অ্যাপ্লিকেশনটি আইওএস, অ্যান্ড্রয়েড, ব্ল্যাকবেরি, অন্যান্য মোবাইল প্ল্যাটফর্মগুলি, উইন্ডোজ, ম্যাক ওএসএক্স এবং লিনাক্সে চালিত করতে চান তবে Qt ব্যবহার করুন।

qt-pro.org.org

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.