অ্যাপ ডেভেলপমেন্টে এক উজ্জ্বল ক্যারিয়ারের হাতছানি
জাকির হোসাইন, শুরু
করেছিলেন ওয়েব ডেভেলপমেন্ট দিয়ে, কিন্তু এখন তাঁর পরিচয় দেশের অন্যতম সেরা অ্যাপ
ডেভেলপার। তাঁর তৈরি গধঃয ঋড়ৎসঁষধ অ্যাপ গুগল প্লে স্টোরের এডুকেশন ক্যাটাগরিতে
সেরা দশে ছিল, ইতোমধ্যেই এটা ডাউনলোড হয়েছে প্রায় ১০ লক্ষ বার।
ইধংরপ অপপড়ঁহঃরহম, ঊশধঃঃড়ৎবৎ ঈযরঃযর, এঁহরলধহ -গুণীজন, এজঊ গধঃয চৎবঢ়, ঊীপবষ ঞঁঃড়ৎরধষ সহ জনপ্রিয় অনেক অ্যাপ তৈরি করেছেন তিনি। বর্তমানে একটি বেসরকারি কোম্পানিতে সফটওয়্যার স্পেশালিস্ট হিসেবে চাকরি করেন। অ্যাপ ডেভেলপমেন্টের নানা বিষয় নিয়ে দৈনিক ইনকিলাবের সাথে কথা বলেন তিনি। তাঁর সাথে কথোপকথনে ছিলেন নুরুল ইসলাম।
ইধংরপ অপপড়ঁহঃরহম, ঊশধঃঃড়ৎবৎ ঈযরঃযর, এঁহরলধহ -গুণীজন, এজঊ গধঃয চৎবঢ়, ঊীপবষ ঞঁঃড়ৎরধষ সহ জনপ্রিয় অনেক অ্যাপ তৈরি করেছেন তিনি। বর্তমানে একটি বেসরকারি কোম্পানিতে সফটওয়্যার স্পেশালিস্ট হিসেবে চাকরি করেন। অ্যাপ ডেভেলপমেন্টের নানা বিষয় নিয়ে দৈনিক ইনকিলাবের সাথে কথা বলেন তিনি। তাঁর সাথে কথোপকথনে ছিলেন নুরুল ইসলাম।
১. অ্যাপ ডেভেলপমেন্ট
কী?
মোবাইলের জন্য তৈরিকৃত সফটওয়্যারকে আমরা সাধারণত অ্যাপ বলে থাকি। আর তৈরির পদ্ধতি হচ্ছে অ্যাপ ডেভেলপমেন্ট। জনপ্রিয় তিনটে মোবাইল অপারেটিং সিস্টেম হচ্ছে অ্যান্ড্রয়েড, আইওএস এবং উইন্ডোজ মোবাইল। প্রতিটি প্লাটফর্মের জন্য অ্যাপ তৈরি করতে ভিন্ন ভিন্ন প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহার করতে হয়। যেমন আইওএস’র জন্য সুইফট বা অবজেক্টিভ সি, অ্যান্ড্রয়েড’র জন্য জাভা এবং উইন্ডোজ মোবাইলের জন্য সি সার্ফ ল্যাংগুয়েজের প্রয়োজন হয়। এমন কী অ্যাপগুলো তৈরি করার জন্য রয়েছে আলাদা আলাদা অ্যানভারনমেন্ট। যেমন আইওএস অ্যাপ তৈরি করতে প্রয়োজন হয় এক্সকোড, অ্যান্ড্রয়েড অ্যাপ’র জন্য অ্যান্ড্রয়েড স্টুডিও এবং উইন্ডোজ অ্যাপ’র জন্য মাইক্রসফট ভিজুয়াল স্টুডিও ও উইন্ডোজ মোবাইল এসডিকে। নিজ নিজ প্লাটফরমের প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহার করে তৈরিকৃত অ্যাপগুলোকে ন্যাটিভ অ্যাপ বলে। ন্যাটিভ অ্যাপ ছাড়াও একভাবে অ্যাপ তৈরি করা যায়। যাকে বলা হয় ক্রস প্লাটফর্ম অ্যাপ ডেভেলপমেন্ট। সাধারণত ওয়েব টেকনোলজি যেমন এইচটিএমএল, সিএসএস এবং জেএস ব্যবহার করে ক্রস প্লাটফর্ম অ্যাপ তৈরি করা হয়। এগুলোকে হাইব্রিড অ্যাপও বলা হয়। হাইব্রিড বেশিরভাগ ফ্রেমওয়ার্কই জাভাস্ক্রিপ্ট’র উপর তৈরি। মজার ব্যাপার হচ্ছে, হাইব্রিড’র এসব ফ্রেমওয়ার্কগুলো একটা দারুণ সুবিধে দেয়। একটা প্লাটফরমের জন্য ডেভেলপ করলে তা একই সাথে সবগুলো প্লাটফরমে চালানো যায়।
মোবাইলের জন্য তৈরিকৃত সফটওয়্যারকে আমরা সাধারণত অ্যাপ বলে থাকি। আর তৈরির পদ্ধতি হচ্ছে অ্যাপ ডেভেলপমেন্ট। জনপ্রিয় তিনটে মোবাইল অপারেটিং সিস্টেম হচ্ছে অ্যান্ড্রয়েড, আইওএস এবং উইন্ডোজ মোবাইল। প্রতিটি প্লাটফর্মের জন্য অ্যাপ তৈরি করতে ভিন্ন ভিন্ন প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহার করতে হয়। যেমন আইওএস’র জন্য সুইফট বা অবজেক্টিভ সি, অ্যান্ড্রয়েড’র জন্য জাভা এবং উইন্ডোজ মোবাইলের জন্য সি সার্ফ ল্যাংগুয়েজের প্রয়োজন হয়। এমন কী অ্যাপগুলো তৈরি করার জন্য রয়েছে আলাদা আলাদা অ্যানভারনমেন্ট। যেমন আইওএস অ্যাপ তৈরি করতে প্রয়োজন হয় এক্সকোড, অ্যান্ড্রয়েড অ্যাপ’র জন্য অ্যান্ড্রয়েড স্টুডিও এবং উইন্ডোজ অ্যাপ’র জন্য মাইক্রসফট ভিজুয়াল স্টুডিও ও উইন্ডোজ মোবাইল এসডিকে। নিজ নিজ প্লাটফরমের প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহার করে তৈরিকৃত অ্যাপগুলোকে ন্যাটিভ অ্যাপ বলে। ন্যাটিভ অ্যাপ ছাড়াও একভাবে অ্যাপ তৈরি করা যায়। যাকে বলা হয় ক্রস প্লাটফর্ম অ্যাপ ডেভেলপমেন্ট। সাধারণত ওয়েব টেকনোলজি যেমন এইচটিএমএল, সিএসএস এবং জেএস ব্যবহার করে ক্রস প্লাটফর্ম অ্যাপ তৈরি করা হয়। এগুলোকে হাইব্রিড অ্যাপও বলা হয়। হাইব্রিড বেশিরভাগ ফ্রেমওয়ার্কই জাভাস্ক্রিপ্ট’র উপর তৈরি। মজার ব্যাপার হচ্ছে, হাইব্রিড’র এসব ফ্রেমওয়ার্কগুলো একটা দারুণ সুবিধে দেয়। একটা প্লাটফরমের জন্য ডেভেলপ করলে তা একই সাথে সবগুলো প্লাটফরমে চালানো যায়।
২. দেশে-বিদেশে
অ্যাপ’র চাহিদা কেমন?
এক সময় ডেস্কটপ সফটওয়্যার’র চাহিদা বেশি ছিল। এখনো কম নয়। তবে মোবাইল অ্যাপ’র চাহিদা তার চেয়ে অনেকগুণ বেশি। এক পরিসংখ্যানে দেখা গেছে, দেশে মোবাইল ফোন ব্যবহারকারীর সংখ্যা ১২ কোটি এবং ইন্টারনেট ব্যবহারকারীর সংখ্যা ৪ কোটি ছাড়িয়েছে। এর মধ্যে ইন্টারনেট ব্যবহারকারীদের ৯৫ শতাংশই মোবাইলে ইন্টারনেট ব্যবহার করে থাকেন। স্মার্টফোন ব্যবহারকারীরা গড়ে ন্যূনতম একটি অ্যাপ ব্যবহার করেন। প্রতিদিন দুই ঘণ্টারও বেশি সময় ব্যয় করেন অ্যাপস ব্যবহারে। এছাড়াও বিশ্বব্যাপী স্মার্টফোন ব্যবহারকারীরা তাঁদের স্মার্টফোন ব্যবহারের ৮৬ শতাংশ সময় ব্যয় করেন অ্যাপসে। সুতরাং যে কোনো ডেভেলপার অ্যাপ ডেভেলপ করে প্লে স্টোরে আপলোড করলে কোনো জব করা ছাড়াই দারুণ আয় করতে পারে। আর একটা অ্যাপ হিট হলে সেখান থেকে কোটি টাকা আয় করা সম্ভব। বাজার গবেষণা প্রতিষ্ঠান গার্টনারের মতে, বর্তমানে মোবাইল অ্যাপসের বাজার প্রায় ৩৫ বিলিয়ন ডলারের। ২০২০ সাল নাগাদ তা হবে প্রায় ৫৪ দশমিক ৮৯ বিলিয়ন ডলারের। এই মার্কেট ভ্যালুর ১০% বাংলাদেশে আনতে পারলেও বাংলাদেশকে উন্নত দেশে পরিণত করা সম্ভব।
এক সময় ডেস্কটপ সফটওয়্যার’র চাহিদা বেশি ছিল। এখনো কম নয়। তবে মোবাইল অ্যাপ’র চাহিদা তার চেয়ে অনেকগুণ বেশি। এক পরিসংখ্যানে দেখা গেছে, দেশে মোবাইল ফোন ব্যবহারকারীর সংখ্যা ১২ কোটি এবং ইন্টারনেট ব্যবহারকারীর সংখ্যা ৪ কোটি ছাড়িয়েছে। এর মধ্যে ইন্টারনেট ব্যবহারকারীদের ৯৫ শতাংশই মোবাইলে ইন্টারনেট ব্যবহার করে থাকেন। স্মার্টফোন ব্যবহারকারীরা গড়ে ন্যূনতম একটি অ্যাপ ব্যবহার করেন। প্রতিদিন দুই ঘণ্টারও বেশি সময় ব্যয় করেন অ্যাপস ব্যবহারে। এছাড়াও বিশ্বব্যাপী স্মার্টফোন ব্যবহারকারীরা তাঁদের স্মার্টফোন ব্যবহারের ৮৬ শতাংশ সময় ব্যয় করেন অ্যাপসে। সুতরাং যে কোনো ডেভেলপার অ্যাপ ডেভেলপ করে প্লে স্টোরে আপলোড করলে কোনো জব করা ছাড়াই দারুণ আয় করতে পারে। আর একটা অ্যাপ হিট হলে সেখান থেকে কোটি টাকা আয় করা সম্ভব। বাজার গবেষণা প্রতিষ্ঠান গার্টনারের মতে, বর্তমানে মোবাইল অ্যাপসের বাজার প্রায় ৩৫ বিলিয়ন ডলারের। ২০২০ সাল নাগাদ তা হবে প্রায় ৫৪ দশমিক ৮৯ বিলিয়ন ডলারের। এই মার্কেট ভ্যালুর ১০% বাংলাদেশে আনতে পারলেও বাংলাদেশকে উন্নত দেশে পরিণত করা সম্ভব।
৩. অ্যাপ ডেভলপিংয়ে
আসতে হলে কী কী বিষয়ে প্রাথমিক ধারণা থাকতে হবে?
অ্যাপ ডেভলপিং যেহেতু সম্পূর্ণ টেকনিক্যাল কাজ। তাই সবার প্রথমে কম্পিউটারের বেসিক জ্ঞানের পাশপাশি প্রোগ্রামিং সম্পর্কে ভালো ধারণা থাকতে হবে। এরপর ঠিক করতে হবে কোন প্লাটফর্মের জন্য অ্যাপ ডেভেলপ করতে চান। কারণ প্রত্যেক প্লাটফর্মে আলাদা আলাদা প্রোগ্রামিং ল্যাংগুয়েজের দরকার হয়। যেকোনো প্রোগ্রামিং ভাষা শেখার পর আরো কিছু বিষয় জানতে হবে; যেমনÑ ভেরিয়েবল, অপারেটর, স্টেটমেন্ট, কন্ডিশন, ইটারেটর, মেমোরি ম্যানেজমেন্ট, অ্যারে ও ফাইল অপারেশন। সবচেয়ে বড় কথা হলো আপনার তৈরি অ্যাপ্লিকেশনটির নকশা। কি অ্যাপ তৈরি করতে চাচ্ছেন, তার পরিষ্কার ধারণা। এছাড়া অ্যালগরিদম, ডেটা স্ট্র্যাকচার, ডেটাবেজ সম্পর্কে ধারণা থাকলে দারুণ সব অ্যাপ তৈরি করা যাবে।
অ্যাপ ডেভলপিং যেহেতু সম্পূর্ণ টেকনিক্যাল কাজ। তাই সবার প্রথমে কম্পিউটারের বেসিক জ্ঞানের পাশপাশি প্রোগ্রামিং সম্পর্কে ভালো ধারণা থাকতে হবে। এরপর ঠিক করতে হবে কোন প্লাটফর্মের জন্য অ্যাপ ডেভেলপ করতে চান। কারণ প্রত্যেক প্লাটফর্মে আলাদা আলাদা প্রোগ্রামিং ল্যাংগুয়েজের দরকার হয়। যেকোনো প্রোগ্রামিং ভাষা শেখার পর আরো কিছু বিষয় জানতে হবে; যেমনÑ ভেরিয়েবল, অপারেটর, স্টেটমেন্ট, কন্ডিশন, ইটারেটর, মেমোরি ম্যানেজমেন্ট, অ্যারে ও ফাইল অপারেশন। সবচেয়ে বড় কথা হলো আপনার তৈরি অ্যাপ্লিকেশনটির নকশা। কি অ্যাপ তৈরি করতে চাচ্ছেন, তার পরিষ্কার ধারণা। এছাড়া অ্যালগরিদম, ডেটা স্ট্র্যাকচার, ডেটাবেজ সম্পর্কে ধারণা থাকলে দারুণ সব অ্যাপ তৈরি করা যাবে।
৪. আপনার দৃষ্টিতে
কাদের এই পেশায় আসা উচিত?
কলেজ, বিশ্ববিদ্যালয়ে পড়–য়া বা শিক্ষিত যেকোনো লোকই এই পেশায় আসতে পারে। তবে তাকে অবশ্যই সৃষ্টিশীল মানসিকতার হতে হবে। আর যাদের অ্যাপ’র প্রতি আগ্রহ রয়েছে কেবলমাত্র তাদেরই অ্যাপ তৈরি করতে আসা উচিত। সাধারণ নিষ্ঠা ও ধৈর্যের সাথে অ্যাপ ডেভেলপমেন্ট করলে জবের উপর নির্ভর করতে হবে না। জব করার ইচ্ছে না থাকলে অ্যাপ ডেভেলপমেন্ট শিখে এই সেক্টরে কাজ করা দারুণ একটা বিষয় হতে পারে। একটা ভালো মানের অ্যাপ তৈরি করতে পারলে, ওটা থেকে নিয়মিত টাকা আসতে থাকবে। রয়াল ইনকামের মতো। কারো যদি স্বাধীন পেশা ভালো লাগে, তাহলে তিনি এই অ্যাপ ডেভেলপমেন্টকে বেছে নিতে পারেন।
কলেজ, বিশ্ববিদ্যালয়ে পড়–য়া বা শিক্ষিত যেকোনো লোকই এই পেশায় আসতে পারে। তবে তাকে অবশ্যই সৃষ্টিশীল মানসিকতার হতে হবে। আর যাদের অ্যাপ’র প্রতি আগ্রহ রয়েছে কেবলমাত্র তাদেরই অ্যাপ তৈরি করতে আসা উচিত। সাধারণ নিষ্ঠা ও ধৈর্যের সাথে অ্যাপ ডেভেলপমেন্ট করলে জবের উপর নির্ভর করতে হবে না। জব করার ইচ্ছে না থাকলে অ্যাপ ডেভেলপমেন্ট শিখে এই সেক্টরে কাজ করা দারুণ একটা বিষয় হতে পারে। একটা ভালো মানের অ্যাপ তৈরি করতে পারলে, ওটা থেকে নিয়মিত টাকা আসতে থাকবে। রয়াল ইনকামের মতো। কারো যদি স্বাধীন পেশা ভালো লাগে, তাহলে তিনি এই অ্যাপ ডেভেলপমেন্টকে বেছে নিতে পারেন।
৫. আপনি কীভাবে এই
পেশায় এলেন?
ইউনিভার্সিটিতে পড়ার সময় থেকেই ইন্টানেরটভিত্তিক এই কাজগুলোর প্রতি আগ্রহ তৈরি হয়। আস্তে আস্তে এব্যাপরে পড়াশোনা শুরু করি। প্রথমেই বেছে নেই ওয়েব ডেভেলপমেন্ট। এখানে কাজ শুরু করার পর মোবাইল অ্যাপ দেখে এটা শেখার প্রতি প্রবল ইচ্ছা জাগে। শুরু হলো শেখার মিশন। এখনো প্রতিনিয়ত শিখছি। প্রথমে শুরু করেছি অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্ট। এরপর এখন আইওএস’র জন্যও অ্যাপ তৈরি করি।
ইউনিভার্সিটিতে পড়ার সময় থেকেই ইন্টানেরটভিত্তিক এই কাজগুলোর প্রতি আগ্রহ তৈরি হয়। আস্তে আস্তে এব্যাপরে পড়াশোনা শুরু করি। প্রথমেই বেছে নেই ওয়েব ডেভেলপমেন্ট। এখানে কাজ শুরু করার পর মোবাইল অ্যাপ দেখে এটা শেখার প্রতি প্রবল ইচ্ছা জাগে। শুরু হলো শেখার মিশন। এখনো প্রতিনিয়ত শিখছি। প্রথমে শুরু করেছি অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্ট। এরপর এখন আইওএস’র জন্যও অ্যাপ তৈরি করি।
৬. একজন সফল অ্যাপ
ডেভেলপারের কী কী গুণাবলী থাকতে হবে বলে আপনি মনে করেন?
অ্যাপ ডেভেলপার হতে হলে কম্পিউটার সায়েন্স নিয়ে পড়ালেখা করতে হবে, বিষয়টি এমন নয়। তাদের জন্য বিষয়টা একটু সহজ হয়। তবে যে কেউই অ্যাপ ডেভেলপার হতে পারবে। প্রথমে তাকে অ্যাপ ডেভেলপমেন্ট ভালোভাবে শিখে নিতে হবে। থাকতে হবে সৃষ্টিশীল মানসিকতা, প্রবল ইচ্ছাশক্তি, কাজের প্রতি একাগ্রতা, আন্তরিকতা ও ধৈর্য। যারা নিজে অ্যাপ তৈরি করে প্লে স্টোরে দিতে চায়, তাদের উচিত ইউনিক কিন্তু প্রয়োজনীয় এমন কোনো বিষয়ে অ্যাপ তৈরি করা। এক্ষেত্রে সংশ্লিষ্ট বিষয়ে সম্যক জ্ঞান থাকা প্রয়োজন। আর ক্লায়েন্টদের জন্য তৈরি করতে হলে ওই বিষয়ে পড়াশোনা করে যতœ সহকারে কাজ করতে হবে।
অ্যাপ ডেভেলপার হতে হলে কম্পিউটার সায়েন্স নিয়ে পড়ালেখা করতে হবে, বিষয়টি এমন নয়। তাদের জন্য বিষয়টা একটু সহজ হয়। তবে যে কেউই অ্যাপ ডেভেলপার হতে পারবে। প্রথমে তাকে অ্যাপ ডেভেলপমেন্ট ভালোভাবে শিখে নিতে হবে। থাকতে হবে সৃষ্টিশীল মানসিকতা, প্রবল ইচ্ছাশক্তি, কাজের প্রতি একাগ্রতা, আন্তরিকতা ও ধৈর্য। যারা নিজে অ্যাপ তৈরি করে প্লে স্টোরে দিতে চায়, তাদের উচিত ইউনিক কিন্তু প্রয়োজনীয় এমন কোনো বিষয়ে অ্যাপ তৈরি করা। এক্ষেত্রে সংশ্লিষ্ট বিষয়ে সম্যক জ্ঞান থাকা প্রয়োজন। আর ক্লায়েন্টদের জন্য তৈরি করতে হলে ওই বিষয়ে পড়াশোনা করে যতœ সহকারে কাজ করতে হবে।
কোন মন্তব্য নেই