ফুল-স্ট্যাক ওয়েব ডেভেলপমেন্ট কী ? কিভাবে একজন দক্ষ ফুলস্ট্যাক ডেভেলপার হবেন ?
আপনি যদি টেক ইন্ডাষ্ট্রি তে একদম নতুন হয়ে থাকেন তাহলে আপনি অবশ্যই ফুলস্ট্যাক ওয়েব ডেভেলপমেন্ট শব্দটি শুনে থাকবেন । তো এই ফুলস্ট্যাক ডেভেলপমেন্ট আসলে কি ? আজকে আমরা বিস্তারিত জানবো এই আর্টিকেল এ , আপনি আর ও জানবেন কিভাবে আপনি একজন ফুলস্ট্যাক ডেভেলপার হিসেবে নিজের ক্যারিয়ার গড়তে পারেন, কোন স্কিল বা টেকনোলজিগুলো গুলো আপনার শিখতে হবে আর ও কিছু টিপস ইত্যাদি । সুতরাং সময় নষ্ট না করে শুরু করে দেই
ফুল-স্ট্যাক ওয়েব ডেভেলপমেন্ট কী ?
একজন ফুলস্ট্যাক ডেভেলপার তিনি হন যিদি একটি ওয়েব এপ্লিকেশনের ফ্রন্টএন্ড এবং ব্যাকএন্ড উভয় যায়গায় কাজ করে থাকেন । এখন ফ্রন্টএন্ড হচ্ছে একটি ওয়েব এপ্লিকেশনের ভিজুয়াল লুক , দেখতে কেমন হবে , অর্থাৎ একজন ইউজার যখন কোন সাইটে প্রবেশ করে তখন তার সামনে যে লে আউট ,অথবা ভিজুয়াল লুক এবং ইউজার ইন্টেরফেস টা সে সবার আগে দেখে থাকে , এই ভিজুয়াল লুক কেই আমরা ফ্রন্টএন্ড বলে থাকি । তাহলে আমরা সবার আগে ফ্রন্টএন্ড ডেভেলপমেন্ট সম্পর্কে বিস্তারিত যেনে নেই ।
ফ্রন্টএন্ড ওয়েব ডেভেলপমেন্ট অথবা ক্লায়েন্ট সাইট
একটি ওয়েব পেজ এর লগো, বাটন , সার্চ বার , ফর্ম থেকে শুরু করে অভারঅল লে আউট , অর্থাৎ ইউজার কিভাবে ওয়েব পেজটিস সাথে ইন্টারেক্ট করবে সেই ইন্টারফেস একজন ফ্রন্ট এন্ড ডেভেলপার তৈরি করে থাকে , ফ্রন্ট এন্ড ডেভেলপের এর কাজ হলো ওয়েব সাইট দেখতে কেমন হবে , লুক কেমন হবে , এবং সেটি ইউজার ফ্রেন্ডলি কিভাবে করা যায় সেটি নিশ্চিত করার । একজন ফ্রন্ট এন্ড ডেভেলপার আর ও যে কাজটি করে সেটি হচ্ছে ওয়েবসাইট রেসপন্সিভ করা , যেন ইউজার তার সকল ডিভাইস (মোবাইল, ট্যাবলেট , ল্যপটপ ) সুন্দর ভাবে ইউজার ইন্টারফেস টি দেখতে পারে, এটাকে বলা হয় (রেস্পন্সিভ ওয়েব ডিজাইন ), একজন ফ্রন্ডএন্ট ডেভেলপার কে সূজনশীল , উদ্ভাবনী , কল্পনাশক্তিপূর্ণ হতে হয় ।
ব্যাকএন্ড ওয়েব ডেভেলপমেন্ট অথবা সার্ভার সাইট
ব্যাকএন্ড ডেভেলপার ওয়েব সাইটের এমন একটা পার্ট নিয়ে কাজ করে যেটি ইউজার দেখতে পায়না, ব্যাকএন্ড ডেভেলপার মূলত ওয়েব সাইটের ফাংশনালিটির লজিক গুলো লিখে থাকে, যেমন আমরা বলতে পারি সার্ভার ক্রেট করা , ডাটাবেস এর সাথে কানেক্ট করা , ব্যাক এন্ড এর লগিক গুলো সার্ভার এর মাধ্যমে ফ্রন্টেন্ড এ পাঠানো যেখানে দরকার হয় এ পি আই । API’s (Application Programming Interfaces) হচ্ছে ব্যাক এন্ড এর ফ্রন্টেন্ড এর মধ্যে রিলেশন তৈরি করা যেন , ব্যাক এন্ড এর লজিক গুলো ফ্রন্টএন্ড এর ইউজার এর কাছে পাঠানো যায় এবং অনেক ধরণের ফিচার ইমপ্লিমেন্ট করা যায়।
যেমন মনে করেন , আপনি একটা ওয়েব সাইট এ আপনার তথ্য গুলো একটি ফর্মের মাধ্যমে ইনপুট দিলেন ফ্রন্টএন্ড থেকে , এই ইনপুট দেয়া ডাটা গুলো সার্ভার হয়ে জমা হয় ডাটা বেস এ , এই যে জমা হওয়ার সকল প্রসেস এগুলো একজন ব্যাকএন্ড ডেভেলপার করে থাকে , আর ফর্মটি দেখতে কেমন, ইনপুট এর কি কি অপশন থাকবে, কত গুলো ফিন্ড থাকবে এসব কিছুর ডিজাইন এবং লুক অর্থাৎ ইউজার ইন্টারফেস টা ডেভেলপ করে থাকেন একজন ফ্রন্টএন্ড ডেভেলপার ।
ফুল-স্ট্যাক এপ্লিকেশনের বাস্তব উদাহরণ
মনে করেন আপনি আমাদের https://web.programming-hero.com এ প্রবেশ করলেন , শুরুতেই আপনি সেখানে দেখতে পারবেন একটি ব্যানার সেকশন যেখানে লেখা রয়েছে Let’s Code_ Your Carrier , এর নিচে স্ক্রল করলে আর ও অনেক গুলো সেকশন রয়েছে যা একজন ইউজার প্রবেশ করলেই দেখতে পারছে , এবং সাথে আর ও অনেক গুলো রাউট রয়েছে যেখানে লেখা আছে Course Details, Blog ইত্যাদি , সেগুলোর প্রবেশ করলে আপনি ভিন্ন ধরণের লুক এর কিছু ইন্টারফেস দেখতে পারছেন , এখানে বাটন থেকে শুরু করে ফর্ম , কালার , টেক্সট , লে আউট ইত্যাদি মিলে যে এই ইন্টারফেস টা ডেভেলপ হয়ছে এ টাকেই ফ্রন্ট এন্ড ডেভেলপমেন্ট বলা হয় ।অন্যদিকে আপনি যখন আমাদের সাইটে লগিন করবেন , কিছু ডাটা আপনাকে দিতে হবে যেমন ইউজার নেম ইমেইল পাস ইত্যাদি , ইউজার এর ক্রেডেনশিয়াল মেইন্টেইন করার হয় ব্যাক এন্ড এ থেকে , সকল লগিন প্রসেস গুলো ব্যাক এন্ড এর কাজ, আপনার ডাটা গুলো নিয়ে সার্ভার এর মাধ্যমে ডাটাবেস এ রাখা হচ্ছে যেন পরবর্তীতে লগিন করলে ডাটাবেস থেকে ইনফো নিয়ে ভ্যালিডেট করে আপনার আইডেন্টিটি কনফার্ম করে আপনাকে এক্সেস দেয়া যায় ।এছাড়াও আপনি যদি আমাদের কোর্সে এনরোল করে পেমেন্ট করেন সেট ডাটা গুলো হ্যান্ডেল করতে ব্যাক এন্ড ব্যাবহার করা হয় । মূলত কথা হচ্ছে ইউজার যা কিছু নিজে কোন সাইটে গেলে যে ইন্টারফেস দেখতে পাচ্ছে সেটিই ফ্রন্টএন্ড এর কাজ আর বাকি সকল ফিচার অথবা ডাটা নিয়ে কাজ গুলো সব ব্যাক এন্ড এর মাধ্যমে হ্যান্ডেল করা হয় ।
ফুল-স্ট্যাক ওয়েব ডেভেলপার হতে গেলে কি কি স্কিল প্রয়োজন হয়
একজন ফুল স্ট্যাক ডেভেলপার হতে গেলে অবশ্যই আপনাকে ফ্রন্টেন্ড এবং ব্যাকেন্ড রিলেটেড টেকনলজি গুলোতে ভাল দক্ষতা অর্জণ করতে হবে ,প্রথমে আপনাকে অবশ্যই জানতে হবে HTML ,
এটি হচ্ছে একটি মার্কাপ Language , আপনার সাইট এর গঠন এর প্রাথমিক কাজে এটি ব্যাবহার হয় যেমন ধরেন সাইটের বাটন, ফর্ম, লিঙ্কস, প্যারাগ্রাফ , লিষ্ট ইত্যাদিএরপর আপনাকে শিখতে হবে CSS,CSS stands for Cascading Style Sheets.আপনি কিছুক্ষণ আগে যে HTML গুলো লিখলেন সেগুলোকে স্টাইল করার জন্য CSS ব্যাবহার করা হয় , সাইটের কালার , লে আউট , এনিমেশন ইত্যাদি CSS দিয়ে করা হয়। এছাড়া সাইট রেসপন্সিভ করার জন্য CSS শেখা আবশ্যক।এরপর আপনাকে শিখতে হবে JavaScript,ওয়েব রিলেটেড কাজের জন্য JavaScript এর কোন তুলনা নেই , আপনি HTML CSS দিয়ে স্ট্যাটিক সাইট করে ফেলতে পারবেন , কিন্তু ইউজার যদি চায় সে একটি বাটন এ ক্লিক করলে কোন ফাংশনালিটি কাজ করবে, এই কাজের জন্য সর্বগ্রাসী JavaScript আপনাকে শিখতেই হবে । ইউজার এর এর সাথে সাইটের যে ইন্টারিক্টিভিটি সেটি এই JS দিয়ে করা হয় ।এছাড়া এনিমেশন , কাউন্ট ডাউন, মেনু ড্রপডাউন , হাইডিং / শোয়িং ইনফো বাই ক্লিক , ইত্যাদি কাজ করতে JS এর কোন বিকল্প নেই ।এরপর আপনাকে CSS এর কোন ফ্রেমওয়ার্ক শিখতে হবে লাইফ ইজি করার জন্য , আপনি row css লিখতে পারেন কিন্তু সেটি বড় প্রজেক্ট এ সময় সাপেক্ষ্য তাই আপনাকে Tailwind CSS / Bootstrap এই দুটির যেকোন একটি ভালভাবে শিখতে হবে। এটি ব্যাবহার এর সুবিধা হলো আপনাকে কিছু বিন্ড ইন কম্পনেন্ট অথবা ইউটিলিটি দিয়ে দিবে যেমন ফর্ম , আপনি শুধু তাদের দেয়া জিনিস কপি পেষ্ট করে নিজের মত সাজিয়ে নিলে, একদম শূন্য থেকে আপনাকে আর ফর্ম ডিজাইন করা লাগবেনা।এরপর আপনাকে শিখতে হবে JavaScript Library / Framework ,
এটিও আপনার লাইফ কে সহজ করে দিবে, কম সময়ে অনেক বেশী কাজ করার জন্য এগুলো বেশী ব্যাবহার করা হয় , আজকাল Library / Framework গুলো খুব ই জনপ্রিয় কারণ তারা কিছু কোড দিয়েই দিবে আপনাকে শুধু মেইন লজিকাল কোড গুলো এড করে আপনি ইজিলি অনেক কাজ সহজে করে ফেলতে পারেন যেটি Row JS দিয়ে করতে পারবেন প্রচুর সময় দরকার হবে।বর্তমানে React JS, Vue JS সব চেয়ে বেশী পপুলার ।আপনি JS ভালভাবে শিখতে পারলে , ডকুমেন্টটেশন দেখে সহজে শিখে ফেলতে পারেন যেকোন একটি ।
এরপর আপনাকে শিখতে হবে Database,
Database হচ্ছে এমন একটি যায়গা যেখানে আপনার প্রজেক্ট এর ডাটা গুলো রাখবেন এবং এডিট, ডিলিট, ক্রেট, রিড এই কাজ গুলো করতে পারবেন , জনপ্রিয় ডাটাবেস গুলো হলেSQL, MYSQL,PostgreSQL,MongoDB.এরপর আপনাকে শিখতে হবে Version Control (Github)আপনি অবশ্যই আপনার প্রজেক্ট গুলো কোড কোথাও স্টোর করতে চান , এবং কখন কোথাও কোন কোড চেঞ্জ হলো সেটি ট্র্যাক করতে চান তাহলে আপনাকে অবশ্যই Github বা অন্য যেকোন ভার্সন কন্ট্রোল ব্যাবহার করা শিখতে হবে ।
ব্যাকএন্ড ল্যাঙ্গুয়েজ
আপনাকে অবশ্যই কোন একটা ব্যাক এন্ড ল্যাঙ্গুয়েজ সিলেক্ট করতে হবে , অনেক ল্যাঙ্গুয়েজ এই ব্যাক এন্ড ফোকাস কোনটা সিলেক্ট করবেন সেটি ডিপেন্ড করে কি ধরণের কাজ করতে চাচ্ছেন । বর্তমানে জনপ্রিয় গুলো হলো JavaScript, PHP, PYTHON,JAVA etc .কিছু টেক স্ট্যাক খুব জনপ্রিয় এখন ডেভেলপার দের মধ্যে ।
কিছু জনপ্রিয় টেকনোলজি স্ট্যাক
MERN Stack:
- MongoDB: ডকুমেন্ট-ওয়েব বেইস ডাটাবেস।
- Express.js: নোড.জেএস এর জন্য একটি ওয়েব এপ্লিকেশন ফ্রেমওয়ার্ক।
- React: একটি কোম্পোনেন্ট-ভিত্তিক ফ্রন্টএন্ড লাইব্রেরি।
- Node.js: সার্ভার-সাইড জাভাস্ক্রিপ্ট এপ্লিকেশন রানটাইম।
MEAN Stack:
- MongoDB: একই ভাবে, ডকুমেন্ট-ওয়েব বেইস ডাটাবেস।
- Express.js: নোড.জেএস এর জন্য একটি ওয়েব এপ্লিকেশন ফ্রেমওয়ার্ক।
- Angular: একটি ক্লাইয়েন্ট-সাইড ফ্রেমওয়ার্ক।
- Node.js: সার্ভার-সাইড জাভাস্ক্রিপ্ট এপ্লিকেশন রানটাইম।
LAMP Stack:
- Linux: অপারেটিং সিস্টেম হিসেবে।
- Apache: ওয়েব সার্ভার।
- MySQL: রিলেশনাল ডাটাবেস সিস্টেম।
- PHP: সার্ভার-সাইড স্ক্রিপ্টিং ভাষা।
MEVN স্ট্যাক:
- MongoDB: ডকুমেন্ট-ওয়েব নোসিকিউএল ডাটাবেস।
- Express.js: নোড.জেএস এর জন্য একটি ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্ক।
- Vue.js: ব্যবহারকারী ইন্টারফেস তৈরি করার জন্য জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক।
- Node.js: সার্ভার-সাইড জাভাস্ক্রিপ্ট এপ্লিকেশন রানটাইম।
আপনাকে যদি ৬-৮ ঘন্টা সময় দিয়ে ধরে ধরে ডেইলি এই টপিক গুলো শিখতে পারেন, তাহলে আপনি ফিউচার এ নিজেকে জব এর জন্য নিজেকে প্রস্তুত মনে করতে পারেন ।
Leave a Reply
You must be logged in to post a comment.