জাভা অ্যাপে এমভিসি ব্যবহার করা


10

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

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

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

আমি কোন প্রতিক্রিয়া প্রশংসা করব। ধন্যবাদ!

(এই প্রশ্নটি প্রথমে স্ট্যাক ওভারফ্লোতে পোস্ট করা হয়েছিল , তবে এই সাইটটি এটি জিজ্ঞাসা করার জন্য আরও উপযুক্ত জায়গা হিসাবে প্রস্তাব করা হয়েছিল)

উত্তর:


21

এটি সমস্ত বিষয়বস্তু হিসাবে একাধিক বিভিন্ন প্রযুক্তি আপনার প্রয়োজনগুলি পরিবেশন করতে সক্ষম হবে।

অন্যদের মতো, আমি সম্ভবত ঠিক প্রযুক্তি আমি ব্যক্তিগতভাবে যেমন একটি প্রকল্পের, যা হবে জন্য পেশ করবো সুপারিশ করব JavaFX

আমি জাভাএফএক্সের সুপারিশ করার কারণগুলি হ'ল:

ঠিক আছে, আমার ধারণা উপরেরটি কিছুটা স্পর্শকাতর, তবে আমি জাভাএফএক্স ;-) প্রচার করতে চাই

যাইহোক, আপনার প্রশ্নের নির্দিষ্ট পয়েন্টগুলি সম্বোধন করার জন্য:

  • জাভাএফএক্স একটি ক্রস-প্ল্যাটফর্ম জিইউআই ফ্রেমওয়ার্ক (বর্তমানে ম্যাক / উইন্ডোজ / লিনাক্স)।
  • জাভাএফএক্স-এ অন্তর্নির্মিত, উচ্চ মানের একাধিক থ্রেডিং সমর্থন রয়েছে (মূল কাঠামোটি নিজেই একক থ্রেডযুক্ত যেমনটি সেখানে অন্যান্য প্রতিটি জিইআইআই প্ল্যাটফর্মের মতো হয়, তবে আপনি জিইআইআই থ্রেডের সাথে একই সময়ে সম্পাদন করার জন্য আপনার নিজের কাজগুলি সংজ্ঞায়িত করতে পারেন যাতে জিইউআই থ্রেডটি থেকে যায় প্রতিক্রিয়াশীল)।
  • একটি লিখিত জাভাএফএক্স প্রোগ্রামের যথেষ্ট পরিমাণে ডেটা মোটামুটি কল্পনা করার জন্য কোনও সমস্যা যথেষ্ট পরিমাণে করা উচিত নয়। এখানে একটি নমুনা জাভাএফএক্স প্রকল্প যা এটি করে।
  • সিএসএসের মাধ্যমে অ্যাপ্লিকেশনটিকে স্টাইল করার ক্ষমতা, ভিজ্যুয়াল এফেক্ট এবং অ্যানিমেশন ব্যবহার করে, আপনার অ্যাপ্লিকেশনটিকে দুর্দান্ত দেখানোর জন্য ডিজাইনারদের সাথে কাজ করার অনুমতি দেয় বা আপনার দক্ষতা থাকলে এটি নিজেই করতে পারেন।
  • জাভাএফএক্সের একটি টেবিলভিউ এবং একটি ট্রিউউউ রয়েছে যা আপনি ব্যবহার করতে পারেন। এছাড়াও একটি সম্মিলিত ট্রিটিবেল নিয়ন্ত্রণ রয়েছে যা জাভা 8 মুক্তির প্রস্তুতির জন্য তৈরি করা হয়েছে ।
  • কাস্টম ফিগার অঙ্কন উইজেটটি দৃশ্যের গ্রাফ আকার বা সরাসরি অঙ্কনের ক্যানভাস ব্যবহার করতে পারে - এটি কোডিং শৈলী এবং পছন্দ হিসাবে কেবল সত্য।
  • জাভাএফএক্সের বৈশিষ্ট্য এবং বাঁধাইয়ের সুবিধাগুলির সাথে এর ইভেন্ট শ্রোতার ফ্রেমওয়ার্কগুলি একটি নিয়ন্ত্রণ ব্যবহার করে ডেটা সংশোধন করতে তাত্ক্ষণিক করে তোলে এবং অন্যান্য নিয়ন্ত্রণে তাত্ক্ষণিকভাবে প্রতিচ্ছবি প্রতিবিম্বিত হয়।
  • এমভিসি শৈলীর বিকাশের জন্য, আপনি প্লেইন জাভা অবজেক্ট ব্যবহার করে আপনার মডেলটি লিখতে পারেন, এফএক্সএমএল মার্কআপ ল্যাঙ্গুয়েজটি ব্যবহার করে আপনার দৃষ্টিভঙ্গিটি সংজ্ঞায়িত করতে পারেন (ইচ্ছা করলে সাইনবিল্ডার গ্রাফিকাল লেআউট সরঞ্জামটি ব্যবহার করে তৈরি করা হয়েছে) এবং জাভাতে আপনার নিয়ন্ত্রণ যুক্তি সংজ্ঞায়িত করতে পারেন (বা অন্য কোনও স্ক্রিপ্টিং ভাষা যদি আপনি চান) , প্লাস আপনার সিএসএস ব্যবহার করে আপনার স্টাইলকে আপনার যুক্তি থেকে পৃথক করা উচিত।
  • আপনার জাভাতে সীমিত এক্সপোজার থাকায় শেখার বক্ররেখাটি উল্লেখযোগ্য হবে। সেখানে চমৎকার জাভা টিউটোরিয়াল JavaFX টিউটোরিয়াল আমি আগেও লিঙ্ক যা এই সাহায্য করতে পারে ছাড়াও। জাভাএফএক্স কোর কোডটি কেবল জেডিকে উপলভ্য সুবিধাগুলি ব্যবহার করে, তাই জাভাএফএক্স ব্যবহার করার জন্য আপনাকে অতিরিক্ত অতিরিক্ত লাইব্রেরি এবং ফ্রেমওয়ার্কগুলি শেখার প্রয়োজন হবে না (যেমন আপনি উদাহরণস্বরূপ জাওয়াইই শিখছিলেন তবে)। সুতরাং এই দুটি টিউটরিয়াল সাইটগুলি আপনাকে দ্রুত গতিতে উঠতে হবে এমন সবচেয়ে বেশি তথ্য সরবরাহ করে।
  • অ্যাপ্লিকেশন সংস্থার জন্য, আপনার যদি জটিল অ্যাপ্লিকেশন থাকে এবং একটি সম্পূর্ণ, প্রমাণিত ক্লায়েন্ট অ্যাপ্লিকেশন কাঠামোর সমর্থন প্রয়োজন এবং প্রচুর অতিরিক্ত পড়াশোনা করতে কিছু মনে করেন না, তবে আপনি জাভাএফএক্সকে এক্সপ্লিট আরসিপি বা নেটবিয়ানস আরসিপিতে এম্বেড করতে পারেন , যা অনুযায়ী তাদের পৃষ্ঠাগুলি আপনাকে বছরের উন্নয়নের সময় বাঁচাতে পারে। আমি কেবলমাত্র এই জাতীয় প্ল্যাটফর্মগুলি দেখার পরামর্শ দিই যদি আপনার প্রয়োজনগুলি এটি ন্যায়সঙ্গত হয় তবে ছোট থেকে মাঝারি আকারের প্রকল্পগুলির জন্য, সম্ভবত ক্লিভ প্ল্যাটফর্ম ফ্রেমওয়ার্ক যেমন অ্যাক্লিপস এবং নেটবিয়ানগুলি ছাড়াই সরাসরি জাভাএফএক্সে স্টাফ কোড করা সহজ হবে।
  • আপনার সুইং বা জাভাএফএক্স ব্যবহার করা উচিত কিনা তা সম্পর্কে, আমি এর উত্তর দেওয়ার পক্ষে আসলেই সবচেয়ে উদ্দেশ্যমূলক ব্যক্তি নই। জাভাএফএক্সের অবশ্যই ত্রুটি রয়েছে যা আপনি এটি ব্যবহার শুরু করার সাথে সাথে আপনার কাছে স্পষ্ট হয়ে উঠবে (যেমন সুইং হয়)।
  • অনলাইন টিউটোরিয়ালের জন্য, আমি বেশিরভাগ প্রাসঙ্গিকের সাথে লিঙ্ক করেছি। একটা হল একটি সম্পূর্ণ অ্যাপের জন্য চমৎকার টিউটোরিয়াল সেট
  • উদাহরণস্বরূপ প্রো জাভাএফএক্স 2 এবং জাভাএফএক্স 2.0 পরিচয় বইগুলি অত্যন্ত রেট হয়েছে।

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

1
সেই "বিশ্বের সেরা আইডিই" লিঙ্কটি সত্যই কেবল ইন্টেলিজ আইডিইএতে দেখানো উচিত;) দুর্দান্ত উত্তর, খুব তথ্যপূর্ণ, ধন্যবাদ!
কুপার

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

জাভাএফএক্স এখন অ্যাক্সেসিবিলিটি সমর্থন সরবরাহ করে। এই কার্যকারিতাটি জাভা 8u40 এ সরবরাহ করা হয়েছিল, যার জন্য JEP 204: জাভাএফএক্স এক্সেসিবিলিটি কার্যকর করা হয়েছিল।
জুয়েলসি

5

পরিবর্তে একটি মডেল-ভিউ-উপস্থাপক প্যাটার্ন সহ যান । আপনি এখানে এমভিপিজেজ প্রকল্পের মাধ্যমে সুইংয়ের একটি ভাল এমভিপি উদাহরণ দেখতে পারেন ।

সুইং না করার সময়, আমি এই প্যাটার্নটি সম্পর্কে আরও অন্তর্দৃষ্টি এবং জাভাতে কীভাবে প্রয়োগ করতে পারি তার জন্য আমি জিডব্লিউটি গুগল বিকাশকারী সাইটে এমভিপি নিবন্ধগুলিও পরীক্ষা করে দেখব ; একই নকশার প্রিন্সিপালগুলি কাঠামো নির্বিশেষে দাঁড়িয়ে থাকে এবং জিডাব্লুটিটি সুইংয়ের সাথে খুব মিল similar

এমভিপি কীভাবে কাজ করে তার একটি দ্রুত ব্রেকডাউন:

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

সঠিকভাবে প্রয়োগ করা হলে, এমভিপি আপনার অ্যাপ্লিকেশনটিকে খুব ডিউপলড করে তুলবে এবং আপনাকে আপনার অ্যাপ্লিকেশনের অন্যান্য ক্ষেত্রগুলিকে বিরক্ত না করে পরিবর্তন করতে দেবে।

সম্পাদনা: জাভাএফএক্স ব্যবহারের আপনার সিদ্ধান্তের ভিত্তিতে, আমি নীচের নিবন্ধগুলি পরীক্ষা করে দেখার পরামর্শ দেব


ধন্যবাদ! আমি মনে করি আমি জাভাএফএক্সের সাথে যাওয়ার সিদ্ধান্ত নিয়েছি, তবে এমভিপি এবং কীভাবে এটি এই প্ল্যাটফর্মের সাথে ব্যবহার করা যেতে পারে সে সম্পর্কে পড়ব।
উদার

1
গ্রেট! আপনি সবচেয়ে মূল্যবান খেলোয়াড় প্যাটার্ন ব্যবহার করার সিদ্ধান্ত নেন, তাহলে এখানে একটি লিঙ্ক রয়েছে যা JavaFX মধ্যে একটি উদাহরণ প্রদান করে code.google.com/p/pennychecker-presenter/wiki/JavaFxMvpExample
কুপার

2

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

সুইং হ'ল জিডিআই লাইব্রেরি জেডিকে অন্তর্ভুক্ত এবং এটি স্ক্র্যাচ থেকে তৈরি। এসডব্লিউটি একটি বাহ্যিক এবং উপাদানগুলি দেশীয়গুলির উপর ভিত্তি করে।

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

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