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

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

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