প্রোডাক্ট সংক্রান্ত খবর

Jetpack Navigation 3 স্থিতিশীল

৩ মিনিট রিডিং
Don Turner-এর প্রোফাইল দেখুন
Don Turner ডেভেলপার রিলেশনস ইঞ্জিনিয়ার

Jetpack Navigation 3 ভার্সন 1.0 এখন স্টেবল 🎉। আজই আপনার প্রোডাকশন অ্যাপে এটি ব্যবহার করুন। JetBrains আগে থেকেই তাদের KotlinConf অ্যাপে এটি ব্যবহার করছে।

Navigation 3 হল একটি নতুন নেভিগেশন লাইব্রেরি যা Jetpack Compose স্টেট-এর সাথে কাজ করার জন্য তৈরি করা হয়েছে। এটি আপনাকে ব্যাক স্ট্যাকের উপর সম্পূর্ণ নিয়ন্ত্রণ দেয়, নেভিগেশন স্টেট ধরে রাখতে সাহায্য করে এবং আপনাকে সহজেই অ্যাডাপ্টিভ লেআউট (যেমন তালিকা-বিবরণ) তৈরি করতে দেয়। এমনকি JetBrains-এর একটি ক্রস-প্ল্যাটফর্ম ভার্সনও আছে।

নতুন লাইব্রেরি কেন?

আসল Jetpack Navigation লাইব্রেরি (এখন Nav2) ৭ বছর আগে ডিজাইন করা হয়েছিল এবং এটি আসল লক্ষ্য ভালভাবে পূরণ করলেও এবং বারবার উন্নত করা হলেও, অ্যাপ এখন যেভাবে তৈরি করা হয় তা মৌলিকভাবে পরিবর্তিত হয়েছে। 

ডিক্লারেটিভ UI সহ রিঅ্যাক্টিভ প্রোগ্রামিং এখন আদর্শ। Nav3 এই পদ্ধতি গ্রহণ করে। যেমন, NavDisplay (Nav3 UI কম্পোনেন্ট যা আপনার স্ক্রিন দেখায়) কম্পোজ স্টেট দ্বারা ব্যাক-আপ করা কী-এর তালিকা (প্রতিটি কী একটি স্ক্রিনকে দেখায়) শুধু পর্যবেক্ষণ করে এবং সেই তালিকা পরিবর্তন হলে তার UI আপডেট করে।

nav-display.png

এছাড়াও, Nav2-এর নিজস্ব ইন্টার্নাল স্টেট থাকার কারণে আপনার নেভিগেশন স্টেটের জন্য সিঙ্গেল সোর্স অফ ট্রুথ পাওয়া কঠিন হতে পারে। Nav3-এর মাধ্যমে, আপনি নিজের স্টেট প্রদান করেন, যা আপনাকে সম্পূর্ণ নিয়ন্ত্রণ দেয়।

সবশেষে, আপনি আরও নমনীয়তা ও কাস্টমাইজ করার সুবিধা চেয়েছেন। Nav3-তে একটিমাত্র, মনোলিথিক API-এর পরিবর্তে ছোট, ডিকাপল করা API (বা "বিল্ডিং ব্লক") প্রদান করা হয়, যেগুলি একসাথে যুক্ত করে জটিল কার্যকারিতা তৈরি করা যায়। Nav3 নিজেই এই বিল্ডিং ব্লকগুলি ব্যবহার করে সুনির্দিষ্ট নেভিগেশন ব্যবহারের ক্ষেত্রে সংবেদনশীল ডিফল্ট প্রদান করে। 

এই পদ্ধতি আপনাকে এগুলি করতে দেয়: 

লঞ্চ ব্লগ থেকে এর ডিজাইন ও ফিচার সম্পর্কে আরও জানুন। 

Navigation 2 থেকে মাইগ্রেট করা

আপনি যদি আগে থেকেই Nav2, বিশেষ করে Navigation Compose ব্যবহার করেন, তাহলে Nav3-এ মাইগ্রেট করার কথা বিবেচনা করা উচিত। এই বিষয়ে আপনাকে সাহায্য করার জন্য একটি মাইগ্রেশন গাইড আছে। মূল ধাপগুলি হল: 

  1. নেভিগেশন ৩ ডিপেন্ডেন্সি যোগ করুন।
  2. NavKey প্রয়োগ করতে আপনার নেভিগেশন রুট আপডেট করুন। Nav3 ব্যবহার করার জন্য আপনার রুটে এই ইন্টারফেস প্রয়োগ করতে হবে না, তবে যদি তা করেন, তাহলে আপনি Nav3-এর rememberNavBackStack ফাংশনের সুবিধা নিয়ে একটি পারসিস্টেন্ট ব্যাক স্ট্যাক তৈরি করতে পারবেন।
  3. আপনার নেভিগেশন স্টেট ধরে রাখতে এবং পরিবর্তন করতে ক্লাস তৈরি করুন - এখানেই আপনার ব্যাক স্ট্যাক রাখা হয়।
  4. NavController-এর পরিবর্তে এই ক্লাসগুলি ব্যবহার করুন।
  5. NavHost-এর NavGraph থেকে আপনার গন্তব্য entryProvider-এ সরান।
  6. NavHost-এর পরিবর্তে NavDisplay ব্যবহার করুন।

AI এজেন্ট মাইগ্রেশন নিয়ে এক্সপেরিমেন্ট করা

আপনি মাইগ্রেশন গাইড পড়তে এবং আপনার প্রোজেক্টে ধাপগুলি পারফর্ম করতে AI এজেন্ট ব্যবহার করে পরীক্ষা করতে চাইতে পারেন। Android Studio-র এজেন্ট মোডে Gemini-এর সাথে এটি ব্যবহার করে দেখতে:

  • আপনার প্রোজেক্টে গাইডের এই মার্কডাউন ভার্সন সেভ করুন।
  • এজেন্টে এই প্রম্পট পেস্ট করুন (তবে Enter প্রেস করবেন না): "ব্যবহার করে এই প্রোজেক্ট Navigation 3-এ মাইগ্রেট করুন"।
  • @migration-guide.md টাইপ করুন - এটি এজেন্টকে প্রসঙ্গ হিসেবে গাইড প্রদান করবে। 

সবসময়ের মতো, AI এজেন্টের করা পরিবর্তনগুলি ভালোভাবে পর্যালোচনা করতে ভুলবেন না - এটি ভুল করতে পারে! 

আপনি বা আপনার এজেন্ট কেমন পারফর্ম করেছেন তা জানতে পারলে আমরা খুশি হব, এখানে আপনার মতামত পাঠান।

সাধারণ পরিস্থিতির জন্য Tasty নেভিগেশন রেসিপি

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

code-recipes.png

বর্তমানে ১৯টি রেসিপি আছে, যার মধ্যে রয়েছে: 

আমরা বর্তমানে ডিপলিঙ্ক রেসিপি এবং Koin ইন্টিগ্রেশন নিয়ে কাজ করছি এবং আরও অনেক কিছু করার পরিকল্পনা আছে। এছাড়াও, JetBrains-এর একজন ইঞ্জিনিয়ার রেসিপির কম্পোজ মাল্টিপ্ল্যাটফর্ম ভার্সন প্রকাশ করেছেন।

আপনার যদি কোনও সাধারণ ব্যবহারের কেস থাকে যার জন্য আপনি রেসিপি দেখতে চান, তাহলে রেসিপির জন্য অনুরোধ ফাইল করুন। 

সারসংক্ষেপ

Nav3 ব্যবহার শুরু করতে, ডকুমেন্ট এবং রেসিপি চেক করুন। এছাড়াও, পুরো সপ্তাহ জুড়ে টেকনিক্যাল কন্টেন্টের উপর নজর রাখুন, যার মধ্যে রয়েছে: 

  • মডুলারাইজেশন, অ্যানিমেশন এবং অ্যাডাপ্টিভ লেআউট কভার করে API-এর উপর একটি ডিপ ডাইভ ভিডিও।
  • Nav3 তৈরি করেছেন এমন ইঞ্জিনিয়ারদের সাথে একটি লাইভ 'আমাকে যেকোনও প্রশ্ন করুন' (AMA) সেশন।

Nav3 স্পটলাইট সপ্তাহ ১ ডিসেম্বর, ২০২৫ থেকে শুরু হচ্ছে। 


আগের মতোই, কোনও সমস্যা দেখতে পেলে, এখানে অভিযোগ জানান। 

লিখেছেন:
পড়া চালিয়ে যান