সহজেই ফ্রেমওয়ার্ক ও জাভাস্ক্রিপ্ট শেখার পরিপূর্ণ গাইড লাইন

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

জাভাস্ক্রিপ্ট শেখার কিছু টিপসঃ

-জাভাস্ক্রিপ্ট শিখতে চাইলে আপনার অবশ্যই HTML আর CSS সম্পর্কে কিছু ধারণা রাখা দরকার । অনেকের মনে প্রশ্ন জাগতে পারে জাভাস্ক্রিপ্ট একটা স্বতন্ত্র প্রোগ্রামিং ল্যাঙ্গুয়েজ( আসলে স্ক্রিপ্টিং ল্যাঙ্গুয়েজ )হওয়া সত্ত্বেও এটা শিখতে হলে কেন আগে HTML, CSS শিখতে হবে। প্রশ্নটা যুক্তিসঙ্গত হলেও যারা জাভাস্ক্রিপ্ট শেখার প্রয়োজনীয়তা সম্পর্কে জানেন তাদেরকে আর এই বিষয়ে কোনো ব্যাখ্যা দেয়ার প্রয়োজন হবে না।তাছাড়া যেহেতু আমি এখানে জাভাস্ক্রিপ্ট শেখার গাইড লাইন নিয়ে লিখতে বসেছি তাই আমি HTML,CSS নিয়ে বিস্তারিত লেখার প্রয়োজন মনে করছিনা।তবে জাভাস্ক্রিপ্ট শিখতে হলে HTML,CSS সম্পর্কে অবশ্যই প্রাথমিক ধারণা রাখতে হবে। কিন্তু কেউ যদি জাভাস্ক্রিপ্ট নিয়ে দক্ষ হতে চাই তখন অবশ্যই তার HTML, CSS এর মোটামুটি সকল ট্যাগ ব্যবহার করার দক্ষতা থাকতে হবে।আসলে HTML, CSS এর ট্যাগের সংখ্যা এত বেশী যে মানুষের নিউরন সেলে এতগুলো ট্যাগ এর তথ্য ধরে রাখা অসম্ভব।তাছাড়া প্রত্যেকটা ট্যাগের( বেশিরভাগ ) অনেকগুলো property, method এবং value থাকে যেগুলো ভিন্ন ভিন্ন ফলাফল দিয়ে থাকে। আবার কিছু ট্যাগ আছে যাদের কাজ প্রায় একইরকম, সেক্ষেত্রে উপযুক্ত ট্যাগ নির্বাচন করা অত্যন্ত জরুরি। কারণ আপাত দৃষ্টিতে ট্যাগগুলো একইমনে হলেও প্রকৃত অর্থে তাদের কাজ করার পদ্ধতি ভিন্ন।তাছাড়া আপনাকে সবসময় SEO( Search Engine Optimization ) এর ব্যপারটিও মাথায় রাখতে হবে।কারণ অনেক ট্যাগ আছে যেগুলো SEO এর জন্য মোটেই ভালো নয়,একজন ভালো ডেভেলপার হতে চাইলে আপনাকে অবশ্যই প্রত্যেকটি বিষয় মাথায় রেখে কাজ করতে হবে।

ফ্রেমওয়ার্ক ও জাভাস্ক্রিপ্ট

## HTML, CSS যেমন অসংখ্য ট্যাগ নিয়ে কাজ করে তেমনি জাভাস্ক্রিপ্টেরও অসংখ্য function, method, property ইত্যাদি আছে।তাই বিষয়গুলো সহজে বোঝার জন্য HTML, CSS এর মতোই একে reference language হিসেবে শিখতে হবে। যারা C ল্যাঙ্গুয়েজ এর সাথে পরিচিত তারা খুব সহজেই এর প্রাথমিক ব্যপারগুলো বুঝতে পারবেন।তাই আমি বলব যেকোনো প্রোগ্রামিং ল্যাঙ্গুয়েজ অথবা স্ক্রিপ্টিং ল্যাঙ্গুয়েজ শেখার আগে C এর অন্তত প্রাথমিক অর্থাৎ মৌলিক বিষয়গুলো সম্পর্কে ধারণা নেয়া উচিত।কারণ C হচ্ছে “Mother of all Programming Language”। জাভাস্ক্রিপ্ট শেখা শুরু করা মানে প্রোগ্রামিং এর দুনিয়ায় পদার্পণ করা অথচ প্রোগ্রামিং কি তাও যদি আপনি ভালোভাবে বুঝতে না পারেন তাহলে পদে পদে আপনাকে সমস্যায় পড়তে হবে, সেক্ষেত্রে বিরক্ত হয়ে হয়তো শেখাটা বাদ দিয়ে দিবেন, এটাই স্বাভাবিক( আমি নিজেও একই পরিস্থিতির শিকার )। প্রোগ্রামিং জিনিসটা কি তা ভালোভাবে নিজ থেকেই বুঝতে হবে আর এর জন্য শ্রেষ্ঠ উপায় হল অন্তত এক মাস C নিয়ে ঘাটাঘাটি করা। নিয়মিত চর্চার ফলে আপনার নিজের ভিতরেই প্রোগ্রামিং এর একটা সহজ, ত্রিমাত্রিক সংজ্ঞা তৈরি হবে এবং একসময় আপনি প্রোগ্রামিং এর মৌলিক ব্যপারগুলো বুঝতে পারবেন। তাছাড়া জাভাস্ক্রিপ্ট হচ্ছে একটি Object Oriented Programming Language( OOP ), যেসকল ল্যাঙ্গুয়েজ object নিয়ে কাজ করে তাদেরকে Object Oriented বলা হয়। প্রোগ্রামিং বা স্ক্রিপ্টিং ল্যাঙ্গুয়েজ সাধারণত দুই প্রকার- action বা function oriented( C, Fortran ইত্যাদি ) আর object oriented( C++, Java, Javascript, Python, PHP, Ruby, Objective C, C# ইত্যাদি ) । শেষেরটা function কে নিয়ে কাজ করে। যেকোনো OOP ল্যাঙ্গুয়েজ শেখার আগেই AOP ল্যাঙ্গুয়েজ শিখে নেয়া উচিত।কারণ, OOPখুবই জটিল বিষয়,কখনো কখনো কোডগুলোর অর্থ শতভাগ ও বুঝতে পারবেননা।ফলশ্রুতিতে কর্মক্ষেত্রে আপনাকে বিভিন্ন সমস্যার সম্মুখীন হতে হবে এবং আপনার আত্মবিশ্বাসও অনেকটা কমিয়ে দেবে।

এখানে দুটি কথা অবশ্যই বলে রাখা দরকার।প্রথমত, C ভালোভাবে শিখতে হলে আপনাকে কমপক্ষে ছয়মাস সময় দিতে হবে।যেহেতু আপনি জাভাস্ক্রিপ্ট শিখতে চাচ্ছেন আর এটাই আপনার মুখ্য উদ্দেশ্য তাই আপনার C ল্যাঙ্গুয়েজ এর উপর বেসিক ধারণা থাকেলই চলবে আর এর জন্য এক মাসের বেশি লাগার কথা নয়। দ্বিতীয়ত,HTML, CSS কে দয়া করে প্রোগ্রামিং ল্যাঙ্গুয়েজ এর দলে ফেলবেন না,কারণ এদের প্রথমটি হচ্ছে markup ল্যাঙ্গুয়েজ আর দ্বিতীয়টি হচ্ছে markup করার পর এর স্টাইল দেয়ার জন্য।তবে এটাও ঠিক যে এদেরকে সার্বজনীনভাবে “স্ক্রিপ্টিং ল্যাঙ্গুয়েজ” বলা হয়।

আর হ্যাঁ C শিখতে আপনার যতটুকু আনন্দ পাবার কথা জাভাস্ক্রিপ্ট শিখতে তার সিকিভাগও পাবেন না বরং বিরক্ত হবেন । তাই প্রথমে C শিখে জাভাস্ক্রিপ্ট শেখার সময়টাকে রিডিউস করে নেয়াই ভালো। C শেখাটা আপনার শখও হতে পারে কিন্তু জাভাস্ক্রিপ্ট আপনি শিখবেন প্রফেশনাল কাজ করার উদ্দেশ্যে।

## একেবারে প্রথমেই আমি HTML, CSS কে কিভাবে reference এর ভিত্তিতে সহজে ব্যবহার করা যায় তা বলার চেষ্টা করেছি, যদিও আমার জাভাস্ক্রিপ্ট নিয়ে লেখার কথা। এর কারণ Document Object Model ( DOM ) নামের একটা ব্যপার আছে যেটা স্ক্রিপ্টিং ল্যাঙ্গুয়েজ( জাভাস্ক্রিপ্ট হতে হবে এমন কোনো কথা নাই )এর সাথে একত্রিত হয়ে কাজ করে। এর সাহায্যে HTML এর যেকোনো ট্যাগ কে object হিসেবে ধরে নিয়ে কাজ করলে জটিল কাজগুলোর সমাধান খুব সহজেই পাওয়া যায়।

## Referencee এর ভিত্তিতে শিখলে শেখাটা অনেক সহজ হয়ে যায়। প্রথমেই বলে নেই reference শব্দটির দ্বারা আমি আসলে কি বুঝাতে চেয়েছি। জাভাস্ক্রিপ্ট কিংবা অন্য যেকোনো কিছুশেখার সময় আপনি অবশ্যই বিভিন্নরকম বই পড়বেন বা অনলাইনে বিভিন্ন ওয়েবসাইটের শরণাপন্ন হবেন?এখানেreference বলতে আমি এইসব বই কিংবা ওয়েবসাইটকেই বুঝাচ্ছি। এরকম অনেক বই( হার্ডকপি বা সফটকপি) বা ওয়েবসাইট রয়েছে যেখান থেকে আপনি জাভাস্ক্রিপ্ট শেখা শুরু করে দিতে পারেন। তবে বাংলা টিউটোরিয়ালের শরণাপন্ন না হয়ে ইংরেজি বই বা ওয়েব টিউটরিয়ালের দিকে ঝুঁকাই ভালো কারণ ইংরেজিতে আপনি জাভাস্ক্রিপ্টের সবকিছুই পাবেন যেমন-http://www.w3schools, http://www.developphp.com কিংবা জাভাস্ক্রিপ্টের অফিসিয়াল ডকুমেন্টেশনে আপনি এর সবকিছুই পাবেন।এরকম কোনো একটি সাইট কিংবা কয়েকটা বইকে জাভাস্ক্রিপ্টের টিউটরিয়াল+রেফারেন্স দুটি হিসেবেই কাজে লাগাতে পারবেন। তাছাড়া এরকম সাইট এ আপনি জাভাস্ক্রিপ্টের সকল আপডেট তথ্যও পাবেন। এখানে আরেকটা কথা যোগ করা প্রয়োজন- অনেকেই আছেন যারা ভিডিওটিউটোরিয়াল এর মাধ্যমে কাজ করতে এবং শিখতে পছন্দ করেন কিন্তু জাভাস্ক্রিপ্ট শেখার ক্ষেত্রে ভিডিও টিউটোরিয়াল উপযুক্ত নয়।কারণ,জাভাস্ক্রিপ্ট কোন হাল্কা বিষয় না, কোনো ভিডিওটিউটোরিয়ালই এর সম্পূর্ণটা কাভার করতে পারবে না। তবে জাভাস্ক্রিপ্ট সম্পর্কে জানার পর বিভিন্ন ধরণের ওয়েব অ্যাপ্লিকেশান তৈরি কিংবা বিভিন্ন ধরণের ফ্রেমওয়ার্ক নিয়ে কাজ করার সময় ভিডিওটিউটোরিয়ালের( lynda, tutplus, infiniteskills, youtube ইত্যাদি)সাহায্য নেয়া যেতে পারে।

## ফ্রেমওয়ার্ক: যারা CSS ভালোভাবে শিখেছেন তারা ফ্রেমওয়ার্ক শব্দটির সাথে পরিচিত। আসলে ফ্রেমওয়ার্ক হচ্ছে নির্দিষ্ট কোনো কাজের জন্য একটা স্বয়ংসম্পূর্ণ প্লাটফর্ম যাতে করে কাজটা খুব সহজে,অল্প সময়ে এবং শতভাগ কার্যকরভাবে করা যায়। JAVASCRIPT , CSSসর্বক্ষেত্রেই ফ্রেমওয়ার্কের সংজ্ঞা একই। কয়েকটা উদাহারণ দিলে হয়তো ব্যপারটা সহজেই বুঝতে পারবেন– CSS নিয়ে ওয়েবসাইট ডিজাইন করার সময় সাইটটিকে রেস্পনসিভ করার কাজে Less Framework খুব বেশি ব্যবহৃত হয়, আবার একটি উৎকৃষ্ট মানের এবং রেস্পনসিভ ওয়েবসাইট ডিজাইন করতে Bootstrap নামক একটি ওপেন সোর্স ফ্রেমওয়ার্ক অনেক কাজের। এখন কথা হচ্ছে ওয়েবসাইট ডিজাইন তো HTML, CSS দিয়ে এমনিতেই করা যায় তাহলে অযথা ফ্রেমওয়ার্কের ঝামেলা করার দরকার কি? আপনি যদি এই ওয়েবসাইট ডিজাইনের ক্ষেত্রে Bootstrap ব্যবহার করেন তাহলে একসাথে অনেক সুবিধা পাবেন।আর তা হল- (১) আপনার অনেক সময় বাঁচবে।আপনি যদি প্রফেশনাল হয়ে থাকেন তাহলে সময়টা আপনার কাছে অনেক বড় একটা ফ্যাক্ট। (২) আপনার ডিজাইনটি নিট অ্যান্ড ক্লিন থাকবে এবং এর কার্যকারিতা থাকবে শতভাগ। (৩) আপনার ওয়েবসাইট একই সাথে রেস্পনসিভ( এক সাথে অনেক ডিভাইসের জন্য কার্যকরী ) হয়ে যাবে। (৪) আর সবচেয়ে বড় সুবিধা হচ্ছে আপনার কাছে কাজটা অনেক সহজ হয়ে উঠবে, আপনি যদি CSS ভালোভাবে নাও জানেন তারপরও প্রফেশনালদের মত কাজ করতে পারবেন।

আমি Bootstrap ফ্রেমওয়ার্কের মাধ্যমে আপনাদেরকে ফ্রেমওয়ার্ক সম্পর্কে একটা ধারনা দিতে চেয়েছি। এক-এক ফ্রেমওয়ার্কের সুবিধা, কাজের ধরণ এবং উদ্দেশ্য একেক রকম।

এখন আসি জাভাস্ক্রিপ্টের ফ্রেমওয়ার্কের কথায়। এতক্ষণ ফ্রেমওয়ার্ক নিয়ে যা যা বলেছি তা জাভাস্ক্রিপ্ট ফ্রেমওয়ার্কের ক্ষেত্রেও প্রযোজ্য।

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

jQuery: সাধারণত animation, slider ইত্যাদি নিয়ে কাজ করার জন্য ব্যবহৃত হয়।এটাকে javascript library বলা হয়।Queryদিয়ে মোবাইল,স্মার্টফোন, ট্যাবলেট ইত্যাদির জন্য বিভিন্ন ধরণের অ্যাপ্লিকেশান তৈরি করা হয়।

AJAX( Asynchronous JavaScript and XML ): এটাও জাভাস্ক্রিপ্টের একটি অতি পরিচিত ফ্রেমওয়ার্ক। AJAX মূলত সার্ভারে ডাটা বিনিময় করা এবং একটি ওয়েব পেজের সম্পূর্ণ লোড না করে নির্দিষ্ট অংশ আপডেট করা নিয়ে কাজ করে।

AngularJS: single page Application এর জন্য এটি অত্যন্ত কার্যকরী। এটা শেখাও খুব সহজ।

JSON( JavaScript Object Notation ): এটা XML এর পরিবর্তে শেখা যেতে পারে, এটাও syntex-এর ভিত্তিতে ডাটা আদান-প্রদান এর কাজ করে থাকে।

তাছাড়াও Encoder, Meteor ইত্যাদি জাভাস্ক্রিপ্টের আরও অনেক ফ্রেমওয়ার্ক আছে।

Google Maps API নিয়ে কাজ করার জন্যও জাভাস্ক্রিপ্ট অতুলনীয়।

পরিশেষে আমি এই কথাটাই বলব যে কম্পিউটার প্রোগ্রামিং কিছু লজিক এর ভিত্তিতে কাজ করে।আপনি যদি ভালো প্রোগ্রামার হতে চান তাহলে ভালোভাবে এলগরিদম ব্যবহার করুন। জাভাস্ক্রিপ্ট যেহেতু প্রোগ্রামিং ল্যাঙ্গুয়েজের অন্তর্ভুক্ত এটির বেলায়ও এই বিষয়টি প্রযোজ্য। আপনি চাইলে এলগরিদমের ব্যাপারটা বাদ দিতে পারেন কিন্তু সেক্ষেত্রে আপনি স্বনির্ভরতা হারাবেন।কারণ আপনি ওয়েব অ্যাপ্লিকেশান তৈরি করতে পারলেও নিজের তৈরি লজিক আর এলগরিদমের সাহায্যে কোনো অ্যাপ্লিকেশান বা সফটওয়্যার তৈরি করার যে আনন্দ তা থেকে অবশ্যই বঞ্চিত হবেন।এলগরিদম সম্পর্কে বিস্তারিত জানার জন্য সবচেয়ে উত্তম ল্যাংগুয়েজ হচ্ছে C ।

আরো পোস্ট দেখুন

comments