AngularJS হলো একটি জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক (JavaScript Framework), যা Single Page Application (SPA) তৈরি করার জন্য ব্যবহৃত হয়। এটি গুগল কর্তৃক ডেভেলপকৃত একটি open-source ফ্রেমওয়ার্ক, যা ওয়েব অ্যাপ্লিকেশনের ডাইনামিক এবং ইন্টারেক্টিভ অংশগুলো সহজে তৈরি করতে সাহায্য করে।
AngularJS মূলত HTML এবং JavaScript কে একত্রে ব্যবহার করে ডেভেলপারদের জন্য একটি সুসংহত প্ল্যাটফর্ম সরবরাহ করে, যাতে তারা দ্রুত এবং কার্যকরী ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারেন।
AngularJS এর বৈশিষ্ট্য
- ডেটা বাইন্ডিং (Two-Way Data Binding):
- AngularJS এর Two-Way Data Binding এর মাধ্যমে ডেটা এবং UI এর মধ্যে স্বয়ংক্রিয় সংযোগ তৈরি হয়।
- যদি UI (User Interface) পরিবর্তন করা হয়, তাহলে মডেলের ডেটাও আপডেট হয় এবং বিপরীতও ঘটে।
- ডিরেকটিভস (Directives):
- AngularJS এ ডিরেকটিভ ব্যবহার করে HTML এর ক্ষমতা বাড়ানো যায়।
- উদাহরণ: ng-model, ng-repeat, ng-bind।
- ডিপেন্ডেন্সি ইনজেকশন (Dependency Injection):
- এটি কোডের মডুলারিটি বাড়ায় এবং বিভিন্ন কম্পোনেন্ট একে অপরের উপর নির্ভরতা সহজভাবে ম্যানেজ করে।
- মডুলার আর্কিটেকচার:
- AngularJS অ্যাপ্লিকেশনকে Modules এবং Controllers এ বিভক্ত করে।
- এটি কোডকে পরিষ্কার, সুসংগঠিত এবং রিইউজেবল করে তোলে।
- SPA (Single Page Application):
- AngularJS মূলত Single Page Application তৈরি করার জন্য ব্যবহৃত হয়, যেখানে একটি পেজে সমস্ত কন্টেন্ট ডাইনামিকভাবে আপডেট হয়।
- ডেটা ফিল্টারিং:
- AngularJS এ ফিল্টার ব্যবহার করে ডেটা সজ্জিত (Filter, Sort, Format) করা যায়।
AngularJS এর প্রাথমিক স্ট্রাকচার
AngularJS অ্যাপ্লিকেশনের একটি সাধারণ উদাহরণ নিচে দেওয়া হলো:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<title>AngularJS Example</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
</head>
<body>
<div ng-controller="myController">
<h1>{{ message }}</h1>
<input type="text" ng-model="message">
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myController', function($scope) {
$scope.message = "Hello, AngularJS!";
});
</script>
</body>
</html>
কোড ব্যাখ্যা:
ng-app: অ্যাপ্লিকেশন শুরু করে।ng-controller: একটি কন্ট্রোলার যুক্ত করে যা ডেটা এবং লজিক নিয়ন্ত্রণ করে।ng-model: ইনপুট বক্স এবং ডেটা বাইন্ডিং পরিচালনা করে।{{ message }}: ডেটা বাইন্ডিং এর মাধ্যমে ভেরিয়েবলের মান দেখায়।
AngularJS এর সুবিধা
- ডেভেলপমেন্টের গতি বৃদ্ধি: মডুলার আর্কিটেকচার এবং ডেটা বাইন্ডিং কোড লেখার গতি বাড়ায়।
- Two-Way Data Binding: ডেটা আপডেটের জন্য ম্যানুয়াল DOM ম্যানিপুলেশন প্রয়োজন হয় না।
- রিইউজেবল কোড: ডিরেকটিভস এবং মডিউল ব্যবহার করে কোড পুনরায় ব্যবহার করা যায়।
- টেস্টিং সহজ: AngularJS এর ইউনিট টেস্টিং ও ইন্টিগ্রেশন টেস্টিং সহজে করা যায়।
AngularJS এর সীমাবদ্ধতা
- Performance Issue: বড় অ্যাপ্লিকেশনে Two-Way Data Binding এর কারণে পারফরম্যান্স কমে যেতে পারে।
- Steep Learning Curve: নতুনদের জন্য AngularJS এর সমস্ত ফিচার শিখতে সময় লাগে।
- Deprecated (অব্যবহৃত): AngularJS এর পরবর্তী সংস্করণ Angular এসেছে, যা আরো আধুনিক এবং শক্তিশালী।
সারসংক্ষেপ
AngularJS হলো একটি শক্তিশালী ফ্রেমওয়ার্ক, যা ডাইনামিক এবং ইন্টারেক্টিভ Single Page Application তৈরি করতে ব্যবহার করা হয়। এটি ডেভেলপারদের জন্য Two-Way Data Binding, ডিরেকটিভস, এবং ডিপেন্ডেন্সি ইনজেকশন এর মতো ফিচার সরবরাহ করে। যদিও এটি এখন অপ্রচলিত (Deprecated) হয়েছে এবং নতুন সংস্করণ Angular বেশি ব্যবহৃত হচ্ছে, তবে AngularJS এখনো ছোট ও মাঝারি প্রকল্পে কার্যকর।