ad720-90

Laravel ল্যারাভেল এর নতুন চমক, নতুন মাইক্রো ফ্রেমওয়ার্ক LUMEN । সুপার ফাস্ট স্পীডের সাথে চরম সব ফিচার


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

LUMEN আসলে কী ? :

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

কেন এই LUMEN এর উদ্ভব ?

আসলে এক্ষেত্রে LUMEN এর ডেভলপার টেইলর অটওয়েল এর চিন্তাধারাটাই তুলে ধরা হচ্ছে । তিনিই এই ফ্রেমওয়ার্কের আবিষ্কারক এবং কীভাবে তিনি এই ফ্রেমওয়ার্ক তৈরী করার প্লান পেলেন বা অনুপ্রেরণা পেলেন সেই বিষয়টা হবহু এখানে তুলে ধরছি ।

Envoyer নামের একটা এ্যাপ ডেভলপ করার সময় তাকে ২ টা মাইক্রো সার্ভিস ইউজ করতে হয়েছিল ।

তাদের মধ্যে একটা ছিল পোষ্ট ডিপ্লয়মেন্ট হেলথ চেক । তিনি এই কাজের জন্য Silex নামের একটা সার্ভিস ইউজ করেছিলেন । তারপরও তাকে এপ্লিকেশনটা আরও সুন্দর করে তোলার জন্য PDO ডাটাবেস কানেকশন নিয়ে যথেষ্ট গবেষণা করতে হয়েছিল ।

এর আরেকটা সার্ভিস ছিল যেটার কাজ ছিল হার্টবিট মনিটরিং । আর এর জন্য ওয়েব সার্ভারকে প্রতি মিনিটে ১০০ বা হাজার বার খুব দ্রুততার সাথে রেসপন্স করতে হত । এটার জন্য তিনি স্লিম ৩ নামের একটা সার্ভিস ইউজ করেন । স্লিম বা সাইলেক্স হল পিএইচপি র একটা অন্যতম ফাস্ট মাইক্রোফ্রেমওয়ার্ক । কিন্তু এই ক্ষেত্রেও ডাটাবেস কানেকশনের কিছু ঝামেলা থেকে যায় । তাই তিনি তখন ল্যারাভেলের কিছু অংশ বাদ দিয়ে ল্যারাভেলের একটা লাইট ইনস্টলেশনের কথা চিন্তা করেন । আর এভাবেই লুমেন এর আইডিয়াটা তার মাথায় আসে ।

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

LUMEN নামের ইতিহাস :

লুমেন নামটি এসেছে মূলত Luminary বা Illuminate   নাম থেকে । এটার অর্থ হল আলোকিত করা বা জ্যোতিষ্ক্য । এটামূলত ল্যারাভেলের একটা হালকা বা লাইটওয়েট ভার্সন । ল্যারাভেলের কিছু খুবই ভাল বা যেটাকে আক্ষরিক অর্থে উজ্জ্বল বলা যায় এমন কমপোনেন্ট নিয়েই লুমেন তৈরী হয়েছে । যেমন ডাটাবেস , কেস , কুউই প্রভৃতি । এই ফ্রেমওয়য়ার্কটার মুলত ২ টা সিলেবাস রয়েছে যেখানে ল্যারাভেলের রয়েছে তিনটি । তাই এটা ল্যারাভেল থেকে কিছু অংশ বাদ দিয়ে ডেভলপ করা হলেও ল্যারাভেল থেকে অনেক ফাস্ট । অনেক লাইট হবার কারণে এটা অনেক দ্রুততার সাথে কাজ করতে পারে ।

কীভাবে LUMEN এতটা ফাস্ট ? :

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

 

LUMEN এর সব মজাদার ফিচার :

বেঞ্চমার্ক ব্রেকিং স্পীড :

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

তবে আপনি যদি বড় কোন এপ্লিকেশনের দিকে যেতে চান তাহলে আপনাকে LUMEN চয়েজ না করাই ভাল । কারণ ,এটা মুলত ছোটখাট লাইটওয়েট এপ্লিকেশন ডেভলপ এর জন্য তৈরী করা হয়েছে । আপনার বড় কোন প্রোজেক্ট থাকলে সেটা ল্যারাভেল এ করাই সবথেকে ভাল ।

ল্যারাভেলের ফিচারগুলো সহজে একসেস করা :

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


<?php

 

$app->get('user/{id}', function($id) {

return User::findOrFail($id);

});

LUMEN প্রোজেক্টকে ল্যারাভেল এ মাইগ্রেটিং :

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

 

ল্যারাভেল কোড VS লুমেন কোড (রাউটিং ):

লুমেন কোড :


$app->get('{path:.*}', function($path)

{   echo 'You just visited my site dot com slash ' . $path;});

ল্যারাভেল কোড:


$router->get('{path?}',function($path)

{  echo'You just visited my site dot com slash '.$path;})->where('path','.*');

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

আমার টিউন গুলো ভালো লাগলে অবশ্যই আমার টিউন বেশি বেশি জোসস করুন

আমার টিউন গুলো আপনার ‘টিউন স্ক্রিন’ নিয়মিত পেতে অবশ্যই আমাকে ফলো করুন। আমার টিউন গুলো সবার কাছে ছড়িতে দিতে অবশ্যই আমার টিউন গুলো বিভিন্ন সৌশল মিডিয়াতে বেশি বেশি শেয়ার করুন

আমার টিউন সম্পর্কে আপনার যে কোন মতামত, পরামর্শ ও আলোচনা করতে অবশ্যই আমার টিউনে টিউমেন্ট করুন

আমার সাথে সরাসরি যোগাযোগ করার জন্য ‘টেকটিউনস ম্যাসেঞ্জারে’ আমাকে ম্যাসেজ করুন। আমার সকল টিউন পেতে ভিজিট করুন আমার ‘টিউনার পেইজ’



সর্বপ্রথম প্রকাশিত

Sharing is caring!

Comments

So empty here ... leave a comment!

Leave a Reply

Sidebar