Grails হল একটি শক্তিশালী এবং নমনীয় web application framework যা Groovy এবং Java এর উপর ভিত্তি করে তৈরি। এটি Model-View-Controller (MVC) আর্কিটেকচারের সাথে কাজ করে এবং Hibernate ORM, Spring ও SiteMesh এর মতো প্রযুক্তির উপর ভিত্তি করে একটি পূর্ণাঙ্গ ওয়েব ডেভেলপমেন্ট প্ল্যাটফর্ম প্রদান করে। Grails মূলত ডেভেলপারদের দ্রুত এবং সহজে ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্ট করতে সহায়তা করে।
Grails মূলত Groovy এর সরলতা এবং Java এর শক্তির সংমিশ্রণ, যা দ্রুত ডেভেলপমেন্টের জন্য আদর্শ। এটি বিশেষত সেই ডেভেলপারদের জন্য উপকারী যারা Java দিয়ে অভ্যস্ত কিন্তু Groovy এর সরলতা এবং শক্তিশালী ফিচার ব্যবহার করতে চান।
Grails একটি full-stack web application framework হিসাবে ডেভেলপারদের দ্রুত ওয়েব অ্যাপ্লিকেশন তৈরি করার সুযোগ দেয়। নিচে Grails-এর কিছু প্রধান ব্যবহার দেখানো হল:
Grails একটি command-line tool প্রদান করে, যার মাধ্যমে আপনি নতুন অ্যাপ্লিকেশন তৈরি করতে পারেন। এর জন্য আপনাকে Grails SDK ইন্সটল করতে হয়, যা আপনাকে Grails কমান্ডের মাধ্যমে অ্যাপ্লিকেশন তৈরি এবং পরিচালনা করতে সহায়তা করবে।
নতুন অ্যাপ্লিকেশন তৈরি করুন:
grails create-app MyApp
অ্যাপ্লিকেশন রান করুন:
cd MyApp
grails run-app
এখন আপনার অ্যাপ্লিকেশন ব্রাউজারে http://localhost:8080
থেকে দেখতে পারবেন।
Grails MVC (Model-View-Controller) আর্কিটেকচার অনুসরণ করে, যেখানে Model ডেটা, View ইউজার ইন্টারফেস, এবং Controller ইউজারের ইনপুট হ্যান্ডলিং করে।
Grails ডেটাবেস ম্যানেজমেন্টের জন্য GORM (Groovy Object-Relational Mapping) ব্যবহার করে। GORM স্বয়ংক্রিয়ভাবে Groovy ক্লাসগুলিকে ডেটাবেস টেবিলের সাথে ম্যাপ করে।
class Person {
String name
int age
}
এখানে Person
ক্লাসটি একটি ডেটাবেস টেবিলের সাথে ম্যাপ করা হচ্ছে, যা Grails ডাটাবেসের সাথে ইন্টারঅ্যাক্ট করতে ব্যবহৃত হবে।
Grails এ Controller
ইউজারের ইনপুট হ্যান্ডলিং এবং মডেল এবং ভিউ এর মধ্যে যোগাযোগ সম্পন্ন করে। এখানে একটি Controller এর উদাহরণ:
class PersonController {
def index() {
def people = Person.list()
[people: people]
}
def save() {
def person = new Person(params)
if(person.save()) {
redirect(action: 'index')
} else {
render(view: 'create')
}
}
}
এখানে:
index()
মেথডটি সব Person
অবজেক্টকে নিয়ে আসে এবং ভিউতে পাঠায়।save()
মেথডটি নতুন Person
অবজেক্ট তৈরি করে এবং সেভ করার চেষ্টা করে।Grails এর Groovy Templates বা GSP (Groovy Server Pages) ব্যবহার করে ভিউ তৈরি করা হয়।
<!-- index.gsp -->
<html>
<body>
<h1>People List</h1>
<ul>
<g:each in="${people}" var="person">
<li>${person.name}</li>
</g:each>
</ul>
</body>
</html>
এখানে:
g:each
ট্যাগটি people
লিস্ট থেকে প্রতিটি person
এর নাম প্রিন্ট করবে।Grails-এর একটি জনপ্রিয় ফিচার হলো Spring Security প্লাগইন ব্যবহার করে নিরাপত্তা এবং অথেনটিকেশন সিস্টেম সহজে ইনটিগ্রেট করা যায়।
plugins {
id 'org.grails.plugins.springsecurity' version '4.0.3'
}
Spring Security দিয়ে ইউজার লগইন, লগআউট, রোল-বেসড অ্যাক্সেস কন্ট্রোল খুব সহজেই করা যায়।
Grails এর একটি শক্তিশালী টেস্টিং ফ্রেমওয়ার্ক রয়েছে যা unit testing, integration testing, এবং functional testing সম্পন্ন করতে সহায়তা করে। Spock এবং Geb এর মতো টেস্টিং লাইব্রেরি গুলি Grails-এর সাথে সহজেই কাজ করে।
import grails.testing.web.controllers.ControllerUnitTest
import spock.lang.Specification
class PersonControllerSpec extends Specification implements ControllerUnitTest<PersonController> {
def setup() {
}
def cleanup() {
}
void "test save person"() {
when:
controller.save()
then:
response.redirectedUrl == '/person/index'
}
}
Grails হল একটি full-stack web application framework, যা Groovy এবং Java এর শক্তির সমন্বয়ে তৈরি। এটি MVC আর্কিটেকচার ব্যবহার করে ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য আদর্শ। Grails এ:
Grails Groovy এর সরলতা এবং Java এর শক্তির সুবিধা ব্যবহার করে ওয়েব ডেভেলপমেন্টকে আরও দ্রুত এবং কার্যকরী করে তোলে।
common.read_more