সোয়াইপ হল একটি অঙ্গভঙ্গি যেখানে আঙুল দিয়ে স্ক্রিনে স্লাইড করা হয়, যা মোবাইল ইন্টারফেসে যোগাযোগের প্রধান উপায়গুলির মধ্যে একটি হয়ে উঠেছে। সাধারণ ছবি ওল্টানো থেকে শুরু করে ইমেল মুছে ফেলা পর্যন্ত — সোয়াইপ অনেক বোতাম প্রতিস্থাপন করেছে এবং নিয়ন্ত্রণকে আরও স্বাভাবিক করে তুলেছে। Apple Human Interface Guidelines (2024) অনুসারে, সোয়াইপ অঙ্গভঙ্গি ট্যাপের পরে দ্বিতীয় সর্বাধিক ব্যবহৃত হয়, যা মোবাইল অ্যাপ্লিকেশনে সমস্ত ইন্টারঅ্যাকশনের 22% গঠন করে।
মূল বিষয়
সোয়াইপ (swipe) হল একটি অঙ্গভঙ্গি যেখানে ব্যবহারকারী একটি নির্দিষ্ট দিকে স্ক্রিনে আঙুল স্লাইড করে, একটি ক্রিয়া শুরু করে। ট্যাপ (সংক্ষিপ্ত স্পর্শ) থেকে ভিন্ন, সোয়াইপে পুরো অঙ্গভঙ্গি জুড়ে গতি এবং স্ক্রিনের সাথে যোগাযোগ জড়িত।
সোয়াইপের ইতিহাস 2007 সালে প্রথম iPhone দিয়ে শুরু হয় — “slide to unlock” অঙ্গভঙ্গি মোবাইল ইন্টারফেসের বৈশিষ্ট্য হয়ে ওঠে। আজ, সোয়াইপ হাজার হাজার অ্যাপ্লিকেশনে নেভিগেশন, বিষয়বস্তু পরিচালনা এবং তথ্য সংগঠনের জন্য ব্যবহৃত হয়।
UX Planet (2025) অনুসারে, অঙ্গভঙ্গি নিয়ন্ত্রণ (সোয়াইপ সহ) বিশিষ্ট অ্যাপ্লিকেশনগুলি 18% বেশি ব্যবহারকারীর ব্যস্ততা দেখায়। সোয়াইপ বোতাম চাপার তুলনায় আরও স্বাভাবিক ক্রিয়া হিসাবে বিবেচিত হয়, কারণ এটি বস্তুর শারীরিক গতি অনুকরণ করে।
প্রধান প্যারামিটারগুলি যা নির্ধারণ করে যে একটি অঙ্গভঙ্গি সোয়াইপ কিনা: ন্যূনতম দূরত্ব (সাধারণত 30–50 পিক্সেল), সরলরেখা থেকে সর্বোচ্চ বিচ্যুতি (15–20 ডিগ্রির বেশি নয়) এবং সর্বোচ্চ যোগাযোগের সময়কাল (500 মি.সে. পর্যন্ত)। যদি আঙুল স্ক্রিনে বেশি সময় থাকে, তবে অঙ্গভঙ্গিটি ড্র্যাগ বা লং প্রেস হিসাবে শ্রেণীবদ্ধ করা হয়।
গতির দিক অনুসারে, সোয়াইপগুলি চারটি প্রধান প্রকারে বিভক্ত: বাম, ডান, উপরে এবং নিচে। প্রতিটি প্রকারের নিজস্ব উদ্দেশ্য এবং ব্যবহারের প্রসঙ্গ রয়েছে।
| সোয়াইপের প্রকার | ক্রিয়া | ব্যবহারের উদাহরণ |
|---|---|---|
| বাম | মুছে ফেলা, আর্কাইভ করা, লুকানো | Mail-এ ইমেল মুছে ফেলা, Tinder-এ লুকানো |
| ডান | নিশ্চিত করা, দেখা | Tinder-এ লাইক, “পড়া হয়েছে” হিসাবে চিহ্নিত করা |
| উপরে | রিফ্রেশ করা, বন্ধ করা | পুল-টু-রিফ্রেশ, ড্রয়ার বন্ধ করতে সোয়াইপ |
| নিচে | পিছনে নেভিগেট, খোলা | iOS-এ ফিরতে নিচে সোয়াইপ, নোটিফিকেশন সেন্টার |
অনুভূমিক সোয়াইপ (বাম/ডান) প্রায়শই পৃথক আইটেম পরিচালনার জন্য ব্যবহৃত হয় — মুছে ফেলা, আর্কাইভ করা, ওল্টানো। উল্লম্ব সোয়াইপ (উপর/নিচ) — স্ক্রিনের মধ্যে নেভিগেট করতে এবং বিষয়বস্তু রিফ্রেশ করতে। Material Design Guidelines (2024) অনুসারে, অনুভূমিক সোয়াইপ ডানহাতি ব্যক্তিদের জন্য আরও সুবিধাজনক: ডান হাতে বুড়ো আঙুল বামে সরানো আরও স্বাভাবিক।
দুই এবং তিন আঙুলের সোয়াইপ উন্নত ক্রিয়াকলাপের জন্য ব্যবহৃত হয়। দুই আঙুল — iPad-এ ডেস্কটপের মধ্যে স্যুইচ করা, পূর্বাবস্থায় ফিরিয়ে আনা (তিন-আঙুল সোয়াইপ)। তিন আঙুল — কিছু ডিভাইসে স্ক্রিনশট। তবে, মাল্টি-ফিঙ্গার অঙ্গভঙ্গি কম স্বজ্ঞাত এবং ব্যবহারকারীর প্রশিক্ষণ প্রয়োজন।
iOS-এ, অঙ্গভঙ্গি পরিচালনা UIGestureRecognizer-এর উপর নির্মিত — একটি বিমূর্ত ক্লাস যা টাচ ইভেন্টের ক্রম বিশ্লেষণ করে এবং নির্ধারণ করে যে সেগুলি একটি নির্দিষ্ট অঙ্গভঙ্গির সাথে মেলে কিনা।
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let swipeLeft = UISwipeGestureRecognizer(
target: self,
action: #selector(handleSwipe)
)
swipeLeft.direction = .left
view.addGestureRecognizer(swipeLeft)
}
@objc func handleSwipe(sender: UISwipeGestureRecognizer) {
print("বামে সোয়াইপ করুন")
}
}
UISwipeGestureRecognizer দিক (direction) এবং আঙুলের সংখ্যা (numberOfTouchesRequired) কনফিগারেশন সমর্থন করে। ডিফল্টরূপে, একটি আঙুল এবং ডান দিক প্রয়োজন। অন্যান্য দিক শনাক্ত করতে, আপনাকে স্পষ্টভাবে দিক নির্দিষ্ট করতে হবে: .left, .up, .down।
একটি উচ্চ-স্তরের API — UICollectionViewLayout সোয়াইপ অ্যাকশন সমর্থন সহ। iOS 11 থেকে, টেবিল এবং সংগ্রহগুলি UISwipeActionsConfiguration-এর মাধ্যমে অন্তর্নির্মিত সোয়াইপ অ্যাকশন সমর্থন করে, যা ম্যানুয়াল অঙ্গভঙ্গি পরিচালনা ছাড়াই মুছে ফেলা বা আর্কাইভ করার বোতাম যোগ করার অনুমতি দেয়।
Android-এ, সোয়াইপ পরিচালনা GestureDetector-এর মাধ্যমে নির্মিত — একটি ক্লাস যা MotionEvents বিশ্লেষণ করে এবং সংশ্লিষ্ট কলব্যাক পদ্ধতি কল করে।
class SwipeActivity : AppCompatActivity() {
private val swipeThreshold = 100
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val gestureDetector = GestureDetector(this, object : GestureDetector.SimpleOnGestureListener() {
override fun onFling(
e1: MotionEvent, e2: MotionEvent,
velocityX: Float, velocityY: Float
): Boolean {
val dx = e2.x - e1.x
if (dx > swipeThreshold) {
println("ডানে সোয়াইপ করুন")
}
return true
}
})
}
}
GestureDetector-এ onFling পদ্ধতি কল করা হয় যখন ব্যবহারকারী দ্রুত স্ক্রিনে আঙুল সোয়াইপ করে। এটি প্রারম্ভিক এবং শেষের স্থানাঙ্ক (e1, e2) এবং গতির বেগ (velocityX, velocityY) গ্রহণ করে। দিক নির্ধারণ করতে, X বা Y অক্ষ বরাবর স্থানাঙ্কের পার্থক্য তুলনা করা হয়।
AndroidX লাইব্রেরি আরও সুবিধাজনক API প্রদান করে: পুল-টু-রিফ্রেশের জন্য ViewCompat.setSwipeRefreshLayout, তালিকায় সোয়াইপ অ্যাকশনের জন্য RecyclerView-এর সাথে ItemTouchHelper। ItemTouchHelper ভিজুয়াল প্রতিক্রিয়া — আইকন, পটভূমির রঙ এবং অ্যানিমেশন সহ সোয়াইপ কার্যকারিতা যোগ করার অনুমতি দেয়।
ওয়েব ডেভেলপমেন্টে, সোয়াইপ পরিচালনার জন্য Touch Events API (touchstart, touchmove, touchend) এবং Hammer.js বা Swiper.js-এর মতো র্যাপার লাইব্রেরি ব্যবহার করা হয়।
let startX = 0;
let startY = 0;
const threshold = 50;
element.addEventListener("touchstart", (e) => {
startX = e.touches[0].clientX;
startY = e.touches[0].clientY;
});
element.addEventListener("touchend", (e) => {
const dx = e.changedTouches[0].clientX - startX;
const dy = e.changedTouches[0].clientY - startY;
if (Math.abs(dx) > threshold) {
console.log(dx > 0 ? "ডানে সোয়াইপ করুন" : "বামে সোয়াইপ করুন");
}
});
Touch Events API — ব্রাউজারে অঙ্গভঙ্গি পরিচালনার একটি নেটিভ উপায়। touchstart ইভেন্ট প্রারম্ভিক স্থানাঙ্ক রেকর্ড করে, touchmove গতি ট্র্যাক করে, touchend ফলাফল নির্ধারণ করে। থ্রেশহোল্ড মান আকস্মিক স্পর্শ ফিল্টার করে।
Can I Use (2026) অনুসারে, Touch Events API 98% ব্রাউজার দ্বারা সমর্থিত। জটিল অঙ্গভঙ্গি দৃশ্যকল্পের (একাধিক সোয়াইপ, দিক শনাক্তকরণ) জন্য, Hammer.js লাইব্রেরি ব্যবহার করার সুপারিশ করা হয়, যা নিম্ন-স্তরের পরিচালনাকে বিমূর্ত করে এবং একটি স্পষ্ট API প্রদান করে।
সোয়াইপ সহ সফল UX প্যাটার্ন মোবাইল ইন্টারফেসের বিবর্তনের বছরের পর বছর ধরে গঠিত হয়েছে। এগুলি ব্যবহার নিশ্চিত করে যে ব্যবহারকারী অতিরিক্ত প্রশিক্ষণ ছাড়াই বুঝতে পারে কীভাবে অঙ্গভঙ্গি কাজ করে।
“সোয়াইপ টু ডিলিট” প্যাটার্ন সবচেয়ে সাধারণ। তালিকার আইটেমে বামে সোয়াইপ করলে একটি মুছে ফেলার বোতাম দেখা যায়। iOS (SwipeActionsConfiguration) এবং Android (ItemTouchHelper)-এ মানসম্মত। ব্যবহারকারীরা আশা করে যে বামে সোয়াইপ করলে আইটেম মুছে বা আর্কাইভ হবে।
“সোয়াইপ টু গো ব্যাক” প্যাটার্ন — পূর্ববর্তী স্ক্রিনে ফিরে যেতে স্ক্রিনের বাম প্রান্ত থেকে সোয়াইপ করা। iPhone X-এর পরে iOS-এ মান হয়ে উঠেছে। Android-এ, অনুরূপ নেভিগেশন সিস্টেম অঙ্গভঙ্গির মাধ্যমে কাজ করে। আপনার নিজের অ্যাপ্লিকেশনগুলিতে এই সিস্টেম অঙ্গভঙ্গির সাথে বিরোধ না করা গুরুত্বপূর্ণ।
“পুল টু রিফ্রেশ” প্যাটার্ন — বিষয়বস্তু রিফ্রেশ করতে নিচে সোয়াইপ করা। Loren Brichter Tweetie (2008)-এর জন্য উদ্ভাবন করেছিলেন, এখন লক্ষ লক্ষ অ্যাপ্লিকেশনে ব্যবহৃত হয়। উভয় প্ল্যাটফর্মের মানক উপাদানগুলিতে বাস্তবায়িত।
সচরাচর জিজ্ঞাসিত প্রশ্ন
সোয়াইপ — আঙুলের দ্রুত নড়াচড়া তারপর উত্তোলন। ড্র্যাগ — ধ্রুবক যোগাযোগ সহ ধীর নড়াচড়া। প্রধান পার্থক্যটি গতিতে: সোয়াইপের জন্য বেগের থ্রেশহোল্ড গুরুত্বপূর্ণ, ড্র্যাগের জন্য — শুধুমাত্র স্থানচ্যুতি স্থানাঙ্ক।
iOS এবং Android প্রায় 30–50 পিক্সেলের থ্রেশহোল্ড ব্যবহার করে। ওয়েব অ্যাপ্লিকেশনের জন্য 40–60 পিক্সেলের থ্রেশহোল্ড সুপারিশ করা হয়। ছোট মান স্ক্রলিংয়ের সময় মিথ্যা সক্রিয়তার দিকে নিয়ে যায়, বড় মান খুব প্রশস্ত নড়াচড়ার প্রয়োজন করে।
দিক অনুসারে অঙ্গভঙ্গির অগ্রাধিকার নির্ধারণ করুন: অনুভূমিক সোয়াইপ উল্লম্ব স্ক্রল ব্লক করে, উল্লম্ব সোয়াইপ অনুভূমিক স্ক্রল ব্লক করে। iOS-এ, অগ্রাধিকার পরিচালনা করতে UIScrollViewDelegate পদ্ধতি gestureRecognizerShouldBegin ব্যবহার করুন।
স্ট্যান্ডার্ড সোয়াইপের (মুছে ফেলা, পিছনে যাওয়া) জন্য প্রশিক্ষণের প্রয়োজন নেই — ব্যবহারকারীরা এগুলির সাথে পরিচিত। অনন্য অঙ্গভঙ্গির জন্য (তিন-আঙুল সোয়াইপ, অ-মানক দিক) ভিজুয়াল প্রদর্শন সহ অনবোর্ডিং প্রয়োজন।
সর্বদা সোয়াইপ ক্রিয়াগুলি বোতামের সাথে ডুপ্লিকেট করুন। কম্পনযুক্ত ব্যবহারকারীদের জন্য থ্রেশহোল্ড 70–100 পিক্সেল এবং টাইমআউট 800 মি.সে. পর্যন্ত বাড়ান। উপলব্ধ সোয়াইপ ক্রিয়া ঘোষণা করতে VoiceOver/TalkBack ব্যবহার করুন।
সারসংক্ষেপ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন