ওয়েব ডেভেলপমেন্ট এর বেসিক জ্ঞান

ফ্রন্ট এন্ড ডেভেলপমেন্ট ও ব্যাক এন্ড ডেভেলপমেন্ট এর গুরুত্ব
web develipment

Web Development Stack হলো কয়েকটি ওয়েব টেকনোলজি বা টুলস যেমন, বিভিন্ন Programming Language, Framework ও Database Development Technology এর  সমন্বয় যেগুলো ব্যবহার করে পরবর্তীতে ওয়েব এপ্লিকেশন, ওয়েবসাইট বা মোবাইল এপ্লিকেশন ডিজাইন করা যায়।

Web Development Stack গুলোকে মোটা দাগে Front-end ও Back-end  দুই ভাগে ভাগ করে ফেলা যায়। আর Front-end, Back-end মিলে যে stack তৈরি হয়  তা হলো একটি Full Stack Web Development ।

যেকোনো প্রোগ্রাম বা প্রজেক্টের জন্য সঠিক Stack বাছাই করা খুবই গুরুত্বপূর্ণ। কারণ আপনার কোডিং প্রজেক্টটি শুধুমাত্র ডিজাইন করা পর্যন্তই আপনার Web Development Stack সীমিত নয়, সঠিকভাবে Web Development Stack বাছাই করলে আপনি একবারেই আপনার প্রজেক্ট এর ভবিষ্যৎ Scalability এবং Maintenance অনেকটা সহজ করে ফেলতে পারবেন।

Front-end  ওয়েব ডেভেলপমেন্ট কী? 

একটা ওয়েবসাইটের চেহেরা , লেইআউট  বা দেখতে কেমন হবে তা ফ্রন্টএন্ড ডেভেলপাররা ডিজাইন করে থাকে। ওয়েবসাইট ডিজাইন এর  বেশ কিছু টুলস আছে যেমন : Photoshop, Figma, UX/UI Designer, Sketch 3, Adobe XD, InVision Studio, Framer X, Pixelmator  ইত্যাদি।

এগুলা ব্যবহার করে একটি ওয়েবসাইট  ডিজাইন করা হয়ে থাকে, ওয়েবসাইট এর ইউজার  ইন্টারফেস  কেমন হবে তা ডিজাইন করা হয়ে থাকে  এবং  এই ডিজাইন কে ওয়েব  পেজ এ রূপান্তর করার জন্য কিছু মার্কাপ ল্যাংগুয়েজ এবং প্রোগ্রামিং  ল্যাংগুয়েজ ব্যবহার  করা হয়ে থাকে ।

যেমনঃ  , HTML , CSS , Bootstrap, jQuery, Javascript  ইত্যাদি।  এই সমস্ত কিছু  ফ্রন্টএন্ড ডেভেলপার এর আওতায় পড়ে।  ফ্রন্টএন্ড ডেভেলপমেন্ট বলতে আমরা এই সমস্ত কিছুই বুঝে থাকি।

Back-end  ওয়েব ডেভেলপমেন্ট কী? 

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

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

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

Back-end Technology হলো যে কোনো ওয়েবসাইটের মূল ভিত্তি। এখানে সার্ভার ও ডেটাবেজ এর সাথে কানেকশন তৈরি করা হয়।

একটু যদি ভেঙে বলি, আপনি যখন একটি অনলাইন ফর্ম পূরণ করেন- আপনার তথ্যগুলো দেওয়ার পর যখন সাবমিট বাটনটিতে ক্লিক করছেন তখন আপনি ওয়েবসাইটে front-end এর সঙ্গে সম্পর্ক স্থাপন করছেন। কিন্তু, এই বাটনটি ক্লিক করার পর আপনার দেওয়া তথ্যগুলো সঠিক এবং প্রযোজ্য কিনা তা যাচাই করে আপনাকে সামনে এগোনোর অনুমতি বা পরবর্তী ধাপের Access দেয় Back-end Development।

ব্যাকএন্ড ডেভেলপ করতে যে প্রোগ্রামিং ল্যাংগুয়েজ এবং ডাটাবেজ  ব্যবহার করা হয় তার উদাহরণ নিচে দেয়া হলো:   Python, JavaScript,  PHP,  ASP.Net, Ruby,  Java  ইত্যাদি।

Framework: Django,  Node.js,  Laravel,  Ruby on Rails(RoR) , Spring  ইত্যাদি ।

ডাটাবেজ MongoDB,  PostgreSQL,  MySQL, Oracle,  MariaDB

এবার বলি কেন আমার ব্যাক এন্ড বেশি ভালো লাগে 

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

ব্যাক এন্ড এর সারাংশ

১। রেস্টূরেন্টের রান্নাঘরের কাজ আর ব্যাক এন্ড এর কাজ একই টাইপের।

২। এর সমস্ত উপাদান সবসময় সঠিক যায়গায় থাকা উচিত।

৩। সকল উপাদানগুলির নিজ নিজ কাজ সম্পর্কে অবশ্যই জানতে হবে এবং ধারাবাহিক ভাবে পারফরমেন্স করতে থাকবে, যেমনটি রেস্টুরেন্ট এর কিচেন অংশে হয়ে থাকে।

৪। সঠিক অর্ডার গ্রহন করে কোয়ালিটি সম্পূর্ন এবং সঠিকভাবে খাবার তৈরি করে ওয়েটার কতৃক খাবার সরবারহ করার মতই সার্ভারকে অবশ্যই কোনও ওয়েবসাইট বা কোনও অ্যাপ্লিকেশন থেকে ডেটা সংগহ করতে হবে এবং প্রতি সময় সঠিক রেসপন্স প্রেরণ করতে হবে।

এপিআই(API) কী ? এর প্রয়োজনীয়তাইবা কী? 

এপিআই(API) কী ?

এএপিআই(API) বা Application Program Interface হচ্ছে সফটওয়্যার তৈরির জন্য রুটিনস, প্রোটকলস এবং বিভিন্ন টুলসের সমণ্বয় করা । অন্যভাবে বলা যায় , একটি প্রোগ্রামের সাথে অন্য একটি প্রোগ্রামের সমণ্বয় বা ডাটা আদান-প্রদান করা।

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

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

জনপ্রিয় এপিআই (API) সমূহ 

1) গুগল ম্যাপস এপিআই (API)

2) ইউটিউব এপিআই (API)

3) ফেইসবুক  এপিআই (API)

4) অ্যামাজন অ্যাড এপিআই (API)

ফ্রন্ট এন্ড ডেভেলপমেন্ট ও ব্যাক এন্ড ডেভেলপমেন্ট এর গুরুত্ব

একটি কমপ্লিট ওয়েবসাইট অথবা ওয়েব এপ্লিকেশন তৈরী করতে গেলে ফ্রন্ট এন্ড এবং ব্যাক এন্ড দুইটাই সমান ভাবে গুরুত্বপূর্ন, একটি রেস্টুরেন্টে যেমন কিচেন স্টাফ ও ওয়েটিং স্টাফ খুবই গুরুত্বপূর্ন ভূমিকা রাখে তেমনি একটি ব্যবসার ডিজিটাল সলুশন তৈরী করতে ফ্রন্ট এন্ড এবং ব্যাক এন্ড এর গুরুত্ব অপরিসীম

আরও পড়ুন- আর্টিফিশিয়াল ইন্টেলিজেন্সের বিকাশ কি মানব অস্তিত্বের জন্য হুমকিস্বরূপ হতে পারে?

প্রোগ্রামিং, ফ্রিল্যান্সিং এবং আউটসোর্সিং-এর অন্যান্য বই 

 

Leave a Comment

You May Also Like This Article

Rokomari-blog-Logo.png
Join our mailing list and get the latest updates
Loading