জেএসএফ ব্যবহার না করার কারণগুলি [বন্ধ]


64

আমি স্ট্যাকএক্সচেঞ্জে নতুন, তবে আমি অনুভব করেছি যে আপনি আমাকে সহায়তা করতে সক্ষম হবেন।

একটি উত্তরাধিকারী JSP সমাধান প্রতিস্থাপন করে আমরা একটি নতুন জাভা এন্টারপ্রাইজ অ্যাপ্লিকেশন আঁকছি। অনেকগুলি পরিবর্তনের কারণে, ইউআই এবং ব্যবসায়িক যুক্তির অংশগুলি পুরোপুরি পুনর্বিবেচনা এবং পুনরায় প্রয়োগ করা হবে।

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

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

Secondly, it is way too complicated. Its complexity is outstanding. If you ask me, it's a poor abstraction of basic web technologies, crippled and useless in the end. What benefits do I have? None, if you think about. Hundreds of components? I see ten-thousands of HTML/CSS snippets, ten-thousands of JavaScript snippets and thousands of jQuery plug-ins in addition. It solves really many problems - we wouldn't have if we wouldn't use JSF. Or the front-controller pattern at all.

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

আমার পরামর্শটি হ'ল জ্যাকএক্স-আরএস ব্যবহার করে একটি রেস্ট এপিআই বাস্তবায়ন করা। তারপরে ক্লায়েন্ট সাইড এমভিসির সাথে একটি এইচটিএমএল 5 / জাভাস্ক্রিপ্ট ক্লায়েন্ট তৈরি করুন। (বা এমভিসির কিছু স্বাদ ..) উপায় দ্বারা; আমাদের যাইহোক আরআরটিএসপি এপি দরকার হবে, কারণ আমরাও আংশিক অ্যান্ড্রয়েড ফ্রন্ট-এন্ড বিকাশ করছি।

আমি সন্দেহ করি যে আজকাল জেএসএফই সেরা সমাধান। ইন্টারনেট যেহেতু বিকশিত হচ্ছে, সত্যই আমরা দেখতে পাচ্ছি না কেন আমাদের এই 'র‌্যাক' ব্যবহার করা উচিত।

এখন, ভাল / বিপরীত কি কি? জেএসএফ ব্যবহার না করার জন্য আমি কীভাবে আমার বক্তব্যকে জোর দিতে পারি? আমার পরামর্শের তুলনায় জেএসএফ ব্যবহার করার জন্য শক্তিশালী পয়েন্টগুলি কী কী?


24
এটি একটি নতুন ব্যবহারকারীর কাছ থেকে একটি লিখিত প্রশ্ন। ডাউনভোট করার সময় কোনও মন্তব্য দেওয়ার কথা বিবেচনা করুন।
চোরমাস্টার

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

11
আমি ডাউনভিট করিনি, তবে এটি কোনও প্রশ্ন নয়, এটি একটি অভিজাত। ভ্যান তার মন তৈরি করেছে যে সে জেএসএফকে ঘৃণা করে, এখন সে আরও কারণের জন্য এটি ব্যবহার না করার জন্য জিজ্ঞাসা করে?
মাইকেল বর্গওয়ার্ট

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

14
এটি ব্যাকআপ খুঁজছেন, এমন কোনও প্রশ্ন নয়।

উত্তর:


26

জেএসএফ বিবেচনার জন্য কমপক্ষে একটি খুব ভাল কারণ আছে।

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

এটি যদি আপনার জন্য উদ্বেগজনক হয় তবে আপনার এটি বিবেচনা করা উচিত। বেশিরভাগ সফ্টওয়্যার তাদের ডিজাইনাররা যতক্ষণ মনে করেন তার চেয়ে বেশি দিন বেঁচে থাকে, বিশেষত লিখিত হওয়ার সময় বিবেচনা করা হয়।


4
আমি এটা সম্পর্কে অবগত নই. জে 2 ই ই এর জন্য, 'স্ট্যান্ডার্ড' এবং 'ওয়ার্কিং' শব্দটি পাথরে লেখা হয় না, বিশেষত যখন আমরা এমন একটি সিস্টেমের কথা বলি যা ব্যবহার করা j2ee সংস্করণে পরিবর্তন সহ অনেক বছর ধরে সমর্থন করা উচিত should
Magallanes

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

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

14

এখন, ভাল / বিপরীত কি কি? জেএসএফ ব্যবহার না করার জন্য আমি কীভাবে আমার বক্তব্যকে জোর দিতে পারি? আমার পরামর্শের তুলনায় জেএসএফ ব্যবহার করার জন্য শক্তিশালী পয়েন্টগুলি কী কী?

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

সুতরাং এখানে কিছু সুবিধা রয়েছে:

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

তবে অবশ্যই এই সুবিধাগুলির কোনওটি এত বড় নয় যে আপনার দলটি ইতিমধ্যে অভিজ্ঞতা নিয়ে থাকা অন্য কোনও কাঠামোর উপরে জেএসএফ ব্যবহার করা উচিত।


1
এটি আইডি নয়, এটি অবৈধ বৈশিষ্ট্য। ট্যাব দৃশ্যে "ভূমিকা" এবং "আরিয়া-প্রসারিত" পছন্দ করুন। আপনি এই স্থির করা কি জানেন কিভাবে?
ব্রুনো শ্পিপার

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

1
নৃশংস এইচটিএমএল ব্যবহারের প্রয়োগের কারণে। এটি আমার বোঝার বিষয় যে জেএসএফের বাস্তবায়নের ডিবাগ মোডটি এখানে বিশেষত খারাপ। আপনি কি আরও ভাল এইচটিএমএল উত্পাদন করতে আরও ভাল সেটিংস সম্পর্কে জানতে পারবেন?

1
@ থরবজর্ন রাভন অ্যান্ডারসন হ্যাঁ, অবৈধ এইচটিএমএল সমস্যাটি আসলে প্রাইমফ্রিজের সমস্যা। আমরা এটি ব্যবহার করি কারণ এটি jQuery-UI তে তৈরি। আপনার পরামর্শ কি; আমার কি অন্য লাইব্রেরি ব্যবহার করা উচিত? আমি সত্যিই বৈধ এইচটিএমএল পছন্দ করি। আমার জন্য এটি কেবল একটি আবশ্যক।
ব্রুনো শ্যাপার

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

9

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

সম্পাদনা করুন - জেএসএফ ২.২ এর সাহায্যে - আপনি তর্ক করতে শুরু করতে পারেন যে এটি ওয়েবকে একবারের মতো ভেঙে দেয় না। আসলে এটি এইচটিএমএল 5 ইন্টিগ্রেশন সমস্ত ভয়ানক নয় :-)।


1
এটি আসলে 'ওয়েবকে বিভক্ত করে', এবং ম্যাট রাইবলের তুলনার জন্য ধন্যবাদ, এটি জানত না।
ব্রুনো শ্যাপার

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

ফেয়ার পয়েন্ট আরজান, আমি অনুমান করি আমি কেবলমাত্র অনেকগুলি রাষ্ট্রীয় ব্যবহার দেখেছি।
মার্টিজ ভার্বার্গ

: থেকে Raible এর উপস্থাপনা লিঙ্ক slideshare.net/mraible/...
zaidaus

6

আমাদের একটি উত্তরাধিকারী JSP / Struts 1.0 অ্যাপ্লিকেশন ছিল। আমরা স্ট্রুটস 2, জেএসএফ এবং অন্যান্য যেগুলি ঘটেছিল স্ট্রুট 1 এর পরে ঘটেছিল এবং স্প্রিং 3.0 এ গিয়েছি। এটি আমাদের ইচ্ছার তালিকার জন্য সমর্থন (এবং একটি সক্রিয় সম্প্রদায়) রয়েছে - এক্লিপস আইডিই, এমভিসি এবং আরএসটি। প্লাস আমরা jquery এর জন্য আমাদের ভিনটেজ হোমগ্রাউন্ড জাভাস্ক্রিপ্ট / এজাক্সটিকে আঁকিয়েছি।

ওয়াইএমএমভি তবে স্প্রিং আমাদের জন্য একটি মসৃণ স্থানান্তর হয়েছে।

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