বৃহস্পতিবার, ১৩ ফেব্রুয়ারি, ২০১৪

নতুনদের জন্য আরও নির্দেশনা

** যদিও শাব্দিক অর্থ ভিন্ন তবু ওয়েব ডিজাইন এবং ডেভেলপমেন্ট একি অর্থে ব্যাবহার করে এর শাব্দিক অর্থ লঙ্ঘন করা হচ্ছে।আপনি যদি বলেন আমি ওয়েব ডিজাইনার তাহলে ধরা হয় আপনি ডেভেলপমেন্ট এর কাজও জানেন।আসল অর্থ হল-ওয়েব ডেভেলপার=যে প্রোগ্রামার,কোডিং করে,অ্যাপ্লিকেশন তৈরী করে।আর ওয়েব ডিজাইনার=যে ডিজাইন করে,সাইটের বাহ্যিক রুপ কেমন হবে তা তৈরী করে,কোডিং করেনা।
প্রত্যেক ওয়েব ডেভেলপার এর নিচের বিষয়গুলি জানা উচিৎ
  • কিভাবে www কাজ করে
  • এইচটিএমএল
  • সিএসএস
  • জাভাস্ক্রিপ্ট
  • এক্সএমএল
  • সার্ভার স্ক্রিপ্টিং ল্যাংগুয়েজ
  • SQL দিয়ে ডেটাবেস বানানো

WWW - World Wide Web

WWW হচ্ছে একটা কম্পিউটার নেটওয়ার্ক যা সারা বিশ্বে ছড়ানো। WWW কেই বলা হয়ে থাকে Web.
এই ওয়েবে কম্পিউটারগুলো একটি অপরটির সাথে কিছু নিয়ম ও ভাষা ব্যাবহার করে যোগাযোগ করে থাকে।
W3C (The World Wide Web Consortium) এই ভাষা  এবং নিয়মগুলো তৈরী করে যাচ্ছে।

এইচটিএমএল- ওয়েবের ভাষা

এইচটিএমএল হচ্ছে ওয়েবের ভাষা, প্রত্যেক ওয়েব ডেভেলপারকে এর মৌলিক বিষয়াদি জানা চাই।
এইচটিএমএল এ  "markup tags" ব্যাবহার করা হয় ওয়েব পেজের লেআউট ও কনটেন্ট তৈরীর জন্য।
এইচটিএমএল tag <h1> ইংগিত করে এটা একটা header,এবং <p> একটা Paragraphp কে ইংগিত করে।

সিএসএস- ক্যাশক্যাডিং স্টাইল শিট

এটা দিয়ে এইচটিএমএল page কিভাবে দেখাবে তা ঠিক করা যায়।
যখন সিএসএস কোড গুলি আলাদা ভাবে সেভ করবেন তখন শুধু এই একটি ডকুমেন্ট এডিট করে পুরো এইচটিএমএল  পেজ চেহারা নিজের মত করে বদলে দিতে পারবেন।এই কাজ যদি এইচটিএমএল পেজে করতে হত তাহলে অনেক সময় বেশি লাগত এবং প্রতিটি পেজেই কোডগুলি লিখতে হত।

জাভাস্ক্রিপ্ট- ক্লাইন্ট সাইড স্ক্রিপ্টিং

জাভাস্ক্রিপ্ট ক্লাইন্ট সাইড স্ক্রিপ্টিং (ব্রাউজার স্ক্রিপ্টিং) এর জন্য ব্যাবহৃত হয়।এটা দিয়ে পেজে ডাইনামিক কনটেন্ট যোগ করতে পারবেন।
একটা জাভাস্ক্রিপ্ট statement দেখতে এমন: document.write("<p>" + date + "</p>")

এক্সএমএল- এক্সটেনসিবল মার্কআপ ল্যাংগুয়েজ

এটা এইচটিএমএল এর পরিবর্তে ব্যাবহৃত হয় এমন নয় বরং এটা ডেটা বহন ও সংরক্ষন এর জন্য।

সার্ভার সাইড স্ক্রিপ্টিং

সার্ভার সাইড স্ক্রিপ্টিং হচ্ছে "programming" ওয়েব সার্ভারের জন্য।
পূর্নাঙ্গ ডাইনামিক কনট্ন্টে তৈরীর জন্য এটা জানতে হবে।Server-side scripting দ্বারা আপনি ডেটাবেস থেকে ডেটা তুলে এনে এইচটিএমএল page দেখাতে পারেন।(অনেক কাজের মধ্যে এটা একটা)

SQL দিয়ে ডেটাবেস বানানো

Structured Query Language (SQL) দিয়ে যেকোন ডেটাবেসে একসেস নিতে পারেন যেমন MySQL,Oracle ইত্যাদি।
এটা এমন একটা ইন্জিন যেটা দিয়ে ওয়েবে ডেটাবেসের সাথে তথ্য বিনিময় করা যায়।



জুমলা,ওয়ার্ডপ্রেস,ড্রুপাল এসব কি?

এসব হচ্ছে CMS (Content Management System) এখানে সাধারনত সবকিছু তৈরী করা থাকে(PHP MySQL দিয়ে) আপনি শুধু নিজের মত করে এডিট করবেন।আপনি যদি কোন প্রোগ্রামিং ল্যাংগুয়েজ নাও জানেন তবুও এসব দিয়ে ডাইনামিক সাইট তৈরী করতে পারেন তবে যে প্রোগ্রামিং ল্যাংগুয়েজ জানে সে এর কোড এডিট করে যত সুন্দর করতে পারবে আপনি তা পারবেননা।

নতুনদের জন্য আরও নির্দেশনা

** যদিও শাব্দিক অর্থ ভিন্ন তবু ওয়েব ডিজাইন এবং ডেভেলপমেন্ট একি অর্থে ব্যাবহার করে এর শাব্দিক অর্থ লঙ্ঘন করা হচ্ছে।আপনি যদি বলেন আমি ওয়েব ডিজাইনার তাহলে ধরা হয় আপনি ডেভেলপমেন্ট এর কাজও জানেন।আসল অর্থ হল-ওয়েব ডেভেলপার=যে প্রোগ্রামার,কোডিং করে,অ্যাপ্লিকেশন তৈরী করে।আর ওয়েব ডিজাইনার=যে ডিজাইন করে,সাইটের বাহ্যিক রুপ কেমন হবে তা তৈরী করে,কোডিং করেনা।
প্রত্যেক ওয়েব ডেভেলপার এর নিচের বিষয়গুলি জানা উচিৎ
  • কিভাবে www কাজ করে
  • এইচটিএমএল
  • সিএসএস
  • জাভাস্ক্রিপ্ট
  • এক্সএমএল
  • সার্ভার স্ক্রিপ্টিং ল্যাংগুয়েজ
  • SQL দিয়ে ডেটাবেস বানানো

WWW - World Wide Web

WWW হচ্ছে একটা কম্পিউটার নেটওয়ার্ক যা সারা বিশ্বে ছড়ানো। WWW কেই বলা হয়ে থাকে Web.
এই ওয়েবে কম্পিউটারগুলো একটি অপরটির সাথে কিছু নিয়ম ও ভাষা ব্যাবহার করে যোগাযোগ করে থাকে।
W3C (The World Wide Web Consortium) এই ভাষা  এবং নিয়মগুলো তৈরী করে যাচ্ছে।

এইচটিএমএল- ওয়েবের ভাষা

এইচটিএমএল হচ্ছে ওয়েবের ভাষা, প্রত্যেক ওয়েব ডেভেলপারকে এর মৌলিক বিষয়াদি জানা চাই।
এইচটিএমএল এ  "markup tags" ব্যাবহার করা হয় ওয়েব পেজের লেআউট ও কনটেন্ট তৈরীর জন্য।
এইচটিএমএল tag <h1> ইংগিত করে এটা একটা header,এবং <p> একটা Paragraphp কে ইংগিত করে।

সিএসএস- ক্যাশক্যাডিং স্টাইল শিট

এটা দিয়ে এইচটিএমএল page কিভাবে দেখাবে তা ঠিক করা যায়।
যখন সিএসএস কোড গুলি আলাদা ভাবে সেভ করবেন তখন শুধু এই একটি ডকুমেন্ট এডিট করে পুরো এইচটিএমএল  পেজ চেহারা নিজের মত করে বদলে দিতে পারবেন।এই কাজ যদি এইচটিএমএল পেজে করতে হত তাহলে অনেক সময় বেশি লাগত এবং প্রতিটি পেজেই কোডগুলি লিখতে হত।

জাভাস্ক্রিপ্ট- ক্লাইন্ট সাইড স্ক্রিপ্টিং

জাভাস্ক্রিপ্ট ক্লাইন্ট সাইড স্ক্রিপ্টিং (ব্রাউজার স্ক্রিপ্টিং) এর জন্য ব্যাবহৃত হয়।এটা দিয়ে পেজে ডাইনামিক কনটেন্ট যোগ করতে পারবেন।
একটা জাভাস্ক্রিপ্ট statement দেখতে এমন: document.write("<p>" + date + "</p>")

এক্সএমএল- এক্সটেনসিবল মার্কআপ ল্যাংগুয়েজ

এটা এইচটিএমএল এর পরিবর্তে ব্যাবহৃত হয় এমন নয় বরং এটা ডেটা বহন ও সংরক্ষন এর জন্য।

সার্ভার সাইড স্ক্রিপ্টিং

সার্ভার সাইড স্ক্রিপ্টিং হচ্ছে "programming" ওয়েব সার্ভারের জন্য।
পূর্নাঙ্গ ডাইনামিক কনট্ন্টে তৈরীর জন্য এটা জানতে হবে।Server-side scripting দ্বারা আপনি ডেটাবেস থেকে ডেটা তুলে এনে এইচটিএমএল page দেখাতে পারেন।(অনেক কাজের মধ্যে এটা একটা)

SQL দিয়ে ডেটাবেস বানানো

Structured Query Language (SQL) দিয়ে যেকোন ডেটাবেসে একসেস নিতে পারেন যেমন MySQL,Oracle ইত্যাদি।
এটা এমন একটা ইন্জিন যেটা দিয়ে ওয়েবে ডেটাবেসের সাথে তথ্য বিনিময় করা যায়।



জুমলা,ওয়ার্ডপ্রেস,ড্রুপাল এসব কি?

এসব হচ্ছে CMS (Content Management System) এখানে সাধারনত সবকিছু তৈরী করা থাকে(PHP MySQL দিয়ে) আপনি শুধু নিজের মত করে এডিট করবেন।আপনি যদি কোন প্রোগ্রামিং ল্যাংগুয়েজ নাও জানেন তবুও এসব দিয়ে ডাইনামিক সাইট তৈরী করতে পারেন তবে যে প্রোগ্রামিং ল্যাংগুয়েজ জানে সে এর কোড এডিট করে যত সুন্দর করতে পারবে আপনি তা পারবেননা।

ওয়েব ডিজাইন এবং ডেভেলপমেন্ট টিউটোরিয়াল

ওয়েব ডিজাইন কি          

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

ওয়েব ডিজাইন শিখতে যেসব জানতে হবে

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

যেভাবে ওয়েব ডিজাইন শিখবেন

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

ওয়েব ডেভেলপমেন্ট কি

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

ওয়েব ডেভেলপমেন্ট শিখতে যেসব জানতে হবে

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

যেভাবে ওয়েব ডেভেলপমেন্ট শিখবেন

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