اسکرین آرکیٹیکچر اور نیویگیشن ایک نظام ہے جو یہ طے کرتا ہے کہ صارف موبائل ایپلیکیشن کی اسکرینوں کے درمیان کیسے منتقل ہوتا ہے، واپس جاتا ہے اور مطلوبہ فنکشنز تلاش کرتا ہے۔ آرکیٹیکچر میں ٹرانزیشن کے قواعد، اسکرین کا درجہ بندی اور پچھلے حصوں میں واپس آنے کے طریقے شامل ہیں۔ Apple Human Interface Guidelines (2025) کے مطابق، اچھی طرح سے ڈیزائن کردہ نیویگیشن صارف کے علمی بوجھ کو 40% کم کرتی ہے، اور صارف معلومات تلاش کرنے میں 25% کم وقت صرف کرتے ہیں۔ اسکرین آرکیٹیکچر کے بنیادی اصولوں میں مہارت حاصل کرکے، آپ بدیہی طور پر واضح ساخت والی ایپلیکیشنز بنا سکیں گے۔
اہم نکات
اسکرین آرکیٹیکچر اور نیویگیشن ایک موبائل ایپلیکیشن کا ڈھانچہ ہے جو دستیاب اسکرینوں اور ان کے درمیان منتقل ہونے کے طریقوں کی وضاحت کرتا ہے۔ ہر اسکرین ایک مخصوص کام حل کرتی ہے: مصنوعات کی فہرست، مصنوعات کا کارڈ، کارٹ یا چیک آؤٹ فارم۔ Apple Human Interface Guidelines (2025) کے مطابق، اچھی طرح سے ڈیزائن کردہ نیویگیشن صارف کے علمی بوجھ کو 40% کم کرتی ہے۔ ابتدائی ڈویلپرز کو تین سے پانچ اسکرینوں کے سادہ منصوبے سے شروع کرنا چاہیے۔
کسی بھی اسکرین آرکیٹیکچر میں تین بنیادی عناصر شامل ہیں: اسکرینیں، ٹرانزیشن اور نیویگیشن کنٹینرز۔ اسکرینیں مواد دکھاتی ہیں، ٹرانزیشن اسکرین تبدیل کرنے کی اینیمیشن کا انتظام کرتی ہیں، اور کنٹینرز صارف کی نقل و حرکت کی ہسٹری محفوظ کرتے ہیں۔ Android پر یہ کردار FragmentManager ادا کرتا ہے، iOS پر — UINavigationController۔ ان تین اجزاء کو سمجھنا صارف دوست انٹرفیس ڈیزائن کرنے کا پہلا قدم ہے۔
موبائل ایپلیکیشنز میں نیویگیشن کی چار اہم اقسام ہیں: اسٹیک، موڈل، ٹیب اور اشارہ پر مبنی۔ اسٹیک ماڈل کارڈز کے ڈھیر کی طرح کام کرتا ہے — ہر نئی اسکرین اوپر رکھی جاتی ہے، اور "واپس" بٹن اوپر والا کارڈ ہٹا دیتا ہے۔ Nielsen Norman Group (2024) کے مطابق، اسٹیک نیویگیشن سب سے زیادہ پیش قیاسی نمونہ ہے، جسے 94% صارفین بغیر تربیت کے سمجھ لیتے ہیں۔ اسٹیک سے شروع کرنے کی سفارش کی جاتی ہے کیونکہ یہ کسی بھی پلیٹ فارم کے صارفین کے لیے بدیہی طور پر واضح ہے۔
موڈل ونڈوز عارضی اسکرینیں ہیں جو مرکزی مواد پر واپس آنے سے پہلے کسی کارروائی کی ضرورت ہوتی ہیں۔ یہ ایک کام کے لیے استعمال ہوتی ہیں: کسی کارروائی کی تصدیق، لاگ ان فارم یا آپشن کا انتخاب۔ اسٹیک کے برعکس، موڈل ونڈو نیویگیشن ہسٹری میں محفوظ نہیں ہوتی۔ نیویگیشن کی قسم ایپلیکیشن کے استعمال کے معاملات کی بنیاد پر منتخب کی جاتی ہے۔
iOS پر نیویگیشن UINavigationController کے گرد بنائی گئی ہے — ایک کنٹرولر جو اسکرین اسٹیک کا انتظام کرتا ہے۔ UINavigationController خود بخود عنوان اور "واپس" بٹن کے ساتھ نیویگیشن بار شامل کرتا ہے۔ Apple Developer Documentation (2025) کے مطابق، App Store میں 85% ایپس UINavigationController کو مرکزی نیویگیشن پیٹرن کے طور پر استعمال کرتی ہیں۔ ابتدائی iOS ڈویلپرز کے لیے UX/UI ڈیزائن کی بنیادی باتوں کے ساتھ push اور pop میں مہارت حاصل کرنا کافی ہے۔
push ٹرانزیشن کے دوران، ایک نئی اسکرین نیویگیشن اسٹیک میں رکھی جاتی ہے اور صارف دائیں جانب سے سلائیڈ ان اینیمیشن دیکھتا ہے۔ pop ٹرانزیشن کے دوران، موجودہ اسکرین اسٹیک سے ہٹا دی جاتی ہے اور صارف پچھلی اسکرین پر واپس آجاتا ہے۔ UINavigationController اسٹیک میں موجود تمام اسکرینوں کے حوالہ جات محفوظ کرتا ہے، جس سے صارف کئی قدم پیچھے جا سکتا ہے۔ IT Sectr میں، ہم تمام iOS پروجیکٹس میں لکیری صارف منظرنامے بنانے کے لیے اس طریقے کو استعمال کرتے ہیں۔
Android پر اسکرین آرکیٹیکچر Navigation Component کے ذریعے لاگو کیا جاتا ہے — Google کی ایک لائبریری جو نیویگیشن بنانے کے لیے ہے۔ Navigation Component ایک نیویگیشن گراف (nav graph) استعمال کرتا ہے، جہاں ہر اسکرین ایک نوڈ ہے اور ٹرانزیشن ان کے درمیان کنارے ہیں۔ Android Developers Guide (2025) کے مطابق، Navigation Component دستی FragmentManager کے مقابلے میں نیویگیشن کی غلطیوں کو 60% کم کرتا ہے۔ ابتدائی Android ڈویلپرز کو فوری طور پر Navigation Component سیکھنے کی سفارش کی جاتی ہے۔
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
// nav_graph.xml میں:
<!--
<fragment android:id="@+id/homeFragment"
android:name=".HomeFragment" />
<fragment android:id="@+id/detailFragment"
android:name=".DetailFragment" />
<action android:id="@+id/toDetail"
app:destination="@id/detailFragment" />
-->
// بٹن دبانے پر نیویگیٹ کریں:
view.findViewById<Button>(R.id.open_detail).setOnClickListener {
findNavController().navigate(R.id.toDetail)
}
Navigation Component سے پہلے، ڈویلپرز FragmentManager کے ذریعے ٹرانزیشن کا انتظام کرتے تھے — فریگمنٹ تبدیل کرنے کے لیے ایک سسٹم کلاس۔ FragmentManager ٹرانزیکشنز کے ساتھ کام کرتا ہے: اسکرین پر فریگمنٹ تبدیل کرنے کے لیے replace, add, remove۔ تاہم، اس کے لیے دستی اسٹیک اور اسٹیٹ مینجمنٹ کی ضرورت ہوتی ہے، جو اکثر غلطیوں کا باعث بنتی ہے۔ Google باضابطہ طور پر دستی FragmentManager کے محفوظ متبادل کے طور پر Navigation Component کی سفارش کرتا ہے۔
ابتدائی ڈویلپرز اکثر اسکرین آرکیٹیکچر ڈیزائن کرتے وقت عام غلطیاں کرتے ہیں۔ سب سے عام نیویگیشن کے ایک مرکزی کنٹرول کی کمی ہے، جب ٹرانزیشن پورے کوڈ میں بکھری ہوتی ہیں۔ Google Play Console تجزیہ (2025) کے مطابق، افراتفری والی نیویگیشن والی ایپس میں ٹرانزیشن سے متعلق 37% زیادہ کریش رپورٹس ہوتی ہیں۔ ایک واحد روٹر یا نیویگیشن گراف اس مسئلے کو حل کرتا ہے۔
بہت سے ابتدائی افراد Android پر سسٹم "واپس" بٹن یا iOS پر سوائپ جیسچر کو ہینڈل کرنا بھول جاتے ہیں۔ غیر ہینڈل شدہ واپسی ایپلیکیشن کے پھنسنے یا غیر متوقع طور پر بند ہونے کا سبب بنتی ہے۔ Android پر، اگر نیویگیشن گراف کنفیگر کیا گیا ہو تو Navigation Component "واپس" بٹن کو خود بخود ہینڈل کرتا ہے۔ نیچے OnBackPressedDispatcher کے ساتھ "واپس" بٹن کو ہینڈل کرنے کی ایک مثال ہے۔
class MyFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
val callback = OnBackPressedCallback(true) {
if (isSheetExpanded) {
collapseSheet()
isEnabled = false
} else {
isEnabled = false
requireActivity().onBackPressedDispatcher.onBackPressed()
}
}
requireActivity().onBackPressedDispatcher.addCallback(
viewLifecycleOwner, callback
)
}
}
کوڈ چیک کرتا ہے کہ آیا Bottom Sheet پینل پھیلا ہوا ہے: اگر ہاں — اسے سکیڑتا ہے، اگر نہیں — سسٹم ڈسپیچر کو ایونٹ بھیجتا ہے۔ Android میں کسٹم "واپس" ہینڈلنگ کے لیے یہ ایک معیاری نمونہ ہے۔
اکثر پوچھے گئے سوالات
اسکرین آرکیٹیکچر موبائل ایپلیکیشن کی اسکرینوں کے درمیان ٹرانزیشن کا ڈھانچہ ہے۔ یہ طے کرتا ہے کہ صارف کے لیے کون سی اسکرینیں دستیاب ہیں، وہ کس ترتیب سے کھلتی ہیں اور صارف پچھلے حصے میں کیسے واپس آتا ہے۔ اچھی طرح سے ڈیزائن کردہ آرکیٹیکچر انٹرفیس کو بدیہی بناتا ہے اور ڈویلپمنٹ کے دوران نیویگیشن سے متعلق بگز کی تعداد کو نمایاں طور پر کم کرتا ہے۔
موبائل ایپلیکیشنز میں نیویگیشن کی اسٹیک، موڈل اور ٹیب اقسام ہیں۔ اسٹیک نیویگیشن واپسی کے ساتھ اسکرینوں کے ڈھیر کی طرح کام کرتی ہے۔ موڈل ایک کام کے لیے عارضی ونڈوز کھولتا ہے۔ ٹیب نیویگیشن ایپ کو حصوں میں تقسیم کرتی ہے جن کے درمیان سوئچ کیا جا سکتا ہے۔ قسم کا انتخاب ڈویلپر کے کاموں اور صارف کی ضروریات پر منحصر ہے۔
اسٹیک نیویگیشن ٹرانزیشن کی ہسٹری میں محفوظ ہوتی ہے — صارف کسی بھی پچھلی اسکرین پر واپس آ سکتا ہے۔ موڈل ونڈوز محفوظ نہیں ہوتیں: بند ہونے کے بعد صارف براہ راست اس اسکرین پر آتا ہے جہاں سے اس نے ونڈو کھولی تھی۔ اسٹیک ترتیب وار کاموں کے لیے موزوں ہے (مصنوعات کا انتخاب — کارٹ — ادائیگی)، موڈل ونڈوز واحد کارروائیوں کے لیے۔
Android کے لیے Navigation Component (Google کی جدید لائبریری) استعمال کرنے کی سفارش کی جاتی ہے۔ یہ خود بخود اسٹیک، "واپس" بٹن اور ڈیپ لنکس کا انتظام کرتا ہے۔ FragmentManager ایک پرانا ٹول ہے جس کے لیے دستی اسٹیٹ مینجمنٹ کی ضرورت ہوتی ہے۔ Google باضابطہ طور پر تمام نئے پروجیکٹس کے لیے Navigation Component کی سفارش کرتا ہے۔
اچھی طرح سے منصوبہ بند اسکرین آرکیٹیکچر کے بغیر، ایپلیکیشن جلدی سے افراتفری کا شکار ہو جاتی ہے، جہاں ہر نئی اسکرین بغیر نظام کے شامل کی جاتی ہے۔ اس سے ٹرانزیشن کی غلطیاں اور نئی خصوصیات شامل کرنے میں مشکلات پیدا ہوتی ہیں۔ Google Play Console کے مطابق، نیویگیشن آرکیٹیکچر کے بغیر ایپس میں 37% زیادہ بگز ہوتے ہیں۔ شروع میں اسکرینوں کی منصوبہ بندی ڈویلپمنٹ کے 30% تک وقت بچاتی ہے۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔