اسکرول ایک مواد کو اسکرول کرنے کا طریقہ کار ہے جو صارف کو موبائل ڈیوائس کی اسکرین سے باہر کی معلومات دیکھنے کی اجازت دیتا ہے۔ Apple Developer Documentation, 2024 کے مطابق، UIScrollView iOS پر اسکرولنگ کو نافذ کرنے کا بنیادی عنصر ہے۔ Android میں، RecyclerView ایک جیسا کردار ادا کرتا ہے، اشاروں کو سنبھالتا ہے اور ڈیٹا ڈسپلے کا انتظام کرتا ہے۔ اسکرول کے بغیر، جدید موبائل انٹرفیس ناممکن ہوتے — نیوز فیڈز، رابطہ فہرستیں اور متن کے صفحات ہر سیکنڈ میں اسے استعمال کرتے ہیں۔
اہم نکات
اسکرول موبائل ڈیوائس کے ویوپورٹ کے اندر مواد کے نظر آنے والے حصے کو منتقل کرنے کا ایک انٹرایکٹو طریقہ کار ہے۔ صارف اسکرین پر اپنی انگلی پھیرتا ہے، اور مواد اشارے کی سمت میں حرکت کرتا ہے، انٹرفیس کے پوشیدہ حصوں کو ظاہر کرتا ہے۔ اسکرولنگ ایک بنیادی تعامل کا نمونہ ہے: Nielsen Norman Group (2023) کے مطالعے کے مطابق، موبائل ایپلیکیشنز میں 78% وقت صارف مواد کو اسکرول کرنے میں صرف کرتے ہیں۔
موبائل ڈویلپمنٹ میں، اسکرولنگ خصوصی اجزاء کے ذریعے نافذ کی جاتی ہے — iOS میں ScrollView اور Android میں RecyclerView۔ یہ اجزاء نہ صرف چھونے کو سنبھالتے ہیں بلکہ عناصر کے دوبارہ استعمال، اینیمیشن اور جڑت کا بھی انتظام کرتے ہیں۔ ڈویلپر کو صرف کنٹینر کے اندر چائلڈ ویوز رکھنے کی ضرورت ہے، جبکہ اسکرولنگ کی پوری مشینری پلیٹ فارم سنبھالتا ہے۔
Google I/O 2024 کے مطابق، جدید اسکرول نفاذ اشارہ ترکیب استعمال کرتے ہیں: نظام سوائپ کی سمت، رفتار اور انگلی کی سرعت کا تعین کرتا ہے، پھر ہموار سست روی کے لیے ایک طبیعیاتی ماڈل لگاتا ہے۔ اسکرول جڑت کا حساب رگڑ کے گتانک کی بنیاد پر کیا جاتا ہے جو پلیٹ فارمز کے درمیان مختلف ہوتا ہے — iOS Quadratic easing استعمال کرتا ہے، Android Spline پر مبنی انٹرپولیشن استعمال کرتا ہے۔
عمودی اسکرولنگ اسکرولنگ کی سب سے عام قسم ہے، جو نیوز فیڈز، چیٹ فہرستوں اور پروفائلز میں استعمال ہوتی ہے۔ تمام مواد اوپر سے نیچے ترتیب دیا جاتا ہے، اور صارف نیویگیٹ کرنے کے لیے اوپر یا نیچے سوائپ کرتا ہے۔ عمودی اسکرولنگ بدیہی ہے اور ڈیفالٹ طور پر تمام موبائل پلیٹ فارمز پر سپورٹ ہے۔
افقی اسکرولنگ کیروسلز، تصویری گیلریوں اور زمرہ ٹیبز کے لیے استعمال ہوتی ہے۔ iOS میں، افقی ترتیب کے ساتھ UICollectionView استعمال ہوتا ہے؛ Android میں، HorizontalScrollView یا LinearLayoutManager.HORIZONTAL کے ساتھ RecyclerView استعمال ہوتا ہے۔ افقی اسکرولنگ کو محتاط استعمال کی ضرورت ہے کیونکہ یہ سسٹم کے “واپس” اشاروں اور ایپ سوئچنگ سے متصادم ہوتی ہے۔
لامتناہی اسکرول ایک تکنیک ہے جو صارف کے فہرست کے آخر کے قریب پہنچنے پر ڈیٹا لوڈ کرتی ہے۔ جب آخری آئٹم ظاہر ہوتا ہے، ایپ خود بخود سرور سے ڈیٹا کا اگلا بیچ درخواست کرتی ہے۔ UX Collective (2025) کے مطابق، لامتناہی اسکرول مواد ایپس کے لیے مشغولیت کو 40% بڑھاتا ہے لیکن فوٹر تک نیویگیشن میں دشواری کی وجہ سے ای کامرس کے لیے تبدیلی کو کم کرتا ہے۔
پیرالاکس اسکرولنگ گہرائی کا اثر پیدا کرتی ہے: اسکرولنگ کے دوران پس منظر کی پرت پیش منظر سے آہستہ حرکت کرتی ہے۔ یہ تکنیک اکثر لینڈنگ پیجز اور پروفائلز میں بصری اثر کے لیے استعمال ہوتی ہے۔ نفاذ کے لیے مختلف رفتار گتانک والی متعدد تہوں کو اوورلیپ کرنے کی ضرورت ہوتی ہے — iOS میں یہ UIScrollViewDelegate کے ذریعے اور پس منظر کی ویوز کے آفسیٹ کو تبدیل کرکے کیا جاتا ہے۔
iOS میں، اسکرولنگ UIScrollView کلاس کے ذریعے نافذ کی جاتی ہے، جسے UITableView، UICollectionView اور UITextView وراثت میں لیتے ہیں۔ UIScrollView چھونے کو روکتا ہے، چھونے کے پیٹرن کا تجزیہ کرتا ہے اور حرکت ڈیلٹا کا حساب لگاتا ہے۔ اگر صارف تیز حرکت کرتا ہے، تو نظام ایک جڑی اینیمیشن شروع کرتا ہے — سست روی، جس کا حساب فارمولے سے کیا جاتا ہے: velocity * decayFactor ^ t. WWDC 2023 کے مطابق، Apple پیرامیٹرک سست روی 0.998 کے عنصر کے ساتھ استعمال کرتا ہے، جو رگڑ کا قدرتی احساس دیتا ہے۔
Android میں، اسکرولنگ ViewDragHelper اور OverScroller کے ذریعے منظم کی جاتی ہے۔ نظام MotionEvent.ACTION_MOVE ایونٹ وصول کرتا ہے، آفسیٹ کا حساب لگاتا ہے اور اسے scrollY یا scrollX پر لگاتا ہے۔ جڑت کا حساب OverScroller کلاس کرتی ہے، جو ایڈجسٹ ایبل رگڑ کے ساتھ طبعی ماڈل پر مبنی Spline انٹرپولیشن استعمال کرتی ہے۔ ڈیفالٹ رگڑ گتانک 0.015 ہے — قدر جتنی زیادہ ہوگی، اسکرول اتنی ہی تیزی سے رکے گا۔
پلیٹ فارمز کے درمیان کلیدی فرق باؤنس اثر ہے۔ iOS ڈیفالٹ طور پر مواد کی حدود سے باہر اسکرول کرتے وقت ربڑ بینڈ کی تبدیلی (باؤنس) شامل کرتا ہے، صارف کو اطلاع دیتا ہے کہ آخر تک پہنچ گیا ہے۔ Android ورژن 12 سے پہلے اوورسکرول اثر کو واضح طور پر فعال کرنے کی ضرورت تھی، اور Material Design 3 کے ساتھ اسے اسٹریچ اوورسکرول کے لیے مقامی سپورٹ ملی۔ دونوں پلیٹ فارم اسکرول چیننگ ہینڈلنگ میں بھی مختلف ہیں — حد تک پہنچنے پر اندرونی کنٹینر سے والدین کنٹینر تک اسکرول منتقل کرنا۔
| جزو | پلیٹ فارم | اسکرول کی قسم | ورچوئلائزیشن | لی آؤٹ |
|---|---|---|---|---|
| UIScrollView | iOS | عمودی / افقی | نہیں | مواد کا سائز |
| UICollectionView | iOS | عمودی / افقی | ہاں | UICollectionViewLayout |
| RecyclerView | Android | عمودی / افقی | ہاں | LayoutManager |
| ScrollView (Android) | Android | عمودی | نہیں | LinearLayout |
| HorizontalScrollView | Android | افقی | نہیں | LinearLayout |
UIScrollView iOS پر ایک بنیادی کنٹینر ہے جو سیل کے دوبارہ استعمال کی حمایت نہیں کرتا۔ 1000 ویوز شامل کرنے پر، سب میموری میں بنائی جاتی ہیں، جو کارکردگی کے لیے اہم ہے۔ UICollectionView ڈیکیونگ میکانزم کے ذریعے اس مسئلے کو حل کرتا ہے — نظر آنے والے سیل دوبارہ استعمال ہوتے ہیں اور پوشیدہ سیل درجہ بندی سے ہٹا دیے جاتے ہیں۔ Apple Engineering (2023) کے مطابق، Compositional Layout کے ساتھ UICollectionView UIScrollView کے مقابلے بڑے ڈیٹا سیٹس کے ساتھ کام کرتے وقت 50% زیادہ ہموار FPS فراہم کرتا ہے۔
RecyclerView Android پر معیاری اسکرول جزو ہے جو عناصر کے دوبارہ استعمال کے لیے ViewHolder پیٹرن استعمال کرتا ہے۔ RecyclerView لچکدار فن تعمیر رکھتا ہے: LayoutManager ترتیب (Linear, Grid, Staggered) کا تعین کرتا ہے، ItemAnimator اینیمیشن کا انتظام کرتا ہے، اور ItemDecoration فاصلہ اور تقسیم کنندگان شامل کرتا ہے۔ Android Developer Summit 2024 کے مطابق، DiffUtil کے ساتھ RecyclerView 10,000 عناصر کی فہرست اپ ڈیٹ کو 16 ms میں پروسیس کر سکتا ہے — ایک اینیمیشن فریم کے اندر۔
اسکرول کی ہمواری FPS (فریم فی سیکنڈ) میں ماپا جاتا ہے — عام ڈسپلے کے لیے 60 FPS اور ProMotion کے لیے 120 FPS کا ہدف ہے۔ ہر فریم کو 16 ms (60 FPS) یا 8 ms (120 FPS) میں پروسیس کیا جانا چاہیے۔ اگر اسکرول جھٹکا (فریم گرنا) کا سبب بنتا ہے، تو صارف مائیکرو تاخیر محسوس کرتا ہے جو ایپ کے معیار کے تصور کو منفی طور پر متاثر کرتی ہے۔ Google Android Performance (2024) کے مطابق، 75% صارفین باقاعدہ اسکرول تاخیر کا سامنا کرنے پر ایپ کو حذف کر دیتے ہیں۔
اسکرول تاخیر کی بنیادی وجوہات لی آؤٹ تھریشنگ اور ضرورت سے زیادہ مختص ہیں۔ لی آؤٹ تھریشنگ اس وقت ہوتی ہے جب ڈویلپر خصوصیات تبدیل کرنے کے بعد لی آؤٹ پیرامیٹرز (getWidth, getHeight) پڑھتا ہے، دوبارہ گنتی پر مجبور کرتا ہے۔ اس طرح کی ہر کال لی آؤٹ کیشے کو ری سیٹ کرتی ہے اور سسٹم کو Measure اور Layout دوبارہ چلانے پر مجبور کرتی ہے۔ حل پڑھنے اور لکھنے کے آپریشنز کو گروپ کرنا ہے: پہلے تمام پیمائشیں، پھر تمام تبدیلیاں۔
ورچوئلائزیشن بڑی فہرستوں کے لیے ایک اہم اصلاحی تکنیک ہے۔ iOS میں، UICollectionView خود بخود صرف نظر آنے والے عناصر کے لیے سیل بناتا ہے۔ Android میں، RecyclerView دوبارہ استعمال کے قابل viewHolders کا پول استعمال کرتا ہے۔ مزید برآں، پری فیچنگ کا اطلاق ہوتا ہے: نظام 1–2 اسکرین آگے عناصر لوڈ کرتا ہے تاکہ اسکرول کرتے وقت سیل تیار ہوں۔ Android میں، GapWorker اسے سنبھالتا ہے؛ iOS میں — prefetchDataSource۔
تصاویر کو علیحدہ اصلاح کی ضرورت ہوتی ہے۔ پس منظر میں لوڈنگ علیحدہ تھریڈ میں ڈی کوڈنگ کے ساتھ UI تھریڈ کی بلاکنگ کو روکتی ہے۔ Glide (Android) اور Kingfisher (iOS) جیسی لائبریریاں بلٹ ان ڈسک/میموری کیش، سست لوڈنگ اور لوڈنگ کے دوران پلیس ہولڈر فراہم کرتی ہیں۔ SDWebImage بینچ مارکس (2024) کے مطابق، تصویری کیشنگ استعمال کرنے سے براہ راست نیٹ ورک لوڈنگ کے مقابلے گیلری اسکرولنگ میں 60% تیزی آتی ہے۔
ایک اور عام مسئلہ بھاری لی آؤٹ درجہ بندی ہے۔ ہر اندرونی ویو Measure/Layout کا وقت بڑھاتا ہے۔ تجویز کردہ گہرائی 5 اندرونی سطحوں سے زیادہ نہیں ہے۔ Android میں، ConstraintLayout چپٹی درجہ بندی بنانے کی اجازت دیتا ہے، جبکہ iOS میں، Stack Views اور SwiftUI خود بخود لی آؤٹ کو بہتر بناتے ہیں۔ بڑی تعداد میں عناصر پر Shadow اور CornerRadius کا استعمال بھی اسکرول کو سست کرتا ہے — انہیں صرف ضرورت پڑنے پر لگایا جانا چاہیے۔
اکثر پوچھے گئے سوالات
اسکرول ڈیوائس کی اسکرین کے سائز سے زیادہ مواد کو اسکرول کرنے کا طریقہ کار ہے۔ صارف اسکرین پر انگلی پھیرتا ہے اور مواد اشارے کی سمت میں حرکت کرتا ہے، پوشیدہ حصوں کو ظاہر کرتا ہے۔ اسکرولنگ iOS میں UIScrollView اور Android میں RecyclerView کے ذریعے نافذ کی جاتی ہے۔
ScrollView (Android) تمام چائلڈ عناصر کو ایک بار میں میموری میں لوڈ کرتا ہے — 500 عناصر کے ساتھ، تمام 500 ویوز ایک ساتھ بنائی جاتی ہیں۔ RecyclerView ورچوئلائزیشن استعمال کرتا ہے: صرف نظر آنے والے سیل بناتا ہے اور اسکرولنگ کے دوران انہیں دوبارہ استعمال کرتا ہے۔ متحرک ڈیٹا والی فہرستوں کے لیے، ہمیشہ RecyclerView منتخب کریں۔
لامتناہی اسکرول ایک تکنیک ہے جس میں موجودہ فہرست کے آخر تک پہنچنے پر نیا ڈیٹا خود بخود لوڈ ہو جاتا ہے۔ جب صارف نیچے کی حد تک اسکرول کرتا ہے، ایپ API کو درخواست بھیجتی ہے اور نئے عناصر شامل کرتی ہے۔ یہ سوشل نیٹ ورکس اور مواد کی فیڈز میں صارف کے تجربے کو بہتر بناتا ہے۔
اسکرول کی اصلاح میں سیل کے دوبارہ استعمال کے ذریعے عناصر کی ورچوئلائزیشن، کیشنگ کے ساتھ تصاویر کی سست لوڈنگ، چپٹی لی آؤٹ درجہ بندی (5 سطحوں سے زیادہ نہیں)، 1–2 اسکرین آگے ڈیٹا پری فیچنگ اور لی آؤٹ تھریشنگ سے بچنا شامل ہے۔ iOS میں prefetchDataSource استعمال کریں؛ Android میں GapWorker استعمال کریں۔
اسکرول جڑت تیز انگلی پھیرنے کے بعد ہموار سست روی کا اثر ہے۔ نظام انگلی کی حرکت کی رفتار یاد رکھتا ہے اور بتدریج رفتار کم کرتے ہوئے اسکرول جاری رکھتا ہے، طبعی رگڑ کی نقل کرتا ہے۔ iOS Quadratic easing استعمال کرتا ہے، Android 0.015 کے رگڑ گتانک کے ساتھ Spline پر مبنی انٹرپولیشن استعمال کرتا ہے۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں