Have an account? Sign in

ওয়েব ফ্রেমওয়ার্ক পরিচিতি

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

জ্যাঙ্গোর ডেভেলপাররা আগে বড় বড় নিউজমিডিয়া বা পত্রিকার জন্য ওয়েবসাইট তৈরি করে দিতো। একদিন কাজ করতে গিয়ে তারা হঠাৎ করে খেয়াল করলো যে, "আরে! দৈনিক অমুক পত্রিকার ওয়েবসাইট আর দৈনিক তমুক পত্রিকার ওয়েবসাইটের কোডের প্রায় ৯০%-ই একইরকম!" অর্থাৎ, তারা নতুন নতুন ওয়েবসাইট তৈরি করতে গিয়ে বোকার মত একই কোড বার বার লিখছিল।

তখন তাদের মাথায় একটা সাংঘাতিক আইডিয়া এসে গেল! "আচ্ছা, আমরা যদি এমন একটা "জিনিস" বানাই যাতে বারবার আমাদের গাধার মত একই কোড লিখতে না হয়, একবার লিখে ফেলবো এবং দরকারমত বিভিন্ন প্রজেক্টে ওই জিনিসটা ব্যবহার করবো!" ইউরেকা! এরকম চিন্তাভাবনা থেকেই জন্ম নেয় জ্যাঙ্গো ওয়েব ফ্রেমওয়ার্কের।

ফ্রেমওয়ার্ক নিলে আমার লাভ কি?

আপনি জিজ্ঞেস করতে পারেন, ফ্রেমওয়ার্ক কেন ব্যবহার করবো? কয়েকটি সোজা উদাহরণ দিয়ে বুঝিয়ে দিচ্ছি! যেমন ধরুন আপনি একটি ব্লগ বানাবেন, নিজে কোড করে ব্লগ বানাবেন ভাব মারার পাশাপাশি আপনার বদের হাড্ডি ছোট ভাইটা ওয়ার্ডপ্রেস বা অন্য কোন সিএমএসের নিরাপত্তার দুর্বলতা জেনে ব্লগের সামনে বিশাল "হ্যাক করছি" নোটিশ যাতে না দিতে পারে।

ধরি আপনি প্লেইন পাইথন বা প্লেইন পিএইচপিতে বা অন্য কোন ভাষার কোন ওয়েব ফ্রেমওয়ার্ক ব্যবহার না করে লিখবেন। তাহলে আপনার কাজের লিস্টি মোটামুটি...

  1. ডাটাবেজের সঙ্গে সংযোগ দেয়া

  2. ডাটাবেজে SQL লিখে টেবিল তৈরি করা

  3. টেবিলে ডাটা INSERTUPDATE করানোর জন্য অ্যাডমিন ইন্টারফেস (যেখানে ব্লগ পোস্ট লিখবেন, আপডেট করবেন) তৈরি করা

  4. সাইট সুরক্ষিত রাখতে সিকিউরিটি নিশ্চিত করা; CSRF, XSS... প্রটেকশন দেয়া।

  5. ডাটাবেজের ডাটা SELECT করে সাইটের ভিজিটরদের জন্য সুন্দর ফ্রন্টএন্ড (সাইটের যে অংশ ভিজিটররা দেখবে) তৈরি করা

ঘামতে শুরু করেছেন? ঘামা ভালো, ঘামের সঙ্গে নাকি শরীরের বর্জ্য বেড়িয়ে যায়। তবে, অতিরিক্ত ঘামা শরীরের জন্য খারাপ! তাই এখনই বলে ফেলছি, ওপরের ছয়টি কাজের প্রত্যেকটিই জ্যাঙ্গো স্বয়ংক্রিয়ভাবে করতে আপনাকে যথেষ্ট পরিমাণে সহায়তা করবে। জ্যাঙ্গোকে বলে দিন, ডাটাবেজের নাম, ঠিকানা, পোর্ট নম্বর, ইউজারনেম আর পাসওয়ার্ড - সে নিজেই কানেক্ট করে নিবে যখন প্রয়োজন।

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