জাভা ডেস্কটপ অ্যাপ্লিকেশন: এসডাব্লুটি বনাম সুইং [বন্ধ]


158

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

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

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

সুতরাং প্রতিটি ইউআই ফ্রেমওয়ার্ক, সুইং বা এসডাব্লুটিটির পক্ষে এবং বিপক্ষে কী যুক্তি রয়েছে?

ধন্যবাদ।

পিএস: আমি উইন্ডোজ গ্রহটি ব্যবহার করে বিকাশ করি। তবে ভাবছিলাম নেটবিনের সাথে খেলা নিয়ে।


কঠিন প্রশ্ন. :-) আমি সুইং সাথে যেতে হবে। তবে, সেই সিদ্ধান্তের জন্য কোনও পিআরও বা সিওএন নেই।
পাবলো সান্তা ক্রুজ

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

"একটি সরঞ্জাম তৈরি করুন যা একটি ওয়েব অ্যাপ্লিকেশনে খুব পুনরাবৃত্ত টাস্কটি স্বয়ংক্রিয় করে তোলে" - এ সম্পর্কে কোনও তথ্য? একটি বিদ্যমান সরঞ্জাম থাকতে পারে - এবং আমি এটি স্বয়ংক্রিয় করার জন্য একটি ডেস্কটপ অ্যাপ্লিকেশনটির প্রয়োজনীয়তার বিষয়ে প্রশ্ন করি - এটি এখনই আপনার ক্ষেত্রে কার্যকর হতে পারে - তবে আপনি যদি কোনও হোস্টেড সমাধানে চলে যান তবে কী হবে?
নট

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

আমি এই প্রশ্নটি করার কয়েক বছর পরে ইলেক্ট্রন আবিষ্কার করা হয়েছিল;) তবে অবশ্যই আজ আপনি সঠিক।
janpio

উত্তর:


152

পেশাদার সুইং:

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

কনস সুইং:

  • স্থানীয় চেহারা এবং অনুভূতি আসল নেটিভ সিস্টেম থেকে আলাদা আচরণ করতে পারে।
  • ভারী উপাদানগুলি (নেটিভ / অ্যাজেড) সুইং উপাদানগুলি লুকান, বেশিরভাগ সময় সমস্যা হয় না কারণ ভারী উপাদানগুলির ব্যবহার বিরল rather

পেশাদাররা এসডাব্লুটি:

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

কনস এসডাব্লুটি:

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

33
সুইং "একবার লিখুন, যে কোনও জায়গায় চালান" এর কাছাকাছি চলে যাবে। এসডব্লিউটি আরও একবার "একবার লিখুন, কোথাও পরীক্ষা / পরীক্ষা পরীক্ষা করুন" এর মতো হবে। তবে এই একই আলোচনা অন্যান্য ভাষার সাথেও ঘটেছিল
চিহ্নিত করুন

12
বাস্তবিকভাবে, সুইংয়ের "নেটিভ" চেহারা এবং অনুভূতিটি আমার জিনোম ডেস্কটপ থেকে বেশ আলাদাভাবে আচরণ করে - যখন কোনও কারণে থিমগুলি বেশ ভালভাবে কাজ করে, মেনুগুলি ভয়ঙ্কর দেখায় এবং প্রায় অকেজো হয় না।
Hut8

9
Eclipse 3.7 দিয়ে শুরু করে, VEP উইন্ডোবিল্ডার দ্বারা প্রতিস্থাপিত হয়েছিল (এটি সুইং এবং SWT উভয়কেই সমর্থন করে)।
আলেক্সি রোমানভ

6
দেশীয় উপাদানগুলির কারণে এসডাব্লুটিটির সুবিধাও কম মেমরির গ্রহণযোগ্যতা নয়। বড় জিইউআই ডিজাইনে সুইং এবং সুইট এর মধ্যে সীমিত মেমরি এবং মেমরির পার্থক্য থাকা মেশিনগুলিতে এটি কাঙ্ক্ষিত হওয়া উচিত।
jantobola

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

63

একটি গুরুত্বপূর্ণ বিষয় বিবেচনা করার বিষয় হ'ল কিছু ব্যবহারকারী এবং কিছু রিসেলার (ডেল) তাদের 64 বিট উইন্ডোতে একটি 64 বিট ভিএম ইনস্টল করে এবং আপনি 32 বিট এবং 64 বিট ভিএমগুলিতে একই এসডব্লিউটি লাইব্রেরি ব্যবহার করতে পারবেন না।

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


2
আকর্ষণীয় বিষয়। একজন ব্যবহারকারী হিসাবে আমি এখনও স্তব্ধ হয়েছি কেন এটি এত বড় বিষয়। তবে ভাল, এটি তাই আমি এই বিবেচনা করতে হবে। ধন্যবাদ।
janpio

বিটিডব্লিউ: জবাউস (ওয়েবস্টার্ট) 64 আইএমএইচও
কার্সেল

1
@ কারসেল: 3/4/2011 অনুসারে, উইন্ডোজের জন্য সানের 64৪-বিট জেভিএমের জেএনএলপি সমর্থন রয়েছে। আমি মনে করি এটি কিছু সময়ের জন্য সত্য হয়েছে, তবে আমি নিশ্চিত না যে কত দিন।
:0কেমিস্ট

23

প্রো সুইং:

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

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


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

13

আমি বেশ কয়েকটি কারণে সুইং ব্যবহার করব।

  • এটি প্রায় দীর্ঘ হয়েছে এবং এটিতে আরও উন্নয়নের প্রচেষ্টা প্রয়োগ হয়েছে। সুতরাং এটি সম্ভবত আরও বৈশিষ্ট্য সম্পূর্ণ এবং (সম্ভবত) কম বাগ আছে।

  • পারফরম্যান্ট অ্যাপ্লিকেশন উত্পাদন করার জন্য প্রচুর ডকুমেন্টেশন এবং অন্যান্য নির্দেশিকা রয়েছে।

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

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

আপনি যদি পুরো আরসিপিটি ব্যবহার করতে না চান, নেটবিয়ানের অনেকগুলি দরকারী উপাদান রয়েছে যা টেনে আনা এবং স্বাধীনভাবে ব্যবহার করা যেতে পারে।

পরামর্শের অন্য একটি শব্দ, বিভিন্ন লেআউট পরিচালকদের সন্ধান করুন। আমি যখন শিখছিলাম তখন তারা আমাকে দীর্ঘদিন ধরে ছড়িয়ে দিয়েছে। কিছু সেরা এমনকি স্ট্যান্ডার্ড লাইব্রেরিতে নেই। MigLayout এবং (উভয় এবং দোল তায়ালা জন্য) JGoodies ফরম সরঞ্জাম আমার মতে সেরা দুটি।



8

আপনার প্রয়োজনীয়তার জন্য শোনা যাচ্ছে যে নীচের অংশটি সুইং ব্যবহার করা হবে কারণ এটি শুরু করা কিছুটা সহজ এবং এসডাব্লুটি-র মতো স্থানীয় প্ল্যাটফর্মের সাথে দৃ tight়ভাবে সংহত না করে।

সুইং সাধারণত একটি নিরাপদ বাজি হয়।


6

আকর্ষণীয় প্রশ্ন। আমি সুইংটি এবং এডাব্লুটি-র মত নয়) এটি নিয়ে বড়াই করা খুব ভাল জানি না তবে এখানে এসডাব্লুটি / সুইং / এডাব্লুটি-র তুলনা করা হয়েছে।

http://www.developer.com/java/other/article.php/10936_2179061_2/Swing-and-SWT-A-Tale-of-Two-Java-GUI-Libraries.htm

এবং এখানে সাইট যেখানে আপনি মূলত তায়ালা কিছু টিউটোরিয়াল পেতে পারেন ( http://www.java2s.com/Tutorial/Java/0280__SWT/Catalog0280__SWT.htm )

আশা করি আপনি সঠিক সিদ্ধান্ত নিয়েছেন (কোডিংয়ের ক্ষেত্রে যদি সঠিক সিদ্ধান্ত থাকে) ... :-)


4
তবে মনে রাখবেন নিবন্ধটি 2003 সালের ...
আলেক্সি রোমানভ

4

আপনি যদি মুষ্টিমেয় কিছু বৈশিষ্ট্য সহ সম্পূর্ণ কার্যকরী অ্যাপ্লিকেশনগুলি তৈরির পরিকল্পনা করেন তবে আমি ফ্রেমওয়ার্ক হিসাবে Eclipse RCP ব্যবহার করে ডানদিকে ঝাঁপিয়ে পড়ার পরামর্শ দেব।

যদি আপনার অ্যাপ্লিকেশনটি খুব বড় না হয় বা আপনার প্রয়োজনীয়তা সাধারণ ব্যবসায়ের কাঠামোর দ্বারা পরিচালিত হওয়ার মতো খুব অনন্য হয় তবে আপনি নিরাপদে সুইং দিয়ে ঝাঁপিয়ে পড়তে পারেন।

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

প্রো সুইং:

  • আরও বিশেষজ্ঞ
  • আরও জাভা-জাতীয় (প্রায় কোনও পাবলিক ফিল্ড নয়, উত্সে নিষ্পত্তি করার দরকার নেই)

প্রো এসডাব্লুটি:

  • আরও ওএস নেটিভ
  • দ্রুত

10
আমি মনে করি "দ্রুত" পয়েন্টটি অত্যন্ত বিতর্কিত।
রাশ

এসডাব্লুটিটি ব্যবহার করা জটিল, আমি আমার জিইউআইটি উইন্ডোজের প্রতিটি সংস্করণ দিয়ে পরীক্ষা করতে হয়েছিল, কিছু বাগ কেবল উইন্ডোজ ভিস্তার অধীনে পুনরুত্পাদনযোগ্য ছিল। কিছু পদ্ধতি কেবল অযত্নে থাকে বা হুডের নীচে AWT কল করে যার অর্থ আপনি এসডাব্লুটি ভাঙার ঝুঁকি ছাড়াই AWT এবং সুইং ছাড়াই একটি কমপ্যাক্ট জেআরই ব্যবহার করতে পারবেন না। আমি ২০০৯ সালে এসডব্লিউটি ব্যবহার শুরু করেছি এবং আমার নম্র মতে, এটি দ্রুত নয়। আমি আপনাকে সাবধানতার সাথে ডিজাইন করা বেঞ্চমার্ক সরবরাহ করার পরামর্শ দিচ্ছি।
gouessej

4

একটি বিষয় বিবেচনা করুন: স্ক্রিনরিডার্স

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

যথাযথ এসডব্লিউটি-লাইব্রেরি বিতরণ এবং লোড করার জন্য, আপনি এই লিঙ্কটি পুরোপুরি খুঁজে পেতে পারেন: http://www.chrisnewland.com/select-correct-swt-jar-for-your-os-and-jvm-at-runtime-191


3

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

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