বাড়ি এগিয়ে চিন্তা ক্লায়েন্ট-সার্ভার কম্পিউটিংয়ের রিটার্ন?

ক্লায়েন্ট-সার্ভার কম্পিউটিংয়ের রিটার্ন?

ভিডিও: छोटे लड़के ने किया सपना को पागल स्टेज ठ(সেপ্টেম্বর 2024)

ভিডিও: छोटे लड़के ने किया सपना को पागल स्टेज ठ(সেপ্টেম্বর 2024)
Anonim

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

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

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

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

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

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

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

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

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

আমরা আরও বুদ্ধিমান ওয়েব ক্লায়েন্টের দিকে স্পষ্টভাবে দেখতে পাচ্ছি every প্রতিটি ক্ষেত্রে নয়, অনেকগুলি নতুন অ্যাপ্লিকেশনগুলিতে। পুরানো অ্যাপ্লিকেশনগুলি নেওয়া এবং তাদের এই মডেলটিতে স্থানান্তরিত করা অনেক বেশি শক্ত, তবে আমরা এর কয়েকটিও দেখতে পাচ্ছি। এটি বেশিরভাগ ক্লায়েন্ট-সার্ভারের মডেল নয়, তবে এটি আরও কাছাকাছি চলেছে।

ক্লায়েন্ট-সার্ভার কম্পিউটিংয়ের রিটার্ন?