আমি এখন দীর্ঘকাল ধরে ওয়েব প্রোগ্রামিং করে চলেছি, এবং কোথাও, আমরা আজ আমরা যা করছি তা কেন (বা আমরা কীভাবে এভাবে জিনিসগুলি করতে এসেছি) এর ট্র্যাক হারিয়ে ফেলেছি?
আমি বেসিক এএসপি ওয়েব বিকাশ দিয়ে শুরু করেছি এবং খুব শীঘ্রই, পৃষ্ঠায় প্রদর্শন এবং ব্যবসায়ের যুক্তি মিশ্রিত হয়েছিল। ক্লায়েন্ট-সাইড ডেভলপমেন্টটি বিভিন্নভাবে পরিবর্তিত হয়েছিল (ভিবিএস স্ক্রিপ্ট, জাভাস্ক্রিপ্টের বিভিন্ন স্বাদ) এবং আমাদের সার্ভার-সাইডের বৈধতা সম্পর্কে প্রচুর সতর্কতা ছিল (এবং তাই আমি ক্লায়েন্ট-সাইড যুক্তি থেকে দূরে থাকি)।
আমি তখন কিছুক্ষণের জন্য কোল্ডফিউসে চলে গেলাম। কোল্ডফিউশন সম্ভবত প্রথম ওয়েব ডেভলপমেন্ট ফ্রেমওয়ার্ক ছিল যা তাদের ট্যাগ ব্যবহার করে প্রদর্শন এবং ব্যবসায়িক যুক্তি পৃথক করে। এটি আমার কাছে খুব স্পষ্ট মনে হয়েছিল তবে খুব ভার্জোজ, এবং কোল্ডফিউশন উচ্চ বাজারের চাহিদা ছিল না, এবং তাই আমি এগিয়ে গেলাম।
আমি তখন এএসপি.এনইটি ব্যান্ড ওয়াগনে লাফিয়ে তাদের এমভিসি পদ্ধতির ব্যবহার শুরু করি। আমি আরও বুঝতে পেরেছিলাম যে জাভা এন্টারপ্রাইজ সিস্টেমগুলির একটি হাতির দাঁত ভাষা বলে মনে হচ্ছে এবং তাদের এমভিসি পদ্ধতির চেষ্টা করেছে। পরবর্তীতে, এএসপি.এনইটি এই এমভিভিএম ডিজাইন প্যাটার্নটি বিকাশ করেছিল এবং জাভা (অবিকল, জে 2 ই ই বা জেই )ও লড়াই করেছে এবং এর এমভিসি 2 পদ্ধতির সাথে বেরিয়ে এসেছিল।
তবে আজ, আমি যা আবিষ্কার করেছি তা হল ব্যাকএন্ড প্রোগ্রামিং যেখানে উত্তেজনা এবং অগ্রগতি আর নেই। এছাড়াও, সার্ভার-সাইড ভিত্তিক এমভিসি অনুশীলনগুলি অপ্রচলিত বলে মনে হচ্ছে (লোকেরা কি আসলেই আর জেএসটিএল ব্যবহার করে?)। আজ, আমি যে বেশিরভাগ প্রকল্পে আছি, আমি খুঁজে পেয়েছি যে জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক এবং ক্লায়েন্ট-সাইড ডেভলপমেন্ট যেখানে সমস্ত আকর্ষণীয় এবং উদ্ভাবনী অগ্রগতি হচ্ছে।
সার্ভার থেকে ক্লায়েন্ট-সাইড ডেভলপমেন্টের কেন এই চলাচল হয়েছে? আমি আমার JEE প্রকল্পগুলির একটিতে একটি সাধারণ লাইন গণনা করেছি, এবং জাভা স্ক্রিপ্টে জাভা (তৃতীয় পক্ষের লাইব্রেরিগুলি বাদ দিয়ে) কোডের আরও লাইন রয়েছে। আমি দেখতে পেয়েছি যে জাভা বা সি # এর মতো প্রোগ্রামিং ভাষা ব্যবহার করে বেশিরভাগ ব্যাকএন্ড ডেভলপমেন্ট কেবল একটি আরএসটি-এর মতো ইন্টারফেস তৈরি করা, এবং প্রদর্শন, দৃশ্যায়ন, ডেটা ইনপুট / আউটপুট, ব্যবহারকারীর ইন্টারঅ্যাকশন ইত্যাদির সমস্ত কঠোর প্রচেষ্টা সম্বোধন করা হচ্ছে addressed অ্যাংুলার, ব্যাকবোন, আম্বর, নকআউট ইত্যাদি ইত্যাদির মতো ক্লায়েন্ট-সাইড ফ্রেমওয়ার্কের মাধ্যমে ...
প্রাক-জিকুয়েরি যুগে, আমি প্রচুর ডায়াগ্রাম দেখেছি যেখানে এন-টায়ার ডেভলপমেন্টে এমভিসিতে এম, ভি এবং সি এর মধ্যে একটি স্পষ্ট, ধারণাগত লাইন ছিল। পোস্ট-জিকুয়ারি, এই লাইনগুলি কোথায় আঁকা? মনে হচ্ছে এমভিসি এবং এমভিভিএম ঠিক আছে ঠিক আছে সেখানে জাভাস্ক্রিপ্ট কোড, ক্লায়েন্ট-সাইড।
আমি যা জানতে চাই তা হ'ল, আমরা কেন এমন রূপান্তর করেছি (সার্ভার-সাইড প্রোগ্রামিংয়ের জোর থেকে শুরু করে ক্লায়েন্ট-সাইডে, সংকলিত ভাষাগুলিকে স্ক্রিপ্টিং ভাষাগুলিতে সমর্থন করা থেকে অপরিহার্য থেকে কার্যকরী প্রোগ্রামিং পর্যন্ত, এই সমস্তগুলি একই সাথে ঘটেছিল বলে মনে হয়) ) এবং এই রূপান্তর / শিফ্ট কোন সমস্যার সমাধান করেছে?