আমি এই প্রশ্নের উত্তর দিতে ভাল এবং খারাপ উভয়ই - ভাল, এটিতে আমি আসলে এটি আগে ব্যবহার করেছি, এবং খারাপ, জিডাব্লুটিটির সাথে কাজ করার আগে আমি এইচটিএমএল / সিএসএস / জাভাস্ক্রিপ্ট নিয়ে বেশ অভিজ্ঞ ছিলাম। এটি আমাকে এমনভাবে জিডাব্লুটিটি ব্যবহার করে ক্ষিপ্ত করে ফেলেছিল যে অন্যান্য জাভা বিকাশকারীরা যারা সত্যই ডিএইচটিএমএল জানেন না সেগুলি নাও থাকতে পারে।
জিডব্লিউটি এটি যা বলে তা করে - এটি জাভাস্ক্রিপ্ট এবং জাভাতে কিছুটা HTML এর বিমূর্ত করে। অনেক বিকাশকারীদের কাছে এটি দুর্দান্ত sounds তবে, আমরা জানি, জেফ অ্যাটউড যেমন রেখেছেন, সমস্ত বিমূর্ততা ব্যর্থ বিমূর্ততা (জিডব্লিউটি বিবেচনা করে যদি পড়ার মতো মূল্য হয়)। জিডব্লিউটি সহ, এটি বিশেষত নিম্নলিখিত সমস্যাগুলির পরিচয় দেয়:
জিডব্লিউটিতে এইচটিএমএল ব্যবহার করা সফল হয়।
যেমনটি আমি বলেছিলাম, কিছুটা ডিগ্রি পর্যন্ত এমনকি এইচটিএমএলকে বিমূর্ত করে তোলে। এটি জাভা বিকাশকারীকে ভাল লাগছে। কিন্তু এটা না. এইচটিএমএল একটি ডকুমেন্ট মার্কআপ ফর্ম্যাট। আপনি যদি কোনও দস্তাবেজ সংজ্ঞায়িত করতে জাভা অবজেক্ট তৈরি করতে চান, আপনি দস্তাবেজ মার্কআপ উপাদানগুলি ব্যবহার করবেন না। এটা পাগলভাবে ভার্বোজ হয়। এটি যথেষ্ট পরিমাণে নিয়ন্ত্রণ করা হয় না। এইচটিএমএলে মূলত লেখার একটি উপায় রয়েছে <p>Hello how are <b>you</b>?</p>
। জিডব্লিউটিতে আপনার B
কাছে একটি P
নোডের সাথে 3 টি শিশু নোড (পাঠ্য , পাঠ্য) সংযুক্ত রয়েছে । আপনি হয় প্রথমে পি তৈরি করতে পারেন, বা প্রথমে শিশু নোড তৈরি করতে পারেন। শিশু নোডগুলির মধ্যে একটি ফাংশনের রিটার্ন ফলাফল হতে পারে। অনেক বিকাশকারীদের সাথে কয়েক মাস বিকাশের পরে, আপনার জিডব্লিউটি কোডটি সনাক্ত করে আপনার এইচটিএমএল ডকুমেন্টটি কেমন লাগে তা বোঝার চেষ্টা করা মাথা ব্যথা প্ররোচনার প্রক্রিয়া।
শেষ পর্যন্ত, দল সিদ্ধান্ত নিয়েছে যে সম্ভবত সমস্ত HTML এর জন্য এইচটিএমএলপ্যানেল ব্যবহার করা সঠিক উপায়। এখন, আপনি জিডাব্লুটিটির অনেকগুলি উপকার হারিয়ে ফেলেছেন যা উপায়ে সহজেই বাঁধার জন্য জাভা কোডে সহজেই উপাদান সরবরাহ করতে পারে।
জিডাব্লুটিটিতে সিএসএস ব্যবহার করা সফল হয়।
এইচটিএমএল অ্যাবস্ট্রাকশনের সাথে সংযুক্তির মাধ্যমে, এর অর্থ হল যে আপনাকে সিএসএস ব্যবহার করার উপায়টিও আলাদা। আমি শেষবার জিডব্লিউটি ব্যবহার করার পরে এটি প্রায় উন্নত হতে পারে (প্রায় 9 মাস আগে), তবে সিএসএস সমর্থনটি একটি গোলযোগ ছিল। জিডব্লিউটি আপনাকে যেভাবে HTML তৈরি করে তোলে, তার কারণে আপনার প্রায়শই এমন নোড থাকে যা আপনি জানেন না যে ইনজেকশন দেওয়া হয়েছিল (কোনও সিএসএস দেব জানেন যে এটি কীভাবে রেন্ডারিংকে নাটকীয়ভাবে প্রভাবিত করতে পারে)। সিএসএস এম্বেড বা লিঙ্ক করার অনেকগুলি উপায় ছিল যার ফলস্বরূপ নেমস্পেসগুলির একটি বিভ্রান্তিকর জঞ্জাল। সর্বোপরি আপনার কাছে স্প্রাইট সমর্থন ছিল, যা আবার দুর্দান্ত লাগছে, কিন্তু আসলে আপনার সিএসএসকে রূপান্তরিত করেছিল এবং এতে বৈশিষ্ট্যগুলি লেখার ক্ষেত্রে আমাদের সমস্যা ছিল যা আমাদের পরে স্পষ্টভাবে ওভাররাইট করতে হয়েছিল, বা কিছু ক্ষেত্রে আমাদের হাতের সাথে ম্যাচ করার চেষ্টাটি ব্যর্থ করে দিয়েছে- কোডেড সিএসএস এবং জিডব্লিউটি এটি স্ক্রু না করে এমন উপায়ে এটি নতুনভাবে ডিজাইন করতে হবে।
সমস্যার ইউনিয়ন, বেনিফিটের ছেদ
যে কোনও ভাষাতে তার নিজস্ব সেট এবং সমস্যা রয়েছে। আপনি এটি ব্যবহার করুন কিনা সেগুলির উপর ভিত্তি করে একটি ভারী সূত্র। যখন আপনার কোনও বিমূর্ততা রয়েছে, তখন আপনি যা পাবেন তা হ'ল সমস্ত সমস্যার মিলন এবং সুবিধাগুলির একটি ছেদ। জাভাস্ক্রিপ্টটিতে এর সমস্যা রয়েছে এবং এটি সার্ভার-সাইড ইঞ্জিনিয়ারদের মধ্যে সাধারণত উত্সাহিত হয় তবে এর বেশ কয়েকটি বৈশিষ্ট্যও রয়েছে যা দ্রুত ওয়েব বিকাশের জন্য সহায়ক। ক্লোজার্স, সিনট্যাক্স শর্টহ্যান্ড, অ্যাডহক অবজেক্টস, জ্যাকুইয়ের দ্বারা সম্পন্ন সমস্ত জিনিস (সিএসএস নির্বাচকের মাধ্যমে ডিওএমের অনুসন্ধানের মতো) ভাবেন। এখন এটি জিডব্লিউটি-তে ব্যবহার করার কথা ভুলে যান!
উদ্বেগ বিচ্ছেদ
আমরা সকলেই জানি যে কোনও প্রকল্পের আকার বাড়ার সাথে সাথে উদ্বেগের ভাল বিচ্ছেদ হওয়াও গুরুত্বপূর্ণ। সর্বাধিক গুরুত্বপূর্ণ হল ডিসপ্লে এবং প্রসেসিংয়ের মধ্যে বিচ্ছেদ। জিডব্লিউটি এটিকে সত্যই শক্ত করে তুলেছে। সম্ভবত অসম্ভব নয়, তবে আমি যে দলটিতে ছিলাম তা কখনই একটি ভাল সমাধান নিয়ে আসে নি, এমনকি যখন আমরা ভেবেছিলাম আমাদের রয়েছে তখনও আমাদের সর্বদা একজন অন্যটিতে প্রবেশ করত।
ডেস্কটপ! = ওয়েব
@ বারিন লরিটস মন্তব্যগুলিতে পোস্ট করার সাথে সাথে, জিডব্লুটি মডেল বা মানসিকতা তৈরি করা হচ্ছে জীবিত অ্যাপ্লিকেশন, যেখানে একটি প্রোগ্রামের সাথে একটি প্রসেসিং ইঞ্জিনের সাথে দৃly়ভাবে জীবন্ত প্রদর্শন রয়েছে। এটি দুর্দান্ত বলে মনে হচ্ছে কারণ অনেকেই মনে করেন যে ওয়েবের অভাব রয়েছে। তবে দুটি সমস্যা রয়েছে: ক) ওয়েবটি এইচটিটিপিতে নির্মিত এবং এটি অন্তর্নিহিত পৃথক। আমি উপরে উল্লিখিত হিসাবে, এই প্ল্যাটফর্মের জন্য এইচটিটিপি - এইচটিএমএল, সিএসএস, এমনকি রিসোর্স-লোডিং এবং ক্যাশিং (চিত্র ইত্যাদি) উপর নির্মিত প্রযুক্তিগুলি নির্মিত হয়েছে । খ) ওয়েবে কাজ করা জাভা বিকাশকারীরা সহজেই এই ডেস্কটপ-অ্যাপ্লিকেশন মানসিকতায় স্যুইচ করেন না। এই পৃথিবীতে আর্কিটেকচার সম্পূর্ণ ভিন্ন শৃঙ্খলা। ফ্লেক্স বিকাশকারীরা সম্ভবত জাভা ওয়েব বিকাশকারীদের তুলনায় জিডব্লিউটি আরও উপযুক্ত হবে।
উপসংহারে...
জিডাব্লুটিটি কেবল জাভা ব্যবহার করে দ্রুত এবং নোংরা এজেএক্স অ্যাপ্লিকেশন তৈরি করতে সক্ষম। দ্রুত এবং নোংরা আপনি যা চান তা যদি না শোনা যায় তবে এটি ব্যবহার করবেন না। আমি যে সংস্থার জন্য কাজ করছিলাম সেটি হ'ল একটি সংস্থা যা শেষ পণ্যটি সম্পর্কে অনেক যত্ন নিয়েছিল এবং এটি ব্যবহারকারীর কাছে ভিজ্যুয়াল এবং ইন্টারেক্টিভ উভয়ই পোলিশের অনুভূতি। আমাদের ফ্রন্ট-এন্ড বিকাশকারীদের জন্য, এর অর্থ হ'ল এইচটিএমএল, সিএসএস এবং জাভাস্ক্রিপ্টকে এমনভাবে নিয়ন্ত্রণ করতে হবে যা জিডাব্লুটিটি ব্যবহার করে বক্সিং গ্লোভগুলি দিয়ে পিয়ানো বাজানোর চেষ্টা করেছিল।