এজ্যাক্স-ভারী ওয়েব অ্যাপ্লিকেশনগুলির জন্য প্যাটার্নস


12

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

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

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

সুতরাং, আমি কি সন্ধান করা উচিত?

আমি খাঁটি-জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনগুলি সম্পর্কে চিন্তা করছিলাম, উদাহরণস্বরূপ ব্যাকবোন.জেএস এবং একটি ডকুমেন্ট-ভিত্তিক, জেসন-স্পিটিং ডাটাবেস (কাউচডিবি) ব্যাকএন্ড হিসাবে, তবে আমি আমার সম্পর্কযুক্ত ডাটাবেসগুলিকে পছন্দ করি।

অন্য বিকল্পটি নিম্নলিখিত হবে: আমি কেবল পিএইচপি / রুবি / গো / হোয়াট নোটে "রাউটেড মডেলগুলি" তৈরি করব। তারা অনুরোধটি বিশ্লেষণ করবে, ডিবিকে কল করবে, কিছু জসন ফিরিয়ে দেবে।

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

ধারনা?


আপনি সকেটস্ট্রিমের মতো কিছুতে মাইগ্রেট করতে চান । যা রিয়েল টাইম, ক্লায়েন্ট ভারী অ্যাপ্লিকেশনগুলির জন্য ডিজাইন করা হয়েছে
রায়নোস

2
পরিবর্তন ভয় পাবেন না। রিলেশনাল ডেটাবেসগুলির তাদের জায়গা রয়েছে, তবে যদি আপনার প্রকল্পটি কোনও সম্পর্কিত ডেটাবেস না বলে, এটি ব্যবহার করবেন না।
বেটগ্যামিট

উত্তর:


1

যদি কোনও একাডেমিক বিশ্লেষণ না হয় তবে এটি নিজেই করুন। আপনার পরবর্তী ছোট স্কেল প্রকল্পে কেবল পরীক্ষা করে দেখুন এবং আপনার পছন্দটি দেখুন। পল গ্রাহামের রচনাটি কেন তিনি তাঁর প্রারম্ভের জন্য লিস্পকে বেছে নেন, যদিও এটি সাধারণত ব্যবহৃত হয় নি। http://www.paulgraham.com/avg.html

সেখানে প্রচুর পরিমাণে এমভিসি জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক রয়েছে। আপনি যদি প্রাথমিকভাবে জাভাস্ক্রিপ্ট অ্যাপ্লিকেশন বানাতে চান তবে এটি করুন।

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

অতিরিক্তভাবে, আপনি যদি নিজের অ্যাপটি এভাবে তৈরি করেন তবে আপনি অফলাইনে সমর্থনটি খুব সহজেই তৈরি করতে পারেন।


আমি আমার পরবর্তী প্রকল্পের জন্য এটি চেষ্টা করব। জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক হিসাবে, আপনি কি পরামর্শ? আমি এখন অবধি কেবলমাত্র সন্ধান করলাম হ'ল মেরুদণ্ড।
cbrandolino

সীমিত পরিমাণে এটি খেলতে পেরে @ ক্যাব্রান্ডোলিনো ব্যাকবোনটি দেখতে বেশ ভাল দেখাচ্ছে। আপনি একটি ছোট প্রকল্পের জন্য sammyjs.org চেক করতে চাইতে পারেন ।
শেঠ আর্চার ব্রাউন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.