haskell - হ্যাসেলের স্ন্যাপ এবং ইয়েসড ওয়েব ফ্রেমওয়ার্কগুলি তুলনা করুন




web-frameworks yesod (3)

Hamlet একটি চেষ্টা করুন- আপনি এটি পছন্দ শেষ হতে পারে। একটি পৃষ্ঠীয় স্তরে একটি নেতিবাচক প্রতিক্রিয়া অস্বাভাবিক নয়। যাইহোক, যে কেউ হ্যামলেট অভিযোগ আসলে ব্যবহার করা হয়েছে।

এছাড়াও, কেন হ্যাপস্টস্ট ব্যবহার করবেন না? কারণ তারা "সংবাদে" নয় তার মানে তাদের দৃঢ় কাঠামো নেই।

সম্প্রতি এই সংবাদে দুটি হ্যাসেল ওয়েব ফ্রেমওয়ার্ক হল Yesod (0.8 তে) এবং Snap (0.4 এ)।

এটা স্পষ্ট যে ইয়েসড বর্তমানে স্ন্যাপের চেয়ে অনেক বেশি বৈশিষ্ট্য সমর্থন করে। যাইহোক, আমি সিনট্যাক্স ইয়েসডটি তার HTML, CSS এবং জাভাস্ক্রিপ্টের জন্য ব্যবহার করতে পারছি না।

তাই, আমি যদি স্ন্যাপ দিয়ে গিয়েছিলাম তবে আমি বুঝতে পারতাম যে আমি কী অনুপস্থিত। উদাহরণস্বরূপ, ডাটাবেস সমর্থন মত দেখাচ্ছে না। কিভাবে সেশন সম্পর্কে? অন্যান্য বৈশিষ্ট্য?


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

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

শুধু তাই নয় তবে HTML টেমপ্লেট পৃথক ফাইলগুলিতে থাকতে পারে, ঠিক যেমন স্ন্যাপের টেমপ্লেট লাইব্রেরী হেস্ট।

জাভা স্ক্রিপ্ট টেমপ্লেটগুলি (জুলিয়াস) সরল জাভাস্ক্রিপ্ট ফাইল, এছাড়াও পৃথক ফাইলগুলিতে বসবাস করছে।

CSS টেমপ্লেট প্রকৃতপক্ষে একটি ভিন্ন সিনট্যাক্স আছে, কিন্তু হ্যাঁড এর সাম্প্রতিক সংস্করণটিও প্লেইন CSS সিনট্যাক্স সরবরাহ করে।

যদি আপনি হেস্টের সাথে যান তবে আপনার টাইপ নিরাপদ URL গুলো থাকবে না।

হেস্ট HTML টেমপ্লেটগুলি প্রত্যেক সময় হার্ডড্রাইভ থেকে পড়তে হয়। Yesod এক্সিকিউটেবল মধ্যে সরাসরি সব টেম্পলেট কম্পাইল। কোন ফাইল হার্ডড্রাইভ থেকে পড়া হয়। সুতরাং প্রতিক্রিয়া অনেক দ্রুত। আপনি নিজেই benchmarks দেখতে পারেন।

ইয়াসড এ আপনি উইজেট তৈরি করতে পারেন যা চমত্কারভাবে সহযোগিতা করে। স্ন্যাপ সব সময়ে উইজেট মোকাবেলা করে না। আপনি আপনার নিজের রোল করতে হবে।


সম্পূর্ণ প্রকাশ: আমি স্ন্যাপ সীসা ডেভেলপারদের এক।

সর্বোপরি, আসুন স্ন্যাপটি সম্পর্কে কথা বলি। এই মুহূর্তে স্ন্যাপ দল হ্যাকয়ে পাঁচটি ভিন্ন প্রকল্প বজায় রাখে: স্ন্যাপ কোর, স্ন্যাপ-সার্ভার, হেস্ট, স্ন্যাপ, এবং xmlhtml। স্ন্যাপ-সার্ভার একটি ওয়েব সার্ভার যা স্ন্যাপ কোর দ্বারা সংজ্ঞায়িত API কে প্রকাশ করে। heist একটি templating সিস্টেম। xmlhtml একটি এক্সএমএল / এইচটিএমএল প্যারিসিং এবং হেস্ট দ্বারা ব্যবহৃত রেন্ডারিং লাইব্রেরি। স্ন্যাপ একটি ছাতা প্রকল্প যা তাদের একসঙ্গে আঠালো করে এবং শক্তিশালী স্ন্যাপলেট API সরবরাহ করে যা ওয়েব অ্যাপ্লিকেশনগুলিকে কম্পোজেবল এবং মডুলার করে তোলে।

ইয়েসড হ্যাকেজ প্রকল্পের একটি হোস্ট আছে। তাদের অধিকাংশ (সব?) Yesod বিভাগে তালিকাভুক্ত করা হয়। উল্লেখযোগ্য কিছু হ'ল হওড-কোর, ওয়ার্প, প্রিস্টেন্ট এবং হ্যামলেট।

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

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

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

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

সম্পাদনা করুন: বড় তিনটি হ্যাসেল ওয়েব ফ্রেমওয়ার্কগুলির আরও বিস্তারিত তুলনা করার জন্য আমার সাম্প্রতিক ব্লগ পোস্টটি দেখুন । কিছু বৃহত্তর সাধারণীকরণের সাহায্যে একটি রাঘের (কিন্তু সম্ভবত আরো দরকারী) তুলনা করার জন্য, আমার হ্যাসেল ওয়েব ফ্রেমওয়ার্ক তুলনা ম্যাট্রিক্স দেখুন