Jetpack Navigation 3 ভার্সন 1.0 এখন স্থিতিশীল 🎉। আজই আপনার প্রোডাকশন অ্যাপে এটি ব্যবহার করুন। JetBrains ইতোমধ্যেই তাদের KotlinConf অ্যাপে এটি ব্যবহার করছে ।
নেভিগেশন ৩ হলো একটি নতুন নেভিগেশন লাইব্রেরি যা জেটপ্যাক কম্পোজ স্টেটকে সমর্থন করার জন্য একেবারে গোড়া থেকে তৈরি করা হয়েছে। এটি আপনাকে আপনার ব্যাক স্ট্যাকের উপর সম্পূর্ণ নিয়ন্ত্রণ দেয়, নেভিগেশন স্টেট ধরে রাখতে সাহায্য করে এবং আপনাকে সহজেই অ্যাডাপ্টিভ লেআউট (যেমন লিস্ট-ডিটেইল) তৈরি করার সুযোগ দেয়। এমনকি জেটব্রেইনস-এর একটি ক্রস-প্ল্যাটফর্ম সংস্করণও রয়েছে ।
নতুন গ্রন্থাগার কেন?
মূল জেটপ্যাক নেভিগেশন লাইব্রেরিটি (এখন Nav2) ৭ বছর আগে ডিজাইন করা হয়েছিল এবং যদিও এটি তার মূল লক্ষ্যগুলো ভালোভাবে পূরণ করে ও ক্রমাগত উন্নত করা হয়েছে, বর্তমানে অ্যাপ তৈরির পদ্ধতিটি মৌলিকভাবে বদলে গেছে।
ডিক্লারেটিভ UI সহ রিঅ্যাক্টিভ প্রোগ্রামিং এখন একটি সাধারণ রীতি। Nav3 এই পদ্ধতিটি গ্রহণ করেছে। উদাহরণস্বরূপ, NavDisplay (Nav3-এর UI কম্পোনেন্ট যা আপনার স্ক্রিনগুলো প্রদর্শন করে ) কেবল Compose স্টেট দ্বারা সমর্থিত কী-গুলোর একটি তালিকা (যার প্রতিটি একটি স্ক্রিনকে প্রতিনিধিত্ব করে) পর্যবেক্ষণ করে এবং সেই তালিকাটি পরিবর্তিত হলে এর UI আপডেট করে।

Nav2-এর নিজস্ব অভ্যন্তরীণ স্টেট থাকার কারণে, আপনার নেভিগেশন স্টেটের জন্য একটি একক নির্ভরযোগ্য উৎস থাকা কঠিন হতে পারে। Nav3-এর ক্ষেত্রে, আপনি আপনার নিজস্ব স্টেট সরবরাহ করেন, যা আপনাকে সম্পূর্ণ নিয়ন্ত্রণ দেয়।
সবশেষে, আপনি আরও বেশি নমনীয়তা এবং কাস্টমাইজ করার সুবিধা চেয়েছেন। একটি একক, অখণ্ড এপিআই (API) থাকার পরিবর্তে, Nav3 ছোট ছোট, বিচ্ছিন্ন এপিআই (বা "বিল্ডিং ব্লক") প্রদান করে, যেগুলোকে একত্রিত করে জটিল কার্যকারিতা তৈরি করা যায়। Nav3 নিজেই এই বিল্ডিং ব্লকগুলো ব্যবহার করে সুনির্দিষ্ট নেভিগেশন ব্যবহারের ক্ষেত্রগুলোর জন্য যুক্তিসঙ্গত ডিফল্ট মান প্রদান করে।
এই পদ্ধতিটি আপনাকে নিম্নলিখিত সুবিধাগুলো দেয়:
- বৈশ্বিক এবং স্বতন্ত্র উভয় স্তরে স্ক্রিন অ্যানিমেশন কাস্টমাইজ করুন
- একই সময়ে একাধিক প্যান প্রদর্শন করুন এবং সিনস এপিআই (Scenes API) ব্যবহার করে নমনীয় লেআউট তৈরি করুন।
- কাস্টম আচরণ চাইলে Nav3 কম্পোনেন্টগুলোকে সহজেই আপনার নিজস্ব ইমপ্লিমেন্টেশন দিয়ে প্রতিস্থাপন করুন।
এর ডিজাইন ও বৈশিষ্ট্য সম্পর্কে আরও জানতে লঞ্চ ব্লগটি পড়ুন।
নেভিগেশন ২ থেকে স্থানান্তরিত হচ্ছে
আপনি যদি ইতিমধ্যেই Nav2, বিশেষ করে Navigation Compose ব্যবহার করে থাকেন, তাহলে আপনার Nav3-তে স্থানান্তরিত হওয়ার কথা বিবেচনা করা উচিত। এই কাজে আপনাকে সাহায্য করার জন্য একটি স্থানান্তর নির্দেশিকা রয়েছে। মূল ধাপগুলো হলো:
- ন্যাভিগেশনের ৩টি নির্ভরতা যোগ করুন।
- আপনার নেভিগেশন রাউটগুলিকে NavKey ইমপ্লিমেন্ট করার জন্য আপডেট করুন। Nav3 ব্যবহার করার জন্য আপনার রাউটগুলিকে এই ইন্টারফেসটি ইমপ্লিমেন্ট করতে হবে না, কিন্তু যদি করে, তাহলে আপনি একটি স্থায়ী ব্যাক স্ট্যাক তৈরি করতে Nav3-এর rememberNavBackStack ফাংশনটির সুবিধা নিতে পারেন।
- আপনার নেভিগেশন স্টেট ধারণ ও পরিবর্তন করার জন্য ক্লাস তৈরি করুন - এখানেই আপনার ব্যাক স্ট্যাকগুলো সংরক্ষিত থাকে।
- NavController-কে এই ক্লাসগুলো দিয়ে প্রতিস্থাপন করুন।
- আপনার গন্তব্যস্থলগুলোকে NavHost-এর NavGraph থেকে সরিয়ে একটি entryProvider-এ স্থানান্তর করুন।
- NavHost-কে NavDisplay দিয়ে প্রতিস্থাপন করুন।
এআই এজেন্ট মাইগ্রেশন নিয়ে পরীক্ষা-নিরীক্ষা
আপনি মাইগ্রেশন গাইডটি পড়তে এবং আপনার প্রোজেক্টে ধাপগুলো সম্পাদন করতে একটি এআই এজেন্ট ব্যবহার করে পরীক্ষা করে দেখতে পারেন। অ্যান্ড্রয়েড স্টুডিওর এজেন্ট মোডে জেমিনি দিয়ে এটি চেষ্টা করতে:
- গাইডটির এই মার্কডাউন সংস্করণটি আপনার প্রজেক্টে সংরক্ষণ করুন।
- এই প্রম্পটটি এজেন্টে পেস্ট করুন (কিন্তু এন্টার চাপবেন না): "এই প্রজেক্টটি নেভিগেশন ৩-এ মাইগ্রেট করতে " ব্যবহার করুন।
- @migration-guide.md টাইপ করুন - এটি এজেন্টকে প্রাসঙ্গিক তথ্য হিসেবে গাইডটি সরবরাহ করবে।
বরাবরের মতোই, এআই এজেন্টের করা পরিবর্তনগুলো সাবধানে পর্যালোচনা করে নিন — এটি ভুল করতে পারে!
আপনি বা আপনার প্রতিনিধি কেমন কাজ করেছেন তা আমরা জানতে আগ্রহী, অনুগ্রহ করে আপনার মতামত এখানে পাঠান ।
সাধারণ পরিস্থিতিগুলির জন্য সুস্বাদু নেভিগেশন রেসিপি
সাধারণ কিন্তু সূক্ষ্ম ব্যবহারের ক্ষেত্রগুলোর জন্য আমাদের একটি রেসিপি রিপোজিটরি রয়েছে। এটি দেখায় কীভাবে Nav3 API-গুলোকে একটি নির্দিষ্ট উপায়ে একত্রিত করতে হয়, যা আপনাকে আপনার বিশেষ প্রয়োজন অনুযায়ী রেসিপিটি বেছে নিতে বা পরিবর্তন করতে সাহায্য করে। যদি কোনো রেসিপি জনপ্রিয় বলে প্রমাণিত হয়, তবে আমরা এর সাধারণ অংশগুলোকে মূল Nav3 লাইব্রেরি বা অ্যাড-অন লাইব্রেরিতে অন্তর্ভুক্ত করার বিষয়টি বিবেচনা করব।

বর্তমানে ১৯টি রেসিপি রয়েছে, যার মধ্যে অন্তর্ভুক্ত রয়েছে:
- একাধিক ব্যাক স্ট্যাক
- মডুলারাইজেশন এবং নির্ভরতা ইনজেকশন
- ViewModel-এ ন্যাভিগেশন আর্গুমেন্ট প্রেরণ (Koin ব্যবহার সহ)
- ইভেন্ট এবং শেয়ার্ড স্টেট অনুসারে স্ক্রিন থেকে ফলাফল ফেরত দেওয়া
আমরা বর্তমানে একটি ডিপলিঙ্কস রেসিপি এবং একটি কোইন ইন্টিগ্রেশন নিয়ে কাজ করছি, এবং আরও অনেক কিছুর পরিকল্পনা রয়েছে। জেটব্রেইনসের একজন ইঞ্জিনিয়ার রেসিপিগুলোর একটি কম্পোজ মাল্টিপ্ল্যাটফর্ম সংস্করণও প্রকাশ করেছেন।
আপনার যদি কোনো প্রচলিত ব্যবহারের ক্ষেত্র থাকে যার জন্য আপনি একটি প্রণালী দেখতে চান, তাহলে অনুগ্রহ করে একটি প্রণালীর অনুরোধ জমা দিন ।
সারসংক্ষেপ
Nav3 দিয়ে কাজ শুরু করতে, ডকুমেন্টেশন এবং রেসিপিগুলো দেখে নিন। এছাড়াও, পুরো এক সপ্তাহের টেকনিক্যাল কন্টেন্টের জন্য চোখ রাখুন, যার মধ্যে থাকছে:
- এপিআই-এর উপর একটি বিশদ ভিডিও, যেখানে মডুলারাইজেশন, অ্যানিমেশন এবং অ্যাডাপ্টিভ লেআউট নিয়ে আলোচনা করা হয়েছে।
- Nav3 নির্মাণকারী প্রকৌশলীদের সাথে একটি লাইভ ‘আস্ক মি এনিথিং’ (AMA)।
Nav3 স্পটলাইট সপ্তাহ ২০২৫ সালের ১লা ডিসেম্বর থেকে শুরু হচ্ছে।
বরাবরের মতো, যদি কোনো সমস্যা খুঁজে পান, অনুগ্রহ করে এখানে জানান ।
পড়তে থাকুন

পণ্যের খবর
২০২৫ সাল নাগাদ অ্যান্ড্রয়েড ইকোসিস্টেম ফোনের গণ্ডি ছাড়িয়ে বহুদূর প্রসারিত হবে। বর্তমানে, ডেভেলপারদের কাছে ফোল্ডেবল, ট্যাবলেট, এক্সআর, ক্রোমবুক এবং সামঞ্জস্যপূর্ণ গাড়িসহ ৫০ কোটিরও বেশি সক্রিয় ডিভাইসে পৌঁছানোর সুযোগ রয়েছে।
Fahd Imtiaz • ২ মিনিটের পাঠ

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

পণ্যের খবর
অ্যান্ড্রয়েড স্টুডিও পান্ডা ৩ এখন স্থিতিশীল এবং প্রোডাকশনে ব্যবহারের জন্য প্রস্তুত। এই রিলিজটি আপনার এআই-চালিত ওয়ার্কফ্লোর উপর আপনাকে আরও বেশি নিয়ন্ত্রণ এবং কাস্টমাইজেশনের সুযোগ দেয়, যা উচ্চ-মানের অ্যান্ড্রয়েড অ্যাপ তৈরি করাকে আগের চেয়েও সহজ করে তোলে।
Matt Dyor • পড়তে ৩ মিনিট
আপ-টু-ডেট থাকুন
অ্যান্ড্রয়েড ডেভেলপমেন্টের সর্বশেষ তথ্য প্রতি সপ্তাহে আপনার ইনবক্সে পান।




