ক্যারিয়ার গাইডঃ অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্ট

গত কয়েক বছর ধরে অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্ট খুব জনপ্রিয়। প্রধান কারণ হচ্ছে ডিভাইসের সহজলভ্যতা। মোটামুটি সবাই একটি এন্ড্রয়েড ডিভাইস ক্রয় করার ক্ষমতা রাখে। আমরা যদি এন্ড্রয়েডের গ্লোবাল মার্কেট শেয়ার দেখি, তাহলে দেখতে পাবো যত গুলো স্মার্টফোন রয়েছে, তার মধ্যে ৮৭% হচ্ছে অ্যান্ড্রয়েড স্মার্টফোন। আর পৃথিবীতে দুই বিলিয়নেরও বেশি স্মার্টফোন রয়েছে। যেখানে ব্যবহারকারী বেশি, সেখানে সুযোগ বেশি। এ জন্য কেউ যদি অ্যান্ড্রয়েড ডেভেলপার হিসেবে ক্যারিয়ার গড়তে চায়, তাহলে তার জন্য বর্তমানে অনেক সুযোগ রয়েছে।

 

অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্টে ক্যারিয়ার গড়া খুব সহজ। কারণ অ্যান্ড্রয়েড অ্যাপ নিজে নিজে বা বন্ধুদের সাথে টীম করে তৈরি করা যায়। তৈরি করে প্লে স্টোরে আপলোড করা যায়। ঐ অ্যাপ বিক্রি করা যায়। প্লে স্টোরে আপলোড করার পর যে কোন ব্যবহারকারীই ঐ আপ ডাউনলোড করতে পারে। কিনতে পারে। বিষয়টা অনেক সহজ। এ ছাড়া জব করতে চাইলে রয়েছে প্রচুর সুযোগ।

 

 

অ্যান্ড্রয়েড অ্যাপ তৈরি করার জন্য সবার আগে যা জানা লাগে, তা হচ্ছে জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ।  জাভার পাশা পাশি অন্যান্য ল্যাঙ্গুয়েজ ব্যবহার করেও অ্যান্ড্রয়েড অ্যাপ ডেভেলপ করা যায়।

 

অ্যাপ ডেভেলপমেন্ট অনেক বিশাল একটা শাখা। শেখার রয়েছে অনেক কিছু। আমরা অনেক ধরণের অ্যাপ ব্যবহার করি। এগুলো দেখতে যেমন ভিন্ন, তৈরিও করতে হয় ভিন্ন ভাবে। যত ভিন্নই হোক, সব অ্যাপেই কিছু জিনিস একই রকম। ঐ কমন জিনিস গুলো সবাইকেই শিখতে হয়। আমরা যত ধরনের অ্যাপ দেখি, এগুলো দুই ধরণেরঃ

 

  1. View-heavy বা data-driven অ্যাপ যেমন Social app like Facebook, Messenger, News app, Note ইত্যাদি। এই অ্যাপ গুলতে বেশির ভাগ তথ্য থাকে টেক্সট, ইমেজ।
  2. Graphics-heavy অ্যাপ যেমন Games, Creative Art, Photo Editing

 

 

ডেটা ড্রিভেন অ্যান্ড্রয়েড অ্যাপ  গুলো তৈরি করতে যে সব কনসেপ্ট গুলো ক্লিয়ার থাকতে হয়, সে গুলো হচ্ছেঃ

  1. Views
  2. Events
  3. Navigation
  4. Data
  5. Services & Sensors

 

কিছু অ্যাপে হয়তো সব গুলো কনসেপ্ট কাজে লাগবে। কিছু অ্যাপে হয়তো দুই একটা কনসেপ্ট কাজে লাগবে।

 

View: টেক্সট দেখানোর জন্য টেক্সট ভিউ, ইমেজ দেখানোর জন্য ইমেজ ভিউ, বাটন, রেডিও বক্স, প্রগ্রেস বার, স্পিনার ইত্যাদি সব গুলো ভিউ। ভিউ গুলো কিভাবে দেখাবে, সে গুলোর জন্য রয়েছে লেআউট, যেমন লিনিয়ার লেআউট, রিলেটিভ লেআউট, গ্রিড লেআউট, টেবিল লেআউট, ইত্যাদি। ভিউ গুলো তৈরি করা হয় XML দিয়ে।

 

Events: কোথায় ক্লিক করলে কি হবে এসব বিষয় গুলো ইত্যাদি হচ্ছে ইভেন্ট এর কাজ।

 

Navigation: অ্যাপের একটা এক্টিভিটি থেকে অন্য এক্টিভিটিতে যাওয়া ইত্যাদি হচ্ছে ন্যাভিগেশন।

 

Data: ডেটা সোর্স Text ফাইল হতে পারে, ডেটাবেজ থেকে হতে পারে, হতে পারে ওয়েব সার্ভার থেকে JSON বা XML ফরমেটে। ডেটা সোর্স ওয়েব সার্ভার হলে আবার নেটওয়ার্ক কল করতে হয়। ডেটা গুলো যে ফরমেটেই আসুক না কেন, একটা কমন ফরমেটে তখন তা কনভার্ট করতে হয়। সাধারণত এটাকে Modelling বলে। এ অংশের কোড সাধারণত জাভা বা প্রোগ্রামিং ল্যাঙ্গুয়েজ দিয়ে লেখা হয়।

 

Services & Sensors: কিছু কিছু অ্যাপ ক্লোজ করে দিলেও কাজ করে। যেমন Skype বা মেসেজিং অ্যাপ গুলো, এলার্ম ইত্যাদি। এগুলোর জন্য দরকার হয় সার্ভিসের। যেন অ্যাপটা বন্ধ করে দিলেও অপারেটিং সিস্টেম নির্দিষ্ট কাজ টি করতে পারে। আবার আমাদের দরকার হয় হার্ডওয়ার, যেমন সেন্সর, ক্যামেরা ইত্যাদি। ডেটা ড্রিভেন অ্যাপ গুলোতে এই সব টপিক্সই বেশি লাগে।

 

এখনকার ডেটা ড্রিভেন অ্যাপ গুলোতে ডেটা সোর্স থেকে ডেটা পাঠানোর জন্য বেশি ব্যবহৃত হয় JSON ফরমেট। এটি প্রসেসটি মূলত REST API নামে পরিচিত। এই টাইপ অ্যাপ তৈরি করার জন্য নেটওয়ার্কিং, ডেটা সিরিয়ালাইজেশন, ডিসিরিয়ালাইজেশন, মডেল, ভিউ, কন্ট্রোলার সম্পর্কে ধারণা থাকলেই সহজে অ্যাপ গুলো তৈরি করা যায়।

 

Graphics-heavy অ্যাপ গুলোর কনসেপ্ট কিছুটা অন্যরকম। যেমন এগুলোর জন্য লাগে ক্যানভাস, OpenGL ইত্যাদি। গেম গুলো সাধারণত Graphics-heavy অ্যাপ। এই টাইপ অ্যাপ তৈরি সহজ করার জন্য আবার অনেক গুলো লাইব্রেরী বা ফ্রেমওয়ার্ক রয়েছে। Unity, LibGDX, Unreal Engine, Cryengine, Heroengine ইত্যাদি।

 

অ্যান্ড্রয়েড অ্যাপ তৈরি করার জন্য রয়েছে গুগলের অফিশিয়াল IDE Android Studio। অ্যান্ড্রয়েড স্টুডিও ডাউনলোড করার পর তা ইন্সটল করে নিলেই আপনি অ্যান্ড্রয়েড অ্যাপ তৈরি করার জন্য প্রস্তুত। অ্যান্ড্রয়েড স্টুডিওতে অনেক গুলো স্যাম্পল কোড ও রয়েছে। যে গুলোর কোড গুলো দেখে কিভাবে অ্যাপ তৈরি করতে হয়, তা শেখা যায়।

 

শুরুর দিকে আপনাকে সব কিছু জানতে হবে না। অল্প কিছু জেনেই অ্যান্ড্রয়েড অ্যাপ তৈরি করতে পারবেন। যেমন শুরুর দিকে বাটন, টেক্সট ভিউ, এডিট টেক্সট, বিভিন্ন ধরনের লেআউট, এক্টিভিটি, লিস্ট ভিউ, রিসাইকেল ভিউ, ফ্রেগম্যান্ট, ডায়ালগ ইত্যাদি জানলেই মোটামুটি মানের অ্যাপ তৈরি করতে পারবেন। এ সব নিয়ে বাংলায় অনেক গুলো টিউটোরিয়াল রয়েছে অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্ট পেইজে।

 

অ্যান্ড্রয়েড মার্কেটে সবচেয়ে বেশি প্রফিটেবল অ্যাপ হচ্ছে গেম গুলো। কিছু গেম হচ্ছে 2D, কিছু হচ্ছে 3D। 2D গেম গুলো ডেভেলপ করা সহজ। ইমেজ আর্ট ব্যবহার করে তৈরি করা যায়। কিন্তু 3D গেম তৈরি করা একটু কমপ্লিকেটেড। 2D গেম চেষ্টা করলে একজন ডেভেলপার নিজে নিজে তৈরি করতে পারে। 3D গেম তৈরি করতে চাইলে টিম নিয়ে করা ভালো। মিনিমাম দুইজন হলে ভালো হয়। যেমন কেউ কোড লিখবে, কেউ গেমের মডেল গুলো তৈরি করবে।

 

সহজে গেম তৈরি করার জন্য রয়েছে অনেক গুলো ফ্রেমওয়ার্ক।  এগুলোর মধ্যে কিছু ফ্রেমওয়ার্ক দিয়ে শুধু 2D গেম তৈরি করা যায়। কিছু ফ্রেমওয়ার্ক দিয়ে 2D এবং 3D দুই ধরণের  গেমই তৈরি করা যায়। অ্যান্ড্রয়েড গেম তৈরি করার জন্য জনপ্রিয় কিছু লাইব্রেরী এবং ফ্রেমওয়ার্ক হচ্ছে libGDX, Unity, Cocos2D, Construct 2, Corona SDK। এক একটা লাইব্রেরীতে এক এক ধরণের প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করতে হয়। তাই আপনি যে প্রোগ্রামিং ল্যাঙ্গুয়েজ পারো, ঐ ল্যাঙ্গুয়েজের জন্য গেম ডেভেলপমেন্ট লাইব্রেরী খুঁজে নিতে পারেন। যেমন জাভা জানলে libGDX ব্যবহার করে ক্রসপ্লাটফর্ম গেম তৈরি করা যাবে। যেগুলো একই সাথে অ্যান্ড্রয়েড, আইওএস, উইন্ডোজ, ম্যাক সব জাগায় চলবে। আবার C# অথবা JavaScript জানলে Unity দিয়ে দারুণ সব গেম তৈরি করা যাবে। ইউনিটি খুব পাওয়ারফুল গেম ইঞ্জিন। গেম তৈরি করার জন্য ইউনিটি স্টুডিওতে সব কিছু এক সাথে ইন্ট্রিগ্রেটেড রয়েছে।

 

এমন না যে অ্যান্ড্রয়েড অ্যাপ তৈরির জন্য জাভা জানতে হবে। আপনি HTML, CSS & JavaScript জানলেও অ্যান্ড্রয়েড অ্যাপ তৈরি করতে পারবেন। এগুলোকে বলে হাইব্রিড অ্যাপ বা ক্রসপ্লাটফরম অ্যাপ। ক্রসপ্লাটফরম অ্যাপ তৈরি করার জন্য অনেক গুলো প্লাটফরম রয়েছে। জনপ্রিয় কয়েকটা হচ্ছে Cordova, Ionic, React Native, Sencha, Xamarin ইত্যাদি। এসব নিয়ে প্রচুর টিউটোরিয়াল রয়েছে। গুগলে বা ইউটিউবে একটু সার্চ করলেই পেয়ে যাবেন।

 

আপনি যদি পাইথন প্রোগ্রামিং জানেন, তাহলেও আপনি অ্যান্ড্রয়েড অ্যাপ ডেভেলপ করতে পারবেন। অনেক গুলো লাইব্রেরী বা টুল রয়েছে। যেমন Kivy, PyMob ইত্যাদি।

আবার সি++ দিয়েও অ্যান্ড্রয়েডের জন্য কোড লেখা যায়। তার জন্য গুগলেরই সাপোর্ট রয়েছে। Android NDK ব্যবহার করে অ্যাপের কোড C++ দিয়ে লেখা যায়।

 

Candy Crush এর মত সিম্পল গেম গুলো প্রতি মাসে কয়েক মিলিয়ন ডলার আয় করে। Clash Of Clans প্রতি বছর আয় করে বিলিয়ন ডলার। আর প্রতি দিন ১০০ মিলিয়ন মানুষ এই গেমটি খেলে। গুগল প্লে স্টোরের টপ গেম বা অ্যাপ সব গুলোই প্রায় এমন রেভিউনিউ জেনারেট করে। এগুলো তৈরি করেছে আমাদের মত কোন ডেভেলপার। ভালো অ্যাপ তৈরি করতে পারলে এখানে দারুণ সুযোগ রয়েছে। আর অ্যাপ তৈরির পর নিজে নিজেই গুগল প্লে স্টোরে অ্যাপ সাবমিট করতে পারেন। দারুণ একটা অ্যাপ তৈরি করতে পারলে আপনিও হয়ে যেতে পারেন মিলিওনিয়ার!

 

 

6 thoughts on “ক্যারিয়ার গাইডঃ অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্ট

Leave a Reply