কেউ দয়া করে আমাকে ব্যাখ্যা করতে পারেন যে সুইং এবং এডাব্লুটিটির মধ্যে পার্থক্য কী?
এমন কি এমন কোনও মামলা রয়েছে যেখানে এডাব্লুটিটি সুইং বা তদ্বিপরীত থেকে বেশি ব্যবহার / পরামর্শ দেওয়ার পরামর্শ দেয়?
কেউ দয়া করে আমাকে ব্যাখ্যা করতে পারেন যে সুইং এবং এডাব্লুটিটির মধ্যে পার্থক্য কী?
এমন কি এমন কোনও মামলা রয়েছে যেখানে এডাব্লুটিটি সুইং বা তদ্বিপরীত থেকে বেশি ব্যবহার / পরামর্শ দেওয়ার পরামর্শ দেয়?
উত্তর:
AWT হ'ল একটি জাভা ইন্টারফেস যা আপনার OS এ উপস্থিত নেটিভ সিস্টেম GUI কোডের জন্য। এটি প্রতিটি সিস্টেমে একই কাজ করবে না, যদিও এটি চেষ্টা করে।
সুইং একটি কম-বেশি খাঁটি-জাভা জিইউআই। এটি অপারেটিং সিস্টেম উইন্ডো তৈরি করতে এডাব্লুটি ব্যবহার করে এবং তারপরে সেই উইন্ডোতে বোতাম, লেবেল, পাঠ্য, চেকবক্স, ইত্যাদির ছবি এঁকে দেয় এবং আপনার মাউস-ক্লিকগুলি, কী এন্ট্রি ইত্যাদিতে সাড়া দেয় এবং কী করবে তা নিজেই সিদ্ধান্ত নিয়েছে পরিবর্তে অপারেটিং সিস্টেমটি এটি পরিচালনা করতে দেয়। সুতরাং সুইং 100% পোর্টেবল এবং প্ল্যাটফর্ম জুড়ে একই (যদিও এটি চামড়াযুক্ত এবং "প্লাগযোগ্যযোগ্য চেহারা এবং অনুভূতি" রয়েছে যা এটিকে দেশী উইন্ডো এবং উইজেটগুলি কেমন দেখায় তার কম-বেশি দেখায়।
এগুলি জিইউআই টুলকিটগুলিতে সম্পূর্ণ ভিন্ন পদ্ধতি এবং এর প্রচুর পরিণতি রয়েছে। আপনার প্রশ্নের একটি পূর্ণ উত্তর সেগুলির সমস্ত অন্বেষণ করার চেষ্টা করবে। :) এখানে একটি দম্পতি:
এডাব্লুটিটি একটি ক্রস-প্ল্যাটফর্ম ইন্টারফেস, সুতরাং এটি কার্যকরীতার জন্য অন্তর্নিহিত ওএস বা নেটিভ জিইআইআই টুলকিট ব্যবহার করলেও, এই সরঞ্জামদণ্ডগুলি যেগুলি করতে পারে তা সমস্ত ক্ষেত্রে অ্যাক্সেস সরবরাহ করে না। এক প্ল্যাটফর্মে উপস্থিত থাকতে পারে উন্নত বা নতুন এডাব্লুটি উইজেটগুলি অন্যটিতে সমর্থিত হতে পারে না। প্রতিটি প্ল্যাটফর্মের একই নয় এমন উইজেটগুলির বৈশিষ্ট্যগুলি সমর্থিত না হতে পারে বা আরও খারাপ, তারা প্রতিটি প্ল্যাটফর্মে আলাদাভাবে কাজ করতে পারে। লোকেরা তাদের AWT অ্যাপ্লিকেশনগুলি প্ল্যাটফর্মগুলি জুড়ে ধারাবাহিকভাবে কাজ করার জন্য প্রচুর পরিশ্রম বিনিয়োগ করত - উদাহরণস্বরূপ, তারা জাভা থেকে নেটিভ কোডে কল করার চেষ্টা করতে পারে।
যেহেতু এডাব্লুটি স্থানীয় জিইউআই উইজেটগুলি ব্যবহার করে, আপনার ওএস সেগুলি সম্পর্কে জানে এবং এগুলি একে অপরের সামনে রাখে ইত্যাদি, অন্যদিকে সুইং উইজেটগুলি আপনার ওএসের দৃষ্টিকোণ থেকে একটি উইন্ডোর মধ্যে অর্থহীন পিক্সেল। সুইং নিজেই আপনার উইজেটগুলির বিন্যাস এবং স্ট্যাকিং পরিচালনা করে। এডাব্লুটি এবং সুইং মেশানো চূড়ান্ত অসমর্থিত এবং হাস্যকর ফলাফলের দিকে নিয়ে যেতে পারে যেমন দেশীয় বোতামগুলি যে ডায়ালগ বাক্সে তারা থাকে তার সমস্ত কিছুকেই অস্পষ্ট করে দেয় কারণ সমস্ত কিছু সুইং দিয়ে তৈরি করা হয়েছিল।
যেহেতু সুইং একটি নেটিভ জিইউআই উইন্ডো দ্বারা সরবরাহ করা খুব কাঁচা গ্রাফিক্স রুটিন বাদে জাভাতে সম্ভব সমস্ত কিছু করার চেষ্টা করে, এটি এডাব্লুটিটির তুলনায় বেশ পারফরম্যান্স পেনাল্টি বহন করে। এটি সুইংটিকে দুর্ভাগ্যক্রমে ধরতে ধীর করেছে। যাইহোক, সুইং ইন্টার্নালগুলির আরও অনুকূলিতকরণযোগ্য জেভিএম, দ্রুত মেশিন এবং (আমার ধারণা) অপ্টিমাইজেশনের কারণে এটি গত বেশ কয়েক বছর ধরে নাটকীয়ভাবে সঙ্কুচিত হয়েছে। আজ একটি সুইং অ্যাপ্লিকেশন পরিষেবাযোগ্য বা এমনকি জিপ্পি হতে পর্যাপ্ত দ্রুত চলতে পারে এবং দেশীয় উইজেটগুলি ব্যবহার করে কোনও অ্যাপ্লিকেশন থেকে প্রায় পৃথক পৃথক। কেউ কেউ বলবে যে এই স্থানে পৌঁছাতে অনেক বেশি সময় লেগেছে, তবে বেশিরভাগই বলবেন এটি এর পক্ষে ভাল।
পরিশেষে, আপনি এসডাব্লুটিটিও দেখতে চান (ইক্লিপসের জন্য ব্যবহৃত জিইউআই টুলকিট, এবং এডাব্লুটি এবং সুইং উভয়ের বিকল্প) যা জাভা মাধ্যমে দেশীয় উইজেটগুলি অ্যাক্সেস করার জন্য এডব্লিউটি ধারণার কিছুটা প্রত্যাবর্তন।
বেস পার্থক্য যা ইতিমধ্যে সবাই উল্লেখ করেছে তা হ'ল একটি ভারী ওজন এবং অন্যটি হ'ল ওজন । আমাকে বোঝাতে দাও, মূলত ভারী ওজন শব্দটির অর্থ হ'ল আপনি যখন অপরিহার্য উপাদানগুলি ব্যবহার করছেন তখন ভিউ উপাদানটি পাওয়ার জন্য ব্যবহার করা নেটিভ কোড অপারেটিং সিস্টেম দ্বারা উত্পন্ন হয় , কেন এটি চেহারাটি ওএস থেকে ওএসে পরিবর্তিত মনে হয় । যেখানে সুইং উপাদানগুলিতে যেমন উপাদানগুলির জন্য ভিউ তৈরি করার দায়িত্ব তার জেভিএমের। আরেকটি বিবৃতি যা আমি দেখেছি তা হল সুইং এমভিসি ভিত্তিক এবং অরিড না।
সুইং বনাম এডাব্লুটি । মূলত এডব্লিউটি প্রথম এসেছিল এবং এটি ভারী ওজনযুক্ত ইউআই উপাদানগুলির একটি সেট (যার অর্থ তারা অপারেটিং সিস্টেমের সামগ্রীর জন্য মোড়ক) অন্যদিকে হালকা ওজনের উপাদানগুলির আরও সমৃদ্ধ সেট সহ এডাব্লুটিটির শীর্ষে সুইংটি নির্মিত হয়েছিল।
কোনও গুরুতর জাভা ইউআই কাজ সুইং নয় এডাব্লুটি-তে করা হয়, যা প্রাথমিকভাবে অ্যাপলেটগুলির জন্য ব্যবহৃত হয়েছিল।
যতদূর এডাব্লুটি টি সুইংয়ের চেয়ে বেশি কার্যকর হতে পারে -
এডাব্লুটি এবং সুইংয়ের মধ্যে এই পার্থক্য থেকে বেশ কয়েকটি ফলাফল ফলাফল।
এডাব্লুটিটি ওএসের উপরে কোডের একটি পাতলা স্তর, যেখানে সুইং অনেক বড় is সুইং এছাড়াও খুব সমৃদ্ধ কার্যকারিতা আছে। এডাব্লুটিটি ব্যবহার করে, আপনাকে অনেকগুলি জিনিস নিজেই প্রয়োগ করতে হবে, যখন সুইং সেগুলি অন্তর্নির্মিত করে। যেহেতু সুইং হোস্ট ওএসের উপর নির্ভর না করে নিজেই জিইউআই কার্যকারিতা প্রয়োগ করে, এটি জাভা চালু সমস্ত প্ল্যাটফর্মগুলিতে আরও সমৃদ্ধ পরিবেশ সরবরাহ করতে পারে। সকল প্ল্যাটফর্মগুলিতে একই কার্যকারিতা সরবরাহে এডব্লিউটি আরও সীমাবদ্ধ কারণ সমস্ত প্ল্যাটফর্ম একই উপায়ে একই দেখায় নিয়ন্ত্রণগুলি প্রয়োগ করে না।
সুইং উপাদানগুলিকে "লাইটওয়েট" বলা হয় কারণ তাদের কার্যকারিতা বাস্তবায়নের জন্য তাদের কোনও নেটিভ ওএস বস্তুর প্রয়োজন হয় না। JDialog
এবং JFrame
হেভিওয়েট, কারণ তাদের পিয়ার রয়েছে। উপাদান তাই ভালো JButton
,
JTextArea
ইত্যাদি লাইটওয়েট কারণ তারা একটি অপারেটিং সিস্টেম পিয়ার হবে না হয়।
একটি পিয়ার যেমন একটি বাটন বস্তু বা একটি এন্ট্রি ক্ষেত্র অবজেক্ট হিসেবে অপারেটিং সিস্টেম, দ্বারা উপলব্ধ একটি উইজেট হয়।
এডাব্লুটি ২। এডাব্লুটি আরও মেমরি স্পেস 2 দখল করে। এডাব্লুটি প্ল্যাটফর্ম নির্ভর 3। এডাব্লুটিটির javax.awt প্যাকেজ দরকার
দোল 1। সুইং কম স্মৃতি স্থান দখল 2। সুইং উপাদান প্ল্যাটফর্ম স্বাধীন 3। সুইংয়ের জন্য জাভ্যাক্স.সুইং প্যাকেজ দরকার