সুইং এবং এডাব্লুটিটির মধ্যে পার্থক্য কী?


222

কেউ দয়া করে আমাকে ব্যাখ্যা করতে পারেন যে সুইং এবং এডাব্লুটিটির মধ্যে পার্থক্য কী?

এমন কি এমন কোনও মামলা রয়েছে যেখানে এডাব্লুটিটি সুইং বা তদ্বিপরীত থেকে বেশি ব্যবহার / পরামর্শ দেওয়ার পরামর্শ দেয়?


উত্তর:


235

AWT হ'ল একটি জাভা ইন্টারফেস যা আপনার OS এ উপস্থিত নেটিভ সিস্টেম GUI কোডের জন্য। এটি প্রতিটি সিস্টেমে একই কাজ করবে না, যদিও এটি চেষ্টা করে।

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

এগুলি জিইউআই টুলকিটগুলিতে সম্পূর্ণ ভিন্ন পদ্ধতি এবং এর প্রচুর পরিণতি রয়েছে। আপনার প্রশ্নের একটি পূর্ণ উত্তর সেগুলির সমস্ত অন্বেষণ করার চেষ্টা করবে। :) এখানে একটি দম্পতি:

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

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

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

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


উম ... একাধিক প্ল্যাটফর্ম জুড়ে বেশ কিছু বিস্তৃত সুইং করে, আমি আপনাকে বলতে পারি যে এটি প্ল্যাটফর্মগুলির পক্ষে খুব বেশি এক নয়। অনুরূপ? অবশ্যই। একই? কোনভাবেই না.
ক্লিটাস

1
হেভিওয়েট / leightweight সমস্যার জাভা 6 আপডেটের 12 (দেখুন সঙ্গে অদৃশ্য হয়ে যাবে java.dzone.com/news/a-farewell-heavyweightlightwei )।
ড্যান ডায়ার

কি দারুন. আমি বিশ্বাস করতে পারি না তারা এটি ঠিক করতে পারে এবং আমি এখনও বিশ্বাস করতে পারি না যে হালকা ও হেভিওয়েট উপাদানগুলির মিশ্রণ কখনই কাম্য হবে। তবে এটি অবিশ্বাস্য যে তারা এটি ঠিক করতে পারেন।
skiphoppy

দুজনের কথা ভুলে যাও ডাব্লুপিএফ দেখুন। :)
অ্যাল্পার ওজসেটিন 21

3
এখানে একটি সরকারী জাভা নিবন্ধটি নিশ্চিত করেছে যে মিক্সিংটি
user193130

35

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


14
আসলে সুইং একটি মডেল-প্রতিনিধি পদ্ধতির ব্যবহার করে যা এমভিসি পদ্ধতির থেকে উদ্ভূত হয়, যেখানে ভিউ এবং কন্ট্রোলারে একটি প্রতিনিধি কাঠামোর জন্য মিলিত হয়
পুরুষোত্তম

15

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

কোনও গুরুতর জাভা ইউআই কাজ সুইং নয় এডাব্লুটি-তে করা হয়, যা প্রাথমিকভাবে অ্যাপলেটগুলির জন্য ব্যবহৃত হয়েছিল।


1
এমন কোনও মামলা আছে যেখানে ডাবলড আরও কার্যকর / ব্যবহার করার পরামর্শ দেওয়া হয় তবে দোল?
সমীক্ষা

1
এটি প্রাসঙ্গিক ব্যবহৃত হত ... 10 বছর আগে।
বার্ট

@ পেসারিয়র তিনি এসডব্লিউটি-র কথা বলছিলেন,

11

যতদূর এডাব্লুটি টি সুইংয়ের চেয়ে বেশি কার্যকর হতে পারে -

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

2
কিন্তু গত এক জন্য আমরা আপনাকে একটি FileChooser তৈরি করতে পারেন যে মত উইন্ডোজ ফাইল ডায়ালগ প্রায় কাছাকাছি সৌন্দর্য (কিন্তু কোন স্বয়ংসম্পূর্ণ সঙ্গে) stackoverflow.com/q/17630055/2534090
JavaTechnical

9

এডাব্লুটি এবং সুইংয়ের মধ্যে এই পার্থক্য থেকে বেশ কয়েকটি ফলাফল ফলাফল।

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

সুইং উপাদানগুলিকে "লাইটওয়েট" বলা হয় কারণ তাদের কার্যকারিতা বাস্তবায়নের জন্য তাদের কোনও নেটিভ ওএস বস্তুর প্রয়োজন হয় না। JDialogএবং JFrameহেভিওয়েট, কারণ তাদের পিয়ার রয়েছে। উপাদান তাই ভালো JButton, JTextAreaইত্যাদি লাইটওয়েট কারণ তারা একটি অপারেটিং সিস্টেম পিয়ার হবে না হয়।

একটি পিয়ার যেমন একটি বাটন বস্তু বা একটি এন্ট্রি ক্ষেত্র অবজেক্ট হিসেবে অপারেটিং সিস্টেম, দ্বারা উপলব্ধ একটি উইজেট হয়।


7

সুইং:

  1. সুইং জাভা ফাউন্ডেশন ক্লাসের অংশ।
  2. সুইং উপাদানগুলি প্ল্যাটফর্ম-স্বতন্ত্র।
  3. সুইং উপাদানগুলি লাইটওয়েট উপাদান কারণ সুইং চূড়ান্তভাবে শীর্ষে বসে।

AWT:

  1. এডাব্লুটিটিকে বিমূর্ত উইন্ডো সরঞ্জাম বলা হয়।
  2. এডব্লিউটি উপাদানগুলি প্ল্যাটফর্ম নির্ভর।
  3. এডব্লিউটি উপাদানগুলি ভারী ওজনের উপাদান।

5
  • সুইং উপাদানটি অনেক নমনীয় ব্যবহারকারী ইন্টারফেস সরবরাহ করে কারণ এটি মডেল ভিউ কন্ট্রোলার (এমভিসি) অনুসরণ করে।
  • অ্যাডটি এমভিসি ভিত্তিক নয়।
  • সুইং দ্রুত কাজ করে।
  • awt দ্রুত কাজ করে না।
  • সুইং উপাদান হালকা ওজন হয়।
  • awt উপাদানগুলি ভারী ওজন are
  • সুইং কম স্মৃতি স্থান দখল করে।
  • আরও বেশি মেমরির জায়গা দখল করে।
  • সুইং উপাদান প্ল্যাটফর্ম স্বাধীন।
  • ওডিটি প্ল্যাটফর্ম নির্ভর।
  • সুইং javax.swind প্যাকেজ প্রয়োজন।
  • awt javax.awt প্যাকেজ প্রয়োজন।

10
আমি মনে করি না সুইং এডাব্লুটি-র চেয়ে দ্রুত কাজ করে কারণ এডাব্লুটিটি ওএসে ইতিমধ্যে ছিল এমন নেটিভ কোড (গুই কোড) ব্যবহার করে তবে স্ক্র্যাচ থেকে প্রতিটি উপাদান তৈরি করে। সুতরাং এডাব্লুটি আরও দ্রুত হতে পারে। আপনি আমাকে বলতে পারেন সুইং দ্রুত কাজ করে বলে আপনার দৃষ্টিভঙ্গি কী? ধন্যবাদ।
জাভাটেকনিকাল

3

এডাব্লুটি ২। এডাব্লুটি আরও মেমরি স্পেস 2 দখল করে। এডাব্লুটি প্ল্যাটফর্ম নির্ভর 3। এডাব্লুটিটির javax.awt প্যাকেজ দরকার

দোল 1। সুইং কম স্মৃতি স্থান দখল 2। সুইং উপাদান প্ল্যাটফর্ম স্বাধীন 3। সুইংয়ের জন্য জাভ্যাক্স.সুইং প্যাকেজ দরকার


1
আপনি কি আমাকে বলতে পারেন কীভাবে এডব্লিউটি আরও মেমরির জায়গা দখল করে? কারণ এটি স্থানীয় কোড ব্যবহার করে?
জাভাটেকনিকাল

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