Jetpack Navigation 3 ভার্সন 1.0 এখন স্টেবল 🎉। আজই আপনার প্রোডাকশন অ্যাপে এটি ব্যবহার করুন। JetBrains আগে থেকেই তাদের KotlinConf অ্যাপে এটি ব্যবহার করছে।
Navigation 3 হল একটি নতুন নেভিগেশন লাইব্রেরি যা Jetpack Compose স্টেট-এর সাথে কাজ করার জন্য তৈরি করা হয়েছে। এটি আপনাকে ব্যাক স্ট্যাকের উপর সম্পূর্ণ নিয়ন্ত্রণ দেয়, নেভিগেশন স্টেট ধরে রাখতে সাহায্য করে এবং সহজেই অ্যাডাপ্টিভ লেআউট (যেমন তালিকা-বিবরণ) তৈরি করতে দেয়। এমনকি JetBrains-এর একটি ক্রস-প্ল্যাটফর্ম ভার্সনও আছে।
নতুন লাইব্রেরি কেন?
মূল Jetpack Navigation লাইব্রেরি (এখন Nav2) ৭ বছর আগে ডিজাইন করা হয়েছিল এবং এটি তার মূল লক্ষ্যগুলি ভালভাবে পূরণ করে এবং বারবার উন্নত করা হয়েছে, অ্যাপগুলি এখন যেভাবে তৈরি করা হয়েছে তা মৌলিকভাবে পরিবর্তিত হয়েছে।
ডিক্লারেটিভ UI সহ রিঅ্যাক্টিভ প্রোগ্রামিং এখন আদর্শ। Nav3 এই পদ্ধতি গ্রহণ করে। যেমন, NavDisplay (Nav3 UI কম্পোনেন্ট যা আপনার স্ক্রিন দেখায়) কম্পোজ স্টেট দ্বারা ব্যাক-আপ করা কী-এর তালিকা (প্রতিটি একটি স্ক্রিনকে দেখায়) পর্যবেক্ষণ করে এবং সেই তালিকা পরিবর্তন হলে তার UI আপডেট করে।
এছাড়াও, Nav2-এর নিজস্ব ইন্টার্নাল স্টেট থাকার কারণে আপনার নেভিগেশন স্টেটের জন্য সিঙ্গেল সোর্স অফ ট্রুথ পাওয়া কঠিন হতে পারে। Nav3-এর মাধ্যমে, আপনি নিজের স্টেট প্রদান করেন, যা আপনাকে সম্পূর্ণ কন্ট্রোল দেয়।
সবশেষে, আপনি আরও নমনীয়তা ও কাস্টমাইজ করার সুবিধা চেয়েছেন। Nav3-তে একটিমাত্র, মনোলিথিক API-এর পরিবর্তে ছোট, ডিকাপল করা API (বা "বিল্ডিং ব্লক") প্রদান করা হয়, যেগুলি জটিল কার্যকারিতা তৈরি করতে একসাথে ব্যবহার করা যেতে পারে। Nav3 নিজেই এই বিল্ডিং ব্লকগুলি ব্যবহার করে সুনির্দিষ্ট নেভিগেশন ব্যবহারের ক্ষেত্রে সংবেদনশীল ডিফল্ট প্রদান করে।
এই পদ্ধতি আপনাকে এগুলি করতে দেয়:
- গ্লোবাল ও ব্যক্তিগত লেভেলে স্ক্রিন অ্যানিমেশন কাস্টমাইজ করুন
- একই সময়ে একাধিক প্যানেল দেখান এবং Scenes API ব্যবহার করে ফ্লেক্সিবল লেআউট তৈরি করুন
- আপনি যদি কাস্টম আচরণ চান তাহলে সহজেই Nav3 কম্পোনেন্টগুলি আপনার নিজস্ব ইমপ্লিমেন্টেশনের সাথে প্রতিস্থাপন করুন
লঞ্চ ব্লগ থেকে এর ডিজাইন ও ফিচার সম্পর্কে আরও জানুন।
নেভিগেশন ২ থেকে মাইগ্রেট করা
আপনি যদি আগে থেকেই Nav2, বিশেষ করে Navigation Compose ব্যবহার করেন, তাহলে Nav3-এ মাইগ্রেট করার কথা বিবেচনা করা উচিত। এই বিষয়ে আপনাকে সাহায্য করার জন্য একটি মাইগ্রেশন গাইড আছে। মূল ধাপগুলি হল:
- নেভিগেশন ৩ ডিপেন্ডেন্সি যোগ করুন।
- NavKey প্রয়োগ করতে আপনার নেভিগেশন রুট আপডেট করুন। Nav3 ব্যবহার করার জন্য আপনার রুটে এই ইন্টারফেস প্রয়োগ করতে হবে না, তবে যদি তা করেন, তাহলে আপনি Nav3-এর rememberNavBackStack ফাংশনের সুবিধা নিয়ে একটি পারসিস্টেন্ট ব্যাক স্ট্যাক তৈরি করতে পারবেন।
- আপনার নেভিগেশন স্টেট ধরে রাখতে এবং পরিবর্তন করতে ক্লাস তৈরি করুন - এখানেই আপনার ব্যাক স্ট্যাক রাখা হয়।
- NavController-এর পরিবর্তে এই ক্লাসগুলি ব্যবহার করুন।
- NavHost-এর NavGraph থেকে আপনার গন্তব্যগুলি একটি entryProvider-এ সরান।
- NavHost-এর পরিবর্তে NavDisplay ব্যবহার করুন।
AI এজেন্ট মাইগ্রেশন নিয়ে এক্সপেরিমেন্ট করা
আপনি মাইগ্রেশন গাইড পড়তে এবং আপনার প্রোজেক্টে ধাপগুলি পারফর্ম করতে AI এজেন্ট ব্যবহার করে পরীক্ষা করতে চাইতে পারেন। Android Studio-র এজেন্ট মোডে Gemini-এর সাথে এটি ব্যবহার করে দেখতে:
- আপনার প্রোজেক্টে গাইডের এই মার্কডাউন ভার্সন সেভ করুন।
- এজেন্টে এই প্রম্পট পেস্ট করুন (কিন্তু এন্টার মারবেন না): "ব্যবহার করে এই প্রোজেক্ট Navigation 3-এ মাইগ্রেট করুন"।
- @migration-guide.md টাইপ করুন - এটি এজেন্টকে প্রসঙ্গ হিসেবে গাইড প্রদান করবে।
সবসময়ের মতো, AI এজেন্টের করা পরিবর্তনগুলি ভালোভাবে পর্যালোচনা করতে ভুলবেন না - এটি ভুল করতে পারে!
আপনি বা আপনার এজেন্ট কেমন পারফর্ম করেছেন তা জানতে পারলে আমরা খুশি হব, এখানে আপনার মতামত পাঠান।
সাধারণ পরিস্থিতির জন্য Tasty নেভিগেশন রেসিপি
সাধারণ কিন্তু সূক্ষ্ম ব্যবহারের ক্ষেত্রে, আমাদের কাছে রেসিপি রিপোজিটরি আছে। এটি দেখায় যে কীভাবে Nav3 API-কে একটি নির্দিষ্ট উপায়ে একত্রিত করা যায়, যা আপনাকে আপনার নির্দিষ্ট প্রয়োজন অনুযায়ী রেসিপি বেছে নিতে বা পরিবর্তন করতে দেয়। কোনও রেসিপি জনপ্রিয় হয়ে উঠলে, আমরা সেটির সূক্ষ্ম নয় এমন অংশকে মূল Nav3 লাইব্রেরি বা অ্যাড-অন লাইব্রেরিতে "গ্র্যাজুয়েট" করার কথা বিবেচনা করব।
বর্তমানে ১৯টি রেসিপি আছে, যার মধ্যে রয়েছে:
- একাধিক ব্যাক স্ট্যাক
- মডিউলারাইজেশন ও ডিপেন্ডেন্সি ইনজেকশন
- ViewModels-এ নেভিগেশন আর্গুমেন্ট পাস করা (Koin ব্যবহার করা সহ)
- ইভেন্ট ও শেয়ার করা স্ট্যাটাস অনুযায়ী স্ক্রিন থেকে ফলাফল দেখানো
আমরা বর্তমানে ডিপলিঙ্ক রেসিপি এবং Koin ইন্টিগ্রেশন নিয়ে কাজ করছি এবং আরও অনেক কিছু করার পরিকল্পনা আছে। এছাড়াও, JetBrains-এর একজন ইঞ্জিনিয়ার রেসিপির কম্পোজ মাল্টিপ্ল্যাটফর্ম ভার্সন প্রকাশ করেছেন।
আপনার যদি কোনও সাধারণ ব্যবহারের কেস থাকে যার জন্য আপনি রেসিপি দেখতে চান, তাহলে রেসিপির জন্য অনুরোধ ফাইল করুন।
সারসংক্ষেপ
Nav3 ব্যবহার শুরু করতে, ডকুমেন্ট এবং রেসিপি চেক করুন। এছাড়াও, পুরো সপ্তাহ জুড়ে টেকনিক্যাল কন্টেন্টের উপর নজর রাখুন, যার মধ্যে রয়েছে:
- মডিউলারাইজেশন, অ্যানিমেশন ও অ্যাডাপ্টিভ লেআউট কভার করে API-এর উপর একটি গভীর ডাইভ ভিডিও।
- Nav3 তৈরি করেছেন এমন ইঞ্জিনিয়ারদের সাথে লাইভ 'আমাকে যেকোনও প্রশ্ন করুন' (AMA) সেশন।
Nav3 স্পটলাইট সপ্তাহ ১ ডিসেম্বর ২০২৫ থেকে শুরু হচ্ছে।
আগের মতোই, কোনও সমস্যা দেখতে পেলে, এখানে অভিযোগ জানান।
-
প্রোডাক্ট সংক্রান্ত খবর২০২৫ সালে Android ইকোসিস্টেম ফোনের বাইরেও অনেক দূর পর্যন্ত বিস্তৃত হয়েছে। বর্তমানে, ডেভেলপারদের কাছে ফোল্ডেবল, ট্যাবলেট, XR, Chromebook এবং মানানসই গাড়ি সহ ৫০০ মিলিয়নেরও বেশি অ্যাক্টিভ ডিভাইসে পৌঁছানোর সুযোগ রয়েছে।
Fahd Imtiaz • ২ মিনিট লাগবে -
প্রোডাক্ট সংক্রান্ত খবরবিশ্বের সব মোবাইল গেমের অর্ধেকের বেশি Unity-র মাধ্যমে চলে, তাই প্রথম দর্শনেই বাজিমাত করা গুরুত্বপূর্ণ। গেম ডেভেলপারদের জন্য, প্রথম দিন থেকে প্লেয়ারদের ধরে রাখা এবং দীর্ঘমেয়াদী এনগেজমেন্টের জন্য একটি মসৃণ, নির্ভরযোগ্য প্লেয়ার অনবোর্ডিং অভিজ্ঞতা অপরিহার্য।
Michelle Martin • ১ মিনিটে পড়া যাবে -
প্রোডাক্ট সংক্রান্ত খবরবাড়িতে সম্পূর্ণ ইমার্সন থেকে শুরু করে চলতে চলতে এক ঝলকে দেখার অভিজ্ঞতা পর্যন্ত, Android XR-এ তৈরি করার মাধ্যমে আপনি স্পেশিয়াল অ্যাপ্লিকেশনের সম্পূর্ণ স্পেকট্রাম জুড়ে যেকোনও মুহূর্তে ব্যবহারকারীদের সাথে দেখা করতে পারবেন। Android ডেভেলপার সামিটে, আমরা XREAL AURA লঞ্চ করার মাধ্যমে একটি উত্তেজনাপূর্ণ মাইলস্টোন চিহ্নিত করেছি।
Amy Zeppenfeld, Vinny DaSilva • ৩ মিনিট রিডিং
সরাসরি আপনার ইনবক্সে লেটেস্ট Android ডেভেলপমেন্ট ইনসাইট পান সাপ্তাহিক।