আপনার নিজস্ব iOS অ্যাপ তৈরি করতে ম্যাক দরকার হতে পারে, কিন্তু আপনি যদি গ্রিন অ্যালিয়ান (অ্যান্ড্রয়েড) টাইপের हों, তবে অ্যান্ড্রয়েড IDE (ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট) OS X-এও উপলব্ধ (অন্যান্য প্ল্যাটফর্মের পাশাপাশি)।
কেন অ্যান্ড্রয়েডের সাথে খোঁস পড়বেন?
যদি আপনি OS X এবং iOS ডেভেলপমেন্টে দক্ষ হন, তবে আপনি জিজ্ঞাসা করতে পারেন কেন অ্যান্ড্রয়েডের तरफ যাবেন?
অনেক iOS ডেভেলপার ডিভাইস ফ্র্যাগমেন্টেশন এবং ভিন্ন OS ভার্সনগুলির জন্য অ্যাপ প্যাচ/পুনর্নির্মাণের ঝামেলায় অ্যান্ড্রয়েড থেকে দূরে থাকেন—যygen অনেক। আমি কোনোর জবাব দেব না কোনটি ভালো, কারণ দুটোই ডেভেলপারদের জন্য অঘোষিত সুবিধা দেয়। তবে অ্যাপ ক্রিয়েটররা যদি অ্যাপ থেকে আয় করতে চান, তবে ডিভাইসের মধ্যে ভারসাম্য খুঁজে পাওয়া কখনো খারাপ ধারণা নয়।
অতিরিক্তভাবে, আপনি পাবেন সার্বিক অভিজ্ঞতা অ্যান্ড্রয়েডে অনেক কম সীমাবদ্ধ। একটু, Google Play (অ্যান্ড্রয়েডের অ্যাপ স্টোর) অ্যাপলের মত কঠোর বিধিনিষেধ নেই, নো $৯৯ বার্ষিক ডেভেলপার ফি চায় (Google-এ $২৫)। Google আপনাকে অ্যান্ড্রয়েডের অভ্যন্তরীণ কাজকর্মে অ্যাক্সেস দেয় (ওপেন সোর্স মডেলের মাধ্যমে) যা আপনাকে এমুলেটর, বুট লোডার, কাস্টমাইজড ডক, আইকন, স্টার্ট স্ক্রিন—যেটা চান সেটা—বানাতে দেয়, যা iOS-এ সম্ভব নয়।
যদি আপনি শুধু রেভিনিউ নম্বর দেখেন, তবে Apple App Store এখনও আপনার প্রাইমারি টার্গেট। যদিও Google Play-এ App Store-এর চেয়ে ৬০% বেশি বার্ষিক ডাউনলোড হয়, Apple App Store আসলে ৭০% বেশি বার্ষিক অ্যাপ রেভিনিউ করে। এতে মানে নয় আপনি অ্যান্ড্রয়েডে প্রফিটেবল হবেন না, বা প্ল্যাটফর্মটি এড়িয়ে যাবেন, বরং উল্টো।
যখন অ্যাপগুলো Apple App Store-এ বেশি রেভিনিউ আনে, ডাউনলোড নম্বর Google Play-এ বেক্ষători বেশি, যা এটিকে ফ্রি অ্যাপ টেস্ট ও টিউন করার জন্য একটি আকর্ষণীয় প্ল্যাটফর্ম বানিয়ে দেয় প্রিমিয়াম বা ফ্রিমিয়াম ভার্সন লঞ্চ করার আগে।
Eclipse with ADT নাকি Android Studio?
পুরনো দিনগুলোতে, আপনার Eclipse এবং ADT (Android Developer Tools) প্লাগইন বান্ডেল প্যাকেজ বা অফিশিয়াল Android Studio-র মধ্যে একে কনফিউজিং চয়েস ছিল, যা IntelliJ প্ল্যাটফর্মে ভিত্তি করে তৈরি—একটি জাভা-ভিত্তিক IDE।
শুভ সংবাদ, সাম্প্রতিক ভার্সনগুলোতে প্রক্রিয়াটি একটু সহজ হয়েছে শুধু একটি রিলিজ দিয়ে, যাকে Android Studio বলা হয়।
বাস্তবে, Eclipse ব্যবহার করার অপশন থাকা সত্ত্বেও, Google অফিশিয়ালি রিকমেন্ড করছে আপনি Android Studio-তে মাইগ্রেশন শুরু করুন কারণ ADT-এর সাপোর্ট শেষ হচ্ছে। প্রজেক্ট মাইগ্রেট করতে হেল্প লাগলে, এই Android Developers ব্লগ পোস্ট আপনাকে সাহায্য করবে।
এখন, যদি আপনি শুধু Android Studio-র সাথে বান্ডেলড এমুলেটর খুঁজেন, তবে জানা ভালো যে Windows, OS X, বা Linux-এ বাল্কি Android Studio ডাউনলোড ও ইনস্টল ছাড়াই এর ভালো রাস্তা আছে। Mac-এ BlueStacks ট্রাই করুন, অথবা আপনার Windows PC-এ অ্যান্ড্রয়েড ডাউনলোড করে রান করুন। আপনি যদি আল্ট্রা-লাইটওয়েট অ্যান্ড্রয়েড এমুলেশন চান, তবে Chrome-এ এই ব্রাউজার এমুলেটর ট্রাই করুন।
Android Studio চালু করা
প্রথমে Android Studio ডাউনলোড ও ইনস্টল করতে হবে, যা একটি প্যাকেজ যাতে থাকে:
- Android Studio IDE
- Android SDK (সফটওয়্যার ডেভেলপমেন্ট কিট)
- Android 5.0 (Lollipop) প্ল্যাটফর্ম
- Google APIs সহ Android 5.0 এমুলেটর সিস্টেম ইমেজ
চলুন শুরু করি।
.dmg ফাইল লঞ্চ করুন এবং Android Studio-কে Applications ফোল্ডারে ড্র্যাগ করুন।
Android Studio খুলুন এবং সেটআপ উইজার্ডের ধাপগুলো ফলো করুন। মাঝে মাঝে একটি এরর আসবে ফাইলটি "damaged" বা Untrustworthy বলে এবং ট্র্যাশে মুভ করতে বলবে। যদি এটা হয়, তবে আপনাকে সিকিউরিটি ও প্রাইভেসি সেটিংস অ্যাডজাস্ট করতে হবে অ্যাপ রান করার অনুমতি দিতে: System Preferences > Security & Privacy > General এ যান এবং "Allow apps downloaded from:" লিখা জায়গায় Anywhere সিলেক্ট করুন।
যদি আপনি Android SDK টুলস কমান্ড লাইন থেকে ব্যবহার করতে চান, তবে Terminal (Applications > Utilities > Terminal) খুলুন এবং নিচের পথ ব্যবহার করুন:
/Users/username/Library/Android/sdk/
স্মরণ রাখুন, আপনার ইউজারনেম বসাতে হবে
username
এর জায়গায়।
SDK প্যাকেজ যোগ করা
Android Studio প্যাকেজের সাথে আসা Android SDK (সফটওয়্যার ডেভেলপমেন্ট কিট) আপনার অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্ট শুরু করার জন্য সবকিছু থাকেনা। SDK নিজে একটি ইউটিলিটি যা আপনার টুলস, প্ল্যাটফর্ম এবং কম্পোনেন্টগুলো প্যাকেজে ভাগ করে Android SDK Manager দিয়ে।
তাই, কিছু প্যাকেজ যোগ করতে হবে সবকিছু ডেভেলপমেন্টের জন্য রেডি করতে। চিন্তা করবেন না, এটি সহজ প্রক্রিয়া।
প্রথমে SDK Manager খুলুন Tools > Configure > SDK Manager এর অধীনে।
নোট: এখান থেকে, সংক্ষিপ্ত রাখতে, আমরা ধরে নিচ্ছি যদি আমি কিছু নির্দিষ্ট না বলি, তাহলে তার মানে দুটো জিনিস:
- এটি প্রি-সিলেক্টেড এবং আমরা শেষ করলে অটোমেটিক ইনস্টল হবে।
- আপনাকে এখন দরকার নয়।
চলুন, নিচের موارد সিলেক্ট করুন:
- Android SDK Tools
- Android SDK Platform-tools
- Android SDK Build-tools (সর্বোচ্চ ভার্সন)
লিস্টে সর্বোচ্চ অ্যান্ড্রয়েড ভার্সনের ফোল্ডার খুলুন (5.1.1 লেখা পর্যন্ত) এবং সিলেক্ট করুন:
- SDK Platform
- ARM EABI v7a System Image
Extras ডিরেক্টরি খুলুন এবং Android Support Library-এর জন্য নিচের APIs ডাউনলোড করুন:
- Android Support Repository
- Android Support Library
Extras ডিরেক্টরি খুলুন এবং Google Play services প্যাকেজ ডাউনলোড করুন আরও APIs-এর জন্য। যোগ করুন:
- Google Repository
- Google Play Services
প্যাকেজগুলো ইনস্টল করুন
- Install 22 packages ক্লিক করুন (یا SDK Manager কতটি রিপোর্ট করে)।
- বাম পাশের প্রতিটি প্যাকেজের নাম ক্লিক করে লাইসেন্স টার্মস এক্সেপ্ট করুন।
- Install ক্লিক করুন।
নোট: ইনস্টলেশন সম্পূর্ণ হওয়া পর্যন্ত SDK Manager থেকে বের হবেন না!
ইনস্টলেশন একবার সম্পূর্ণ হলে, আপনি ডাইভ করে ডেভেলপমেন্ট শুরু করতে পারেন এবং আপনার বিশ্বস্ত Mac (বা Hackintosh) থেকে OS X-এ অ্যান্ড্রয়েড অ্যাপ রান করতে পারেন।
iOS অ্যাপগুলো Android-এ পোর্ট করা
দুই অপারেটিং সিস্টেমের মধ্যে সাদৃশ্যের অভাবের কারণে, অন্য OS থেকে অ্যাপ পোর্ট করার জন্য কোনো প্লাগ-এন্ড-প্লে সমাধান নেই।
তবে, একটি প্রোগ্রাম আছে Apportable যেটা আমি উল্লেখযোগ্য মনে করেছি। Apportable মূলত Swift এবং Objective-C কে ARM এবং x86 মেশিন কোডে ট্রান্সলেট করে যা অ্যান্ড্রয়েড বুঝতে পারে। আপনি আরও প্লাগইন পাবেন ডেভেলপমেন্টের bojh কমাতে, যেমন SpriteBuilder Plugin। 그렇지만, সব Apple APIs Apportable-এ উপলব্ধ নয়, তাই এটি সেরা হলেও প্লাগ-এন্ড-প্লে সমাধান নয়।
Apportable-এর প্রধান সুবিধা হলো দ্রুত ক্রস-কম্পাইলিং এমুলেটর, ভার্চুয়াল মেশিন বা জাভা-প্রোগ্রামড অ্যাল্টারনেটিভ ছাড়া। জাভা মোবাইল অ্যাপে ক্রস-কম্প্যাটিবিলিটির জন্য ভালো, তবে এতে iOS এবং অ্যান্ড্রয়েড দুটি ভার্সনই ফিল করে, যেন অন্য OS-র থেকে সস্তা পোর্ট।
আবার বলছি, এটি পারফেক্ট সমাধান নয়, কিন্তু আপনার ওয়ার্কলোড উল্লেখযোগ্যভাবে কমিয়ে দেবে যদি আপনাকে অ্যান্ড্রয়েড এবং iOS-এর মধ্যে ঘুরে ফিরতে হয়।
শুভ ডেভেলপিং, এবং আপনি কী বানালেন সেটা আমাদের সাথে Make Use Of-এ শেয়ার করুন।
আপনি কি iOS বা অ্যান্ড্রয়েড অ্যাপ ডেভেলপ করেছেন? কোন প্ল্যাটফর্ম ডেভেলপারদের জন্য সেরা টুলস দেয় বলে মনে করেন?