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