আর্টিকেলে ওয়েব ডেভলপমেন্ট সম্পর্কে সুবিস্তর ধারনা দেবার চেষ্টা করবো।
Contents
ওয়েবসাইট কি?
আপনি এখন ফেসবুকে লেখাটি পড়ছেন, এটাই একটি ওয়েবসাইট। এরকম আরো অনেক ওয়েব সাইট আছে পৃথিবীতে। আপনি কোন কিছু লিখে গুগলে সার্চ করলে যে লিঙ্ক গুলো দেখায় তা সবগুলো এক একটি ওয়েব সাইট এমনকি গুগলও একটি ওয়েবসাইট। ওয়েবসাইট হলো কতগুলো ফাইল বা ওয়েব পেজের সমষ্টি। বিভিন্ন প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করে ওয়েব সাইট তৈরী করা হয়। যে ওয়েব সাইট তৈরী করেন তাকে বলা হয় ডেভলপার। শুধু ওয়েবসাইট তৈরী করলেই হয় না এটি মানুষের কাছে পৌছানোর জন্য ডোমেইন এবং হোস্টিং এর প্রয়োজন পরে।
ওয়েব ডিজাইন কি?
আপনি এখন ফেসবুক ইউজ করছেন। উপরের দিকে লক্ষ্য করুন দেখবেন কয়েকটি আইকন, ফেসবুকের লোগো রয়েছে। পাশে একটি সার্চ বার রয়েছে। এছাড়াও এ পোস্টটি যে পড়ছেন এটি সাজানো রয়েছে নিচের দিকে লাইক, কমেন্ট এবং শেয়ারের অপশন রয়েছে। এই লোগো, আইকন, লেখা, ছবি, অডিও, ভিডিও ইত্যাদি গুলো সাজানোই হচ্ছে ওয়েব দিজাইন। একেকটি ওয়েব সাইটের ডিজাইন একেক রকম হয়। কারন ঐ ওয়েব সাইটের কাজ অনুযায়ী সেটিকে ডিজাইন করা হয়। যিনি ওয়েব ডিজাইন করেন তাকে ওয়েব ডিজাইনার বলা হয়।
ওয়েব ডেভলপমেন্ট কি?
একটি ওয়েব সাইটের প্রাণ সঞ্চারন করা হয় ডেভলপমেন্টের মাধ্যমে। আপনি এখন যে ফেসবুক ব্যবহার করছেন এখানে লাইক বাটনে ক্লিক করলে একটি লাইকের সংখ্যা বেড়ে যাবে। আবার কমেন্ট করলে আপনার নাম ছবি সহ কমেন্টটি দেখা যাবে। এসব কার্যপ্রণালী হচ্ছে ডেভলপমেন্টের ফল। এক কথায় ওয়েব ডিজাইন গুলোকে প্রাণ দেওয়াই হচ্ছে ওয়েব ডেভলপমেন্ট।
ওয়েব সাইটের ধরনঃ
ওয়েব সাইট মূলত ০২ ধরনের হয়ে থাকে – স্ট্যাটিক এবং ডাইনামিক। আমাদের যেসব ওয়েব পেজের কোন কিছু সংযুক্ত, সম্পাদনা বা বাতিল করতে মূল কোডের পরিবর্তন করতে হয় সেগুলো Static Website. আবার যেসব ওয়েব পেজের কোন কিছু সংযুক্ত, সম্পাদনা বা বাতিল করতে মূল কোডের পরিবর্তন করতে হয় না তাকে Dynamic Website বলে। যেমন ফেসবুকের কথাই ধরুন, আমরা চাইলে আমাদের প্রোফাইল, যেকোন পোস্ট Edit, Delete ইত্যাদি করতে পারি। মূলত এই ওয়েব সাইটটি ডাইনামিক হওয়াতে আমরা তা করতে পারছি।
ওয়েব ডেভলপারের ধরনঃ
• Front End Web Developer
• Back End Web Developer
• Full-Stack Web Developer
ফ্রন্ট ইন্ড ওয়েব ডেভলপারঃ এ ধরনের ডেভলপাররা শুধুমাত্র একটি ওয়েব সাইটের বাইরের অংশকে ডিজাইন করে।
ব্যাক ইন্ড ওয়েব ডেভলপারঃ একজন ফ্রন্ট ইন্ড ডেভলপারের ডেভলপ করা সাইটে প্রান সঞ্চার করা ব্যাক ইন্ড ডেভলপারের কাজ। ফ্রন্ট ইন্ড ডেভলপারের কাজের উপর ভিত্তি করে ব্যাকইন্ড ডেভলপার ওয়েব সাইটটিকে ডেভলপ করে থাকে। এজন্য একজন ব্যাকইন্ড ডেভলপারকে ফ্রন্ট ইন্ড ডেভলপমেন্ট সম্পর্কে জ্ঞান রাখতে হয়।
ফুল স্ট্যাক ডেভলপারঃ আমি এই ধরনের ডেভলপারকে আলু বলে থাকি। কারন আলু সব তরকারিতে খাওয়া যায়। তেমনি এধরনের ডেভলপাররা ফ্রন্টইন্ড এবং ব্যাকইন্ড দুটোই ডেভলপ করে থাকে
ওয়েব ডেভলাপার হতে হলে যা যা থাকতে হবে
ওয়েব ডেভলপমেন্ট শেখা আজ শুরু করলাম ২ দুই দিনে শেষ। এমন কিছু না। এটি শেখা সময় সাপেক্ষ ব্যপার। তবে অসাধ্য কিছুই না। সময় নিয়ে বেশি বেশি প্রাক্টিস করার মাধ্যমে আপনিও হয়ে উঠতে পারেন একজন দক্ষ ওয়েব ডেভলপার। একজন ডেভলপার হতে হলে আপনার কি কি থাকতে হবে তা নিচে আলোচনা করছি-
কম্পিউটারঃ ইন্টারনেট কানেকশন যুক্ত একটি কম্পিউটার লাগবে। এখন বলতে পারেন আপনার কোন কম্পিউটার নেই আপনি কি করবেন? হতাশ হবে না আপনার শেখার জার্নিটা মোবাইল ফোন দিয়েই শুরু করে দিতে পারেন।
সফটওয়্যার বা টুলসঃ VS code, Notepad++ এ জাতীয় যেকোন একটি টেক্সট ইডিটরের ব্যবহার আপনাকে জানতে হবে। ফটোশপ সম্পর্কে ধারনা থাকলে আরো ভালো । কারন কাজের মাঝে কোন কিছু ইডিটিং এর প্রয়োজন পড়তে পারে।
আপনার ইচ্ছাঃ একজন ওয়েব ডেভলপার হতে হলে প্রচুর ইচ্ছা শক্তি থাকতে হবে। সেই সাথে কাজের সাথে লেগে থাকার মানসিকতা লাগবে।
আপনার সময়ঃ শেখা এবং প্রাক্টিসের জন্য আপনার হাতে পর্যাপ্ত সময় থাকতে হবে। কাজ করতে বসলেন ঐ সময় কোন চুমকির মেসেজে আপনার ফোনটি টুং করে উঠল আর আপনি মেসেঞ্জারে ব্যাস্ত হয়ে গেলেন বা পাশের বাড়ীর ভাবির বিড়াল ছানাকে দেখতে গেলেন। তাহলে হবে না ভাই। আপনাকে লেগে থাকতে হবে। দৈনিক ৬/৮ ঘন্টা কাজ করার মানসিকতা থাকতে হবে।
আপনার ইচ্ছা ও সময় যদি থাকে তাহলে আজ থেকেই লেগে পড়ুন ওয়েব ডেভলপার হবার মিশনে। এই মিশনে আপনার প্রথম কাজ হবে গুগল মামা ও ইউটিউব এ সার্চ করে দেখুন এবং ওয়েব ডেভলপমেন্ট সম্পর্কে বিশদ ধারনা অর্জন করুন। এই সব করার পর যদি আপনার কোডিং এর প্রতি ভালোবাসা জন্মায় তাহলে আপনি ঝাপিয়ে পড়ুন।
কিভাবে শিখব
এখন কথা হচ্ছে ঝাপিয়ে তো পড়লাম এখন কিভাবে শিখবো বা কি শিখবো? আপনার মনে এই প্রশ্নটি আসতেই পারে। আমি বলবো আপনি নিচের বিষয় গুলো সিরিয়াল অনুযায়ী শেখা শুরু করে দিন।
ধাপ-১- মার্ক আপ ল্যাঙ্গুয়েজ শেখাঃ এ জার্নির প্রথম ধাপ হচ্ছে মার্ক আপ ল্যাঙ্গুয়েজ হিসেবে HTML (Hyper Text Markup Language) শেখা। HTML দিয়ে একটি ওয়েব সাইটের কাঠামো তৈরি করা হয়। একটি ওয়েব ডকুমেন্টের হেডার কোথায় হবে, ফুটার কোথায় হবে, সাইড বার কোথায় থাকবে, মূল কন্টেন্ট গুলো কোথায় থাকবে তা HTML দিয়ে নির্ধারন করা হয়। সুতরাং আপনাকে HTML শিখতেই হবে। এটি শিখতে আপনি এক সপ্তাহের মতো টাইম নিবেন।
ধাপ-২-CSS: আমরা সবাই সুন্দরের পূজারী। তাই আমাদের ওয়েব ডকুমেন্ট মেকাপ করার জন্য CSS (Cascading Style Sheets) শিখতে হবে। মার্কাপ ল্যাঙ্গুয়েজ দিয়ে তৈরী ডকুমেন্টটি কংকালের সাথে তুলনা করা যায়। আর এই কংকালকে দৃষ্টি নন্দন করার কাজটি করে সি এস এস।
ধাপ-৩- রেসপন্সিভ ডিজাইনঃ আমরা বিভিন্ন সময় বিভিন্ন স্ক্রিন সাইজের ডিভাইসে ওয়েব সাইট ব্রাউজ করি। ওয়েবসাইট যদি কম্পিউটারের জন্য শুধু তৈরি করা হয় তাহলে সেটি মোবাইল দিয়ে ভিজিট করলে ঠিকঠাক দেখাবে না। বিভিন্ন ধরনের ডিভাইসে যাতে ওয়েব সাইটের কন্টেন্ট গুলো সুসজ্জিতভাবে দেখায়, সে জন্য রেসপন্সিভ ডিজাইন করা হয়।
ধাপ-৪- CSS Framework: এখন আমাদের একটি সিএসএস এর ফ্রেমওয়ার্ক শেখা উচিত। এমতাবস্থায় আপনি Bootstrap শিখতে পারেন। Bootstrap একটি জনপ্রিয় ফন্ট ইন্ড ফ্রেমওয়ার্ক। খুব অল্প সময়ে আপনি Bootstrap ব্যবহার করে চমৎকার ডিজাইন করে ফেলতে পারবেন। সিএসএস দিয়ে যদি আপনার একটি ডিজাইন করতে ১ ঘন্টা সময় লাগে আপনি তা Bootstrap দিয়ে ১০-২০ মিনিটে করে ফেলতে পারবেন। এমনকি Bootstrap দিয়ে খুব সহজে রেসপন্সিভ ডিজাইন করে ফেলা যায়।
ধাপ-৫-প্রোগ্রামিং ল্যাঙ্গুয়েজঃ প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসেবে আপনি JavaScript শিখতে পারেন। JavaScript দিয়ে ওয়েবসাইটের ইন্টর এক্টিভ করা হয়। উদাহরনস্বরূপ- ফেসবুকে আপনার পোস্টে কেউ যখন লাইক বা কমেন্ট করে তখন আপনার কাছে একটি নোটিফিকেশন আসে। একটিকে বলা হয় ইন্টর এক্টিভ। ওয়েব সাইটকে ফাংশনাল করার জন্য প্রোগ্রামিং ল্যাঙ্গুয়েজ শেখারী।
ধাপ-৬-React Js: এটি হচ্ছে জাভাস্ক্রিপ্টের জন্যপ্রিয় একটি লাইব্রেরি। এটি দিয়ে একটি ওয়েব সাইটের ইউজার ইন্টারফেস তৈরি করা হয়। এটি এক পেজের আপ্লিকেশন এবং মোবাইল আপ্লিকেশন তৈরির জন্য খুবই উপকারি।
ধাপ-৭- Git and GitHub: আমরা কাজ শেখার পর বিভিন্ন প্রজেক্ট করবো। এবং সেসব সংরক্ষণের নিমিত্তে গিট এবং গিটহাব শেখা জরুরী। গিট হচ্ছে একটি সফটওয়ার ভার্সন কন্ট্রোল সিস্টেম। আপনার ওয়েব সাইটের ভার্সন আপডেট করার জন্য আপনাকে গিট শিখতে হবে। এছাড়াও আপনি গিট হাবে আপনার কোডগুলো সংরক্ষণ করতে পারবেন।
পরিশেষে
আপনি যদি এতটুকু শেখা শেষ করতে পারেন তাহলে আপনাকে অভিনন্দন। আপনি একজন ফ্রন্ট ইন্ড ওয়েব ডেভলপার। এটি ভালোভাবে রপ্ত করে আপনি ব্যাকইন্ড ডেভলমেন্ট শিখতে পারেন। জার্নি টা অতোটাও সহজ হবেনা এবং খুব দ্রুত ও হবেনা। আপনার মনোবল ধরে রেখে শিখে যেতে হবে । তাহলে আপনি সফল হতে পারবেন।
আপনার ডেভলপমেন্ট জার্নি সফল হোক। আপনার জন্য অনেক অনেক শুভ কামনা।