পণ্যের খবর

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

৩ মিনিটের পাঠ
Don Turner
ডেভেলপার সম্পর্ক প্রকৌশলী

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

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

নতুন গ্রন্থাগার কেন?

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

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

nav-display.png

Nav2-এর নিজস্ব অভ্যন্তরীণ স্টেট থাকার কারণে, আপনার নেভিগেশন স্টেটের জন্য একটি একক নির্ভরযোগ্য উৎস থাকা কঠিন হতে পারে। Nav3-এর ক্ষেত্রে, আপনি আপনার নিজস্ব স্টেট সরবরাহ করেন, যা আপনাকে সম্পূর্ণ নিয়ন্ত্রণ দেয়।

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

এই পদ্ধতিটি আপনাকে নিম্নলিখিত সুবিধাগুলো দেয়:

এর ডিজাইন ও বৈশিষ্ট্য সম্পর্কে আরও জানতে লঞ্চ ব্লগটি পড়ুন।

নেভিগেশন ২ থেকে স্থানান্তরিত হচ্ছে

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

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

এআই এজেন্ট মাইগ্রেশন নিয়ে পরীক্ষা-নিরীক্ষা

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

  • গাইডটির এই মার্কডাউন সংস্করণটি আপনার প্রজেক্টে সংরক্ষণ করুন।
  • এই প্রম্পটটি এজেন্টে পেস্ট করুন (কিন্তু এন্টার চাপবেন না): "এই প্রজেক্টটি নেভিগেশন ৩-এ মাইগ্রেট করতে " ব্যবহার করুন।
  • @migration-guide.md টাইপ করুন - এটি এজেন্টকে প্রাসঙ্গিক তথ্য হিসেবে গাইডটি সরবরাহ করবে।

বরাবরের মতোই, এআই এজেন্টের করা পরিবর্তনগুলো সাবধানে পর্যালোচনা করে নিন — এটি ভুল করতে পারে!

আপনি বা আপনার প্রতিনিধি কেমন কাজ করেছেন তা আমরা জানতে আগ্রহী, অনুগ্রহ করে আপনার মতামত এখানে পাঠান

সাধারণ পরিস্থিতিগুলির জন্য সুস্বাদু নেভিগেশন রেসিপি

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

কোড-রেসিপি.png

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

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

আপনার যদি কোনো প্রচলিত ব্যবহারের ক্ষেত্র থাকে যার জন্য আপনি একটি প্রণালী দেখতে চান, তাহলে অনুগ্রহ করে একটি প্রণালীর অনুরোধ জমা দিন

সারসংক্ষেপ

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

  • এপিআই-এর উপর একটি বিশদ ভিডিও, যেখানে মডুলারাইজেশন, অ্যানিমেশন এবং অ্যাডাপ্টিভ লেআউট নিয়ে আলোচনা করা হয়েছে।
  • Nav3 নির্মাণকারী প্রকৌশলীদের সাথে একটি লাইভ ‘আস্ক মি এনিথিং’ (AMA)।

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


বরাবরের মতো, যদি কোনো সমস্যা খুঁজে পান, অনুগ্রহ করে এখানে জানান

লিখেছেন:

পড়তে থাকুন