(কোডিং জে এস)Coding JS
  • কোডিং JS
  • সূচিপত্র(Index)
  • ভূমিকা
  • লেখক পরিচিতি(Writer Intro)
  • ইতিহাস
  • জাভাস্ক্রিপ্টের বিস্তার কত দূর?
  • কাদের জন্য জাভাস্ক্রিপ্ট?
  • এনভায়রনমেন্ট সেটআপ
  • ব্রাউজার পরিচিতি
  • ভাল এডিটর বা আইডিই
  • জাভাস্ক্রিপ্টের ইঞ্জিন (JS Engine)
  • প্রথম প্রোগ্রাম = হ্যালো বাংলাদেশ
  • সিনট্যাক্স নিয়ে যত কথা।
  • ভেরি + এবল = ভেরিয়্যাবল কি?
  • ডেটা টাইপ
    • প্রিমিটিভ ডাটা টাইপ(Primitive data type)
      • বুলিয়ান (Boolean)
      • আন্ডিফাইন্ড (Undefined)
      • নাল (Null)
      • নাম্বার (Number)
      • বিগ ইন্টিজার (BigInt)
      • স্ট্রিং (String)
      • সিম্বল (Symbol)
    • নন-প্রিমিটিভ ডাটা টাইপ(Non-primitive data type)
      • অব্জেক্ট (Object)
      • অ্যারে(Array)
  • অপারেটর
  • কন্ডিশনাল কন্ট্রোল ফ্লো(Conditional Control flow)
  • লুপ এবং ইটারেশন(Loop & Iteration)
    • 🔃ফর লুপ(For loop)
    • 🔃ও্যাইয়ল লুপ (While Loop)
    • 📿পুনারাবৃত্তি (Iteration)
  • ফাংশন (Function)
    • রেগুলার ফাংশন (Regular Function)
    • অ্যারো ফাংশন(Arrow Function)
    • নেস্টেড ফাংশন ( Nested Function)
    • ক্লোজার ফাংশন(Closures Function)
    • আই. আই. এফ. ই. (IIFE)
    • হাইয়ার অর্ডার ফাংশন (Higher Order Function)
    • কারিং ফাংশন (Currying function)
    • এন এফ ই (NFE)
    • রিকার্সিভ ফংশন (Recursive Function)
    • জেনারেটর ফাংশন (Generator Function)
  • ক্লাস ও অবজেক্ট অরিয়েন্টেড (class & OOP)
    • মেম্বার ফাংশন (Member Function)
    • ইনহেরিটেন্স (Inhertance)
    • এনসকেপসুলেশন (Encapsulations)
    • অবস্ট্রাকশন(Abstraction)
    • পলিমরফিজম (Polymorphism)
  • কলব্যাক ফাংশন (callback function)
  • প্রমিস (Promise)
  • Async এবং await (Async & Await)
  • এজ্যাক্স (Ajax)
  • ফেচ (fetch)
  • ওয়েভ এপি আই(Web API)
    • ওয়েব স্টোরেজ (Web Storage)
      • বিস্কিটের টুকরো (Cookies)
      • সেশন (Session)
    • হিস্ট্রি এপি আই (History API)
    • জিওলোকেশন এপি আই (Geolocation API)
    • ওয়ার্কার এপি আই (Workers API)
    • ফর্ম এপি আই (Form API)
  • জে এস ডোম(JS DOM)
  • জে এস স্টাইল (JS Style)
  • এপিআই কী? (What is API)
    • SOAP API
    • রেস্ট এপি আই(REST API)
  • ফ্রেমওয়ার্ক লাইব্রেরী নিয়ে খোশ গল্প
  • জাভাস্ক্রিপ্টের বিল্ডইন কী ওয়ার্ড(Javascript Build in keyword)
  • কৃতজ্ঞতা স্বীকার
Powered by GitBook
On this page
Edit on GitHub

জাভাস্ক্রিপ্টের বিস্তার কত দূর?

সতর্ক বার্তাঃ কেউ যদি বইটির কোন অংশ খারাপ উদ্দেশ্যে বা বাণিজ্যিক উদ্দেশ্য ব্যবহার করে তাহলে কপিরাইট আইন অন্তর্ভুক্ত সকল প্রকার প্রক্রিয়া অনুসরণ করতে বাধ্য থাকব।

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

আপনি তখনই একজন পরিপূর্ণ ওয়েভ ডিজাইনার হয়ে উঠবেন যখন এইচ টি এম এল এবং সিএস এস এর পাশাপাশি জাভাস্ক্রিপ্ট ব্যবহার করতে পারবেন। এটা আপনাকে সৃজনশীলতা প্রকাশের সুযোগ সৃষ্টি করে দেবে। ই কমার্স সাইটগুলোতে বিভিন্ন ধরনের পণ্য সিলেক্ট করে এবং তাদের পরিমাণ নির্ধারণ করে ব্যবহারকারী তার অর্ডারের প্রয়োজনীয় হিসাব দেখতে পারবে এ ধরনের সুবিধা আপনাকে যুক্ত করতে হলে অবশ্যই জাভাস্ক্রিপ্ট এর সুবিধা নিতে হবে। অন্যদিকে বিভিন্ন ধরনের ইন্টারেক্টিভ ইফেক্ট তৈরিতেও জাভাস্ক্রিপ্ট এর জুড়ি নেই। কিন্তু তারপরেও আরো প্রশ্ন থেকে যায়। কেন জাভাস্ক্রিপ্ট? হ্যাঁ, আমরা তো জাভাস্ক্রিপ্ট কে পূর্বে শুধু ডম (DOM=Document Object Model) ম্যানিপুলেশনের কিছু একটা বলেই ভাবতাম। ডম ম্যানিপুলেশন মানে একটা ওয়েব পেজে কিছু ইভেন্ট লাগানো, বাটনে ক্লিক করলে এই হবে, সেই হবে। তারপর লোগো চ্যাঞ্জ করা, কালার পরিবর্তন করাসহ অ্যানিমেশন পর্যন্ত বড়জোর জাভাস্ক্রিপ্ট এর ক্ষমতা ছিল। কিন্তু আধুনিক জাভাস্ক্রিপ্ট এর ক্ষমতা এখন কল্পনার বাইরে।

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

PreviousইতিহাসNextকাদের জন্য জাভাস্ক্রিপ্ট?

Last updated 10 months ago