মোবাইল ডেভেলপমেন্টে বিল্ড এবং ডিপ্লয়মেন্ট: এটি কী, কী ফরম্যাট এবং এটি কীভাবে কাজ করে

লেখক: IT Sectr প্রকাশিত: 2026-04-07 পড়ার সময়: 10 মিনিট

মোবাইল অ্যাপ্লিকেশনের বিল্ড এবং ডিপ্লয়মেন্ট — সোর্স কোডকে একটি ইনস্টলেবল ফাইল (APK, AAB, IPA)-এ রূপান্তর এবং অ্যাপ স্টোরগুলিতে আপলোড করার প্রক্রিয়া। Google Play Console (2025)-এর মতে, Android App Bundle (AAB) আগস্ট 2021 থেকে Google Play-তে প্রকাশের জন্য বাধ্যতামূলক ফরম্যাট। এই নিবন্ধে আমরা বিল্ড ফরম্যাট, কম্পাইলেশন, কোড সাইনিং, প্রকাশনা প্রক্রিয়া এবং বিটা টেস্টিং নিয়ে আলোচনা করব।

মূল পয়েন্ট

  • APK — Android-এর ক্লাসিক ইনস্টলেবল ফাইল; AAB — ডায়নামিক APK জেনারেশন সহ Google Play-এর জন্য আধুনিক ফরম্যাট।
  • IPA — iOS ইনস্টলেবল ফাইল, Apple সার্টিফিকেট দিয়ে সাইন করা। শুধুমাত্র macOS-এ বিল্ড।
  • কম্পাইলেশন: JIT (Android 6.0 পর্যন্ত), AOT (Android 7+ ART), Bitcode (iOS, ঐচ্ছিক)।
  • Code Signing — ডেভেলপারের পরিচয় সনাক্ত করতে ডিজিটাল সার্টিফিকেট দিয়ে অ্যাপ্লিকেশনের বাধ্যতামূলক সাইনিং।
  • TestFlight (iOS) এবং Internal Testing (Android) — প্রকাশের আগে বিটা টেস্টিংয়ের টুল।

বিল্ড ফরম্যাট: APK, AAB, IPA

APK বনাম AAB

APK (Android Package Kit) — Android-এ মোবাইল অ্যাপ্লিকেশন বিল্ড এবং প্রকাশের ঐতিহ্যবাহী ফরম্যাট। APK-তে অ্যাপ্লিকেশনের সমস্ত কোড, রিসোর্স এবং ম্যানিফেস্ট থাকে। AAB (Android App Bundle) — Google 2018 সালে চালু করা একটি ফরম্যাট এবং আগস্ট 2021 থেকে নতুন অ্যাপ্লিকেশনের জন্য বাধ্যতামূলক হয়েছে। AAB সরাসরি ইনস্টল হয় না — Google Play প্রতিটি ডিভাইসের জন্য AAB থেকে ডায়নামিকভাবে অপ্টিমাইজড APK জেনারেট করে।

AAB-এর সুবিধা: ডাউনলোড আকার গড়ে 15% ছোট (শুধুমাত্র প্রয়োজনীয় রিসোর্স সরবরাহ করার কারণে: সঠিক স্ক্রিন ডেনসিটি, ভাষা, CPU আর্কিটেকচার)। AAB মডুলার ডেলিভারিও সমর্থন করে — আপনি অন ডিমান্ড (Play Feature Delivery) বা বিলম্বিত (Play On-Demand) মডিউল লোড করতে পারেন। ডেভেলপারদের জন্য AAB বাধ্যতামূলক; Google Play-এর বাইরে বিতরণের জন্য (সাইডলোডিং, মার্কেটপ্লেস) — শুধুমাত্র APK।

IPA

IPA (iOS App Store Package) — iOS ইনস্টলেবল ফাইল, যা একটি সাইন করা অ্যাপ্লিকেশন সহ একটি ZIP আর্কাইভ। IPA-তে Payload/ ফোল্ডার .app বান্ডল, Provisioning Profile এবং সাইনিং থাকে। IPA শুধুমাত্র macOS-এ Xcode-এর মাধ্যমে বিল্ড করা হয়, যা একটি আর্কাইভ (.xcarchive) তৈরি করে এবং IPA এক্সপোর্ট করে। App Store-এর মাধ্যমে বিতরণের জন্য IPA Apple Distribution Certificate দিয়ে সাইন করা হয়; Ad Hoc বা Enterprise-এর জন্য — সংশ্লিষ্ট সার্টিফিকেট দিয়ে।

iOS এবং Android বিল্ড ফরম্যাটের তুলনা
প্যারামিটার APK AAB IPA
প্ল্যাটফর্মAndroidAndroid (Google Play)iOS
ফরম্যাটZIP আর্কাইভZIP আর্কাইভZIP আর্কাইভ
সরাসরি ইনস্টলেশনহ্যাঁনা (Google Play-এর মাধ্যমে)App Store / MDM-এর মাধ্যমে
সাইনিংKeystore (JKS)Keystore (JKS/PEPK)Apple Certificate
App Thinningনাহ্যাঁ (স্বয়ংক্রিয়)হ্যাঁ (Slicing, Bitcode)

কম্পাইলেশন এবং অপ্টিমাইজেশন: JIT, AOT, ART, Bitcode

JIT বনাম AOT

JIT (Just-In-Time) — অ্যাপ্লিকেশন এক্সিকিউশনের সময় কোডের কম্পাইলেশন, যা বিল্ড এবং প্রকাশনার গতিকে প্রভাবিত করে। Android সংস্করণ 5.0 (Lollipop) পর্যন্ত JIT কম্পাইলেশন সহ Dalvik VM ব্যবহার করা হত। প্রতিটি অ্যাপ্লিকেশন লঞ্চে DEX বাইটকোড «মুহূর্তে» মেশিন কোডে রূপান্তরিত হত। ত্রুটি: প্রথম লঞ্চে ধীরগতি এবং অতিরিক্ত শক্তি খরচ। AOT (Ahead-Of-Time) — অ্যাপ্লিকেশন লঞ্চের আগে, ইনস্টলেশনের সময় কোডের কম্পাইলেশন। Android 7.0 (Nougat) থেকে, ART (Android Runtime) ইনস্টলেশনের সময় অ্যাপ্লিকেশনটি সম্পূর্ণভাবে কম্পাইল করে।

ART (Android Runtime) — রানটাইম পরিবেশ যা Android 5.0-এ Dalvik-কে প্রতিস্থাপন করেছে। ART একটি হাইব্রিড পদ্ধতি ব্যবহার করে: ইনস্টলেশনের সময় AOT কম্পাইলেশন + ঘন ঘন এক্সিকিউটেড মেথডের জন্য JIT। এটি AOT-এর গতি (দ্রুত স্টার্টআপ) এবং JIT-এর নমনীয়তা (অ্যাডাপটিভ অপ্টিমাইজেশন) একত্রিত করে। ফলাফল: Dalvik-এর তুলনায় Android অ্যাপ্লিকেশনের পারফরম্যান্স 20-30% বেড়েছে। ডেভেলপারদের জন্য, ART-তে রূপান্তর স্বচ্ছ — কোডে পরিবর্তনের প্রয়োজন নেই।

Bitcode এবং App Thinning

Bitcode — কোডের একটি মধ্যবর্তী উপস্থাপনা (IR) যা Apple বিভিন্ন প্রসেসর আর্কিটেকচারের জন্য IPA পুনরায় কম্পাইল করতে ব্যবহার করে। Bitcode ঐচ্ছিক: iOS অ্যাপ্লিকেশনের জন্য এটি ডিফল্টভাবে সক্রিয়, watchOS এবং tvOS-এর জন্য বাধ্যতামূলক। Apple নতুন প্রসেসর প্রকাশের সময় ডেভেলপারের অংশগ্রহণ ছাড়াই Bitcode পুনরায় কম্পাইল করতে পারে। App Thinning — Apple-এর প্রযুক্তি যার মধ্যে Slicing (ডিভাইসের জন্য শুধুমাত্র প্রয়োজনীয় রিসোর্স সরবরাহ) এবং On-Demand Resources (প্রয়োজন অনুযায়ী রিসোর্স লোড) অন্তর্ভুক্ত। App Thinning App Store থেকে ডাউনলোডের আকার 30-50% কমিয়ে দেয়।

DEX — Android-এর জন্য বাইটকোড ফরম্যাট, ART/Dalvik দ্বারা এক্সিকিউটেড। Kotlin/Java সোর্স কোড class ফাইলে কম্পাইল হয়, তারপর dx বা d8 (আধুনিক এবং দ্রুত টুল) এর মাধ্যমে DEX-এ। Multidex — অ্যাপ্লিকেশনের জন্য একটি মেকানিজম যা একটি DEX ফাইলে 65,536 মেথডের সীমা অতিক্রম করে। আধুনিক প্রজেক্টে, targetSdkVersion >= 21 হলে multidex স্বয়ংক্রিয়ভাবে সক্রিয় হয়।

কোড সাইনিং: Code Signing, Keystore, Provisioning Profile

Android: Keystore

Keystore — একটি ফাইল যা বিল্ডের সময় Android অ্যাপ্লিকেশন সাইন করার জন্য প্রাইভেট কী এবং সার্টিফিকেট ধারণ করে। Keystore keytool (-genkey কমান্ড) বা Android Studio-এর মাধ্যমে তৈরি করা হয়। গুরুত্বপূর্ণ: Keystore হারানো যাবে না — এটি ছাড়া আপনি Google Play-তে অ্যাপ্লিকেশন আপডেট করতে পারবেন না। সাইনিং প্যারামিটার: keyAlias, keyPassword, storePassword এবং storeFile। ফরম্যাট: JKS (Java KeyStore) বা AAB-এর জন্য PEPK (Play Encrypted Private Key)।

App Bundle ID (Android) — প্যাকেজ নোটেশন (com.example.app)-এ অ্যাপ্লিকেশনের অনন্য শনাক্তকারী। Version Code — অভ্যন্তরীণ সংস্করণ সংখ্যাকরণের জন্য পূর্ণসংখ্যা (প্রত্যেক নতুন বিল্ড এটি বাড়ায়)। Version Name — ব্যবহারকারীকে দেখানো স্ট্রিং (1.2.3)। এই প্যারামিটারগুলি build.gradle-এ অ্যাপ স্তরে সেট করা হয়।

iOS: Apple Certificate এবং Provisioning Profile

Apple Certificate — একটি ডিজিটাল সার্টিফিকেট যা ডেভেলপারের পরিচয় যাচাই করে। প্রকার: Development (ডিবাগিংয়ের জন্য), Distribution (App Store-এর জন্য), Ad Hoc (সীমিত বিতরণের জন্য)। সার্টিফিকেট Apple Developer Account-এ তৈরি করা হয় এবং Keychain-এ ডাউনলোড করা হয়। Provisioning Profile — একটি ফাইল যা সার্টিফিকেট, App ID (Bundle Identifier) এবং অনুমোদিত ডিভাইসের তালিকাকে সংযুক্ত করে। Provisioning Profile ছাড়া অ্যাপ্লিকেশন ডিভাইসে চলবে না।

Bundle ID (iOS) — অ্যাপ্লিকেশনের অনন্য শনাক্তকারী (com.example.app)। Build Number — বিল্ড সংস্করণ, প্রতিটি বিল্ডের সাথে বাড়ে। Marketing Version — ব্যবহারকারীকে দেখানো সংস্করণ। সংস্করণ ব্যবস্থাপনা: iOS-এর জন্য, প্যারামিটারগুলি Info.plist এবং Project Settings-এ সেট করা হয়; Android-এর জন্য — build.gradle-এ। IT Sectr-এ, আমরা Fastlane-এর মাধ্যমে সংস্করণ আপডেট স্বয়ংক্রিয় করি — এটি রিলিজের সময় মানবিক ত্রুটি দূর করে।

স্টোরগুলিতে প্রকাশনা প্রক্রিয়া

Google Play Console

Google Play Console — Android অ্যাপ্লিকেশন প্রকাশের একটি টুল। প্রক্রিয়া: ডেভেলপার অ্যাকাউন্ট নিবন্ধন ($25 একবার), অ্যাপ্লিকেশন তৈরি, মেটাডেটা পূরণ (নাম, বিবরণ, স্ক্রিনশট, বিভাগ), AAB আপলোড, মূল্য এবং বিতরণ কনফিগার, পর্যালোচনা। Google অ্যাপ্লিকেশনটি স্বয়ংক্রিয়ভাবে পরীক্ষা করে (ভাইরাস, নীতি সম্মতি) এবং কিছু বিভাগের জন্য ম্যানুয়ালি। পর্যালোচনায় কয়েক ঘন্টা থেকে 2-3 দিন সময় লাগে।

App Store Connect

App Store Connect — iOS অ্যাপ্লিকেশন প্রকাশের জন্য Apple-এর প্ল্যাটফর্ম। প্রক্রিয়া: Apple ডেভেলপার অ্যাকাউন্ট ($99/বছর), App Store Connect-এ অ্যাপ্লিকেশন তৈরি, Xcode-এ IPA প্রস্তুত (Archive → Distribute App → App Store Connect), Transporter বা Xcode-এর মাধ্যমে আপলোড, মেটাডেটা পূরণ, পর্যালোচনার জন্য জমা। App Review — Apple-এর ম্যানুয়াল পর্যালোচনায় 24 ঘন্টা থেকে 7 দিন সময় লাগতে পারে। প্রত্যাখ্যানের সাধারণ কারণ: কাজ না করা বাটন, অসম্পূর্ণ কন্টেন্ট, ব্যাখ্যা ছাড়াই অনুমতির অনুরোধ।

বিটা টেস্টিং: TestFlight, Closed/Open Beta

TestFlight (iOS)

TestFlight — iOS অ্যাপ্লিকেশনের বিটা টেস্টিংয়ের জন্য Apple-এর অফিসিয়াল টুল। TestFlight Internal Testing (ইমেলের মাধ্যমে 100 টেস্টার পর্যন্ত, পর্যালোচনা ছাড়া) এবং External Testing (10,000 টেস্টার পর্যন্ত, Apple পর্যালোচনা সহ) সমর্থন করে। বিল্ড 90 দিন পর্যন্ত উপলব্ধ থাকে, তারপরে নতুন বিল্ড আপলোড করতে হবে। TestFlight নতুন বিল্ড আপলোড করলে টেস্টারদের কাছে অ্যাপ্লিকেশনটি স্বয়ংক্রিয়ভাবে আপডেট করে।

Internal / Closed / Open Beta (Android)

Internal Testing (Android) — 100 টেস্টার পর্যন্ত, Google পর্যালোচনা ছাড়া, বিল্ড অবিলম্বে উপলব্ধ। Closed Beta — ইমেল বা Google Groups-এর মাধ্যমে 1000 টেস্টার পর্যন্ত, পর্যালোচনা ছাড়া। Open Beta — পাবলিক লিঙ্কের মাধ্যমে সীমাহীন টেস্টার, Google পর্যালোচনা সহ। Staged Rollout — আপডেট প্রাপ্ত ব্যবহারকারীদের শতাংশের ক্রমিক বৃদ্ধি (5% → 20% → 50% → 100%)। এটি রিলিজের সবচেয়ে নিরাপদ পদ্ধতি।

App Thinning (iOS) — ডাউনলোড করা IPA আকারের স্বয়ংক্রিয় হ্রাস: Slicing (ডিভাইসের জন্য শুধুমাত্র প্রয়োজনীয় রিসোর্স), Bitcode (প্রসেসর অপ্টিমাইজেশন), On-Demand Resources (প্রয়োজন অনুযায়ী ডাউনলোড)। IT Sectr-এ, আমরা iOS বিটা টেস্টিংয়ের জন্য TestFlight এবং Android-এর জন্য Internal Testing ব্যবহার করি — এটি ব্যাপক রিলিজের আগে সমস্যা শনাক্ত করতে সাহায্য করে।

সচরাচর জিজ্ঞাসিত প্রশ্ন

APK এবং AAB-এর মধ্যে পার্থক্য কী?

APK — একটি সার্বজনীন ইনস্টলেবল ফাইল, যেকোনো ডিভাইসে কাজ করে। AAB — Google Play-এর জন্য ফরম্যাট যা প্রতিটি ডিভাইসের জন্য সর্বোত্তম APK জেনারেট করে। AAB-এর মাধ্যমে ডাউনলোড আকার 15% ছোট। Google Play-এর জন্য AAB বাধ্যতামূলক, সাইডলোডিংয়ের জন্য — APK।

Keystore হারিয়ে গেলে কী হবে?

আপনি Google Play-তে অ্যাপ্লিকেশন আপডেট করতে পারবেন না — আপনাকে নতুন package name সহ নতুন অ্যাপ্লিকেশন তৈরি করতে হবে। Keystore নিরাপদ স্থানে রাখুন (পাসওয়ার্ড ম্যানেজার, এনক্রিপ্টেড Git)। Google Play App Signing (Google কী ব্যবহার) এই ঝুঁকি কমায়।

স্টোরগুলিতে প্রকাশ করতে কত খরচ হয়?

Google Play — ডেভেলপার অ্যাকাউন্টের জন্য $25 একবার। App Store — $99/বছর। উভয় পরিমাণে সীমাহীন অ্যাপ্লিকেশন অন্তর্ভুক্ত। iOS-এর জন্য আপনার একটি Mac (থেকে $999) বা ক্লাউড Mac ভাড়াও প্রয়োজন।

Staged Rollout কী?

Staged Rollout — ক্রমিক আপডেট রোলআউট: প্রথমে 5% ব্যবহারকারী, তারপর 20%, 50% এবং 100%। যদি যেকোনো ধাপে ক্র্যাশ পাওয়া যায় — রোলআউট বন্ধ করা হয়। Google Play Console-এ উপলব্ধ।

পরীক্ষার জন্য কি ডেভেলপার অ্যাকাউন্টের জন্য অর্থ প্রদান করা প্রয়োজন?

Android-এর জন্য — না, আপনি অ্যাকাউন্ট ছাড়াই USB বা এমুলেটরের মাধ্যমে ডিভাইসে APK ইনস্টল করতে পারেন। iOS-এর জন্য — হ্যাঁ, $99/বছর অ্যাকাউন্ট ছাড়া অ্যাপ্লিকেশন শুধুমাত্র সিমুলেটরে কাজ করবে, বাস্তব ডিভাইসে নয়।

সারসংক্ষেপ

  • AAB — Google Play-এর জন্য আধুনিক ফরম্যাট (2021 থেকে বাধ্যতামূলক)। APK — স্টোরের বাইরে বিতরণের জন্য।
  • IPA — iOS ইনস্টলেবল ফাইল, শুধুমাত্র Mac-এ বিল্ড, Apple সার্টিফিকেট দিয়ে সাইন করা।
  • ART (Android Runtime) হাইব্রিড AOT + JIT পদ্ধতি ব্যবহার করে; Bitcode — iOS-এর জন্য ঐচ্ছিক মধ্যবর্তী উপস্থাপনা।
  • Keystore (Android) এবং Apple Certificate + Provisioning Profile (iOS) — কোড সাইনিংয়ের বাধ্যতামূলক উপাদান।
  • Google Play Console — $25 একবার; App Store Connect — $99/বছর। পর্যালোচনায় ঘন্টা থেকে এক সপ্তাহ সময় লাগে।
  • TestFlight — iOS বিটা টেস্টিং; Internal / Closed / Open Beta — Android-এর জন্য।
  • Fastlane-এর মাধ্যমে কোড সাইনিং এবং বিল্ড স্বয়ংক্রিয় করুন — এটি ত্রুটি দূর করে এবং রিলিজ দ্রুত করে।

আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব

IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।

প্রকল্প নিয়ে আলোচনা করুন