আমরা অনেকেই কিভাবে অ্যাপ ডেভেলপ করতে হয়, তা জানি। কিন্তু কি ডেভেলপ করতে হবে তা জানি না। এ জন্য হয়তো অনেকেই একজন ডেভেলপার হিসেবে জব করি। জব করা অবশ্যই ভালো কিছু। আমাদের এ পৃথিবীতে অনেক অনেক সুযোগ রয়েছে। জব করা ছাড়াও সুযোগের সৎ ব্যবহার করে দারুণ কিছু করা যায়। দরকার হয় ডেভেলপমেন্ট স্কিলের পাশা পাশি বাড়তি কিছু দক্ষতা। যা ডেভেলপমেন্ট শেখা অনেক সহজ।
‘The three most harmful addictions are heroin, carbohydrates, and a monthly salary.’
— Nassim Nicholas Taleb
যেমন সুন্দর একটা অ্যাপ তৈরি করার জন্য সুন্দর একটা আইডিয়া লাগে। তার জন্যা আইডিয়া খুঁজতে হয়। আইডিয়া কিন্তু না খুঁজলে পাওয়া যাবে না। ফেসবুক হোক গুগল হোক বা হোক অ্যামাজন বা টেসলা। এগুলো সব কিছুই এক একটা ভালো আইডিয়া। একটা আইডিয়া থেকেই এত বড় কিছু।
আইডিয়ার জন্য যে কোন সমস্যা দেখলেই ভাবতে হবে, এটাকে কিভাবে সমাধান করা যায়। তা ক্লাসে পড়ার সময় হতে পারে। বাসে এখানে সেখানে যাওয়ার সময় হতে পারে। বাথরুমে বসে হতে পারে (আইডিয়া জেনারেট করার জন্য চমৎকার যায়গা!)।
আমাদের মস্তিষ্কটা খুব খারাপ। দরকারি জিনিস গুলো মনে রাখে না। কিন্তু ঠিকই বেদরকারি সব কিছু মাথায় রেখে দেয়। কোন আইডিয়া মাথায় আসলে তা লিখে ফেলতে হবে। এরপর বন্ধুদের সাথে ঐ আইডিয়া নিয়ে আলোচনা করতে হবে।
কিছু কিছু আইডিয়া হবে এমন, যা নিজের কাছেই ভালো মনে হবে, কিন্তু আসলে মানুষের কোন কাজে আসবে না। ঐ সব আইডিয়া গুলো বাদ দিতে হবে। এমন আইডিয়ার পেছনে সময় দিতে হবে, যেগুলো অনেক মানুষের কাজে আসবে। যেখানে মানুষ কম, সেখানে বিজনেসও কম। যেখানে মানুষ বেশি, সেখানে বিজনেসও বেশি। কোন আইডিয়া নিয়ে কাজ করার সময় সবার আগে এই বিজনেসটা দেখতে হবে। এমন না যে বিজনেস বলতে টাকাই আসতে হবে। অনেক মানুষের যদি উপকারও হয়, তাহলে তাও একটা ভালো আইডিয়া।
ফিচারলিস্টঃ
একটা আইডিয়া সিলেক্ট করার পর ঐ আইডিয়া নিয়ে বিস্তারিত ভাবতে হবে। তৈরি করতে হবে ফিচারলিস্ট। কি কি থাকবে, কেন থাকবে, কিভাবে থাকবে, এগুলোর ডকুমেন্টেশন তৈরি করতে হবে।
ওয়ারফ্রেম:
আইডিয়া সিলেক্ট করার পর হচ্ছে ওয়ারফ্রেম তৈরি করা। কাগজে কলমে অ্যাপের ওয়ার্কফ্লো গুলো একে ফেলা। আর প্রোটোটাইফ তৈরি করতে হেল্প করবে ফিচার লিস্ট। ওয়ারফ্রেম কম্পিউটারেও করা যায়। রয়েছে অনেক ওয়ারফ্রেম সফটওয়ার। যেমন InVision, Wireframe.cc ইত্যাদি।
ডিজাইনিংঃ
ওয়ারফ্রেম তৈরি করার পরবর্তী কাজ হচ্ছে ডিজাইন তৈরি করা। অ্যাপ বা প্রোডাক্টটা দেখতে কেমন হবে, তা ডিজাইন করা। এরপর ডেভেলপারের কাজ হচ্ছে এই ডিজাইনটিকে বাস্তবে পরিনত করা।
প্রোগ্রামিং ল্যাঙ্গুয়েজঃ
অ্যান্ড্রয়েড দিয়েই উদাহরণ দেই। অ্যান্ড্রয়েড অ্যাপ তৈরি করার অফিশিয়াল ল্যাঙ্গুয়েজ হচ্ছে এখন দুইটা। একটা হচ্ছে জাভা, আরেকটা হচ্ছে কটলিন। দুইটা দুই প্যারাডাইমের ল্যাঙ্গুয়েজ। জাভা হচ্ছে অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং। কটলিন হচ্ছে ফাংশনাল প্রোগ্রামিং। ফাংশনাল প্রোগ্রামিং প্যারাডাইম এখন আস্তে আস্তে জনপ্রিয় হচ্ছে। তাই যারা নতুন কোন ল্যাঙ্গুয়েজ শিখব, তারা কটলিন শিখতে পারে। আর যারা অলরেডি জাভা জানি, তারা জাভা দিয়েই অ্যান্ড্রয়েড অ্যাপ তৈরি করতে পারি।
এখন জাভা বা কটলিন ছাড়াও আরো অনেক গুলো ল্যাঙ্গুয়েজ দিয়ে অ্যান্ড্রয়েড অ্যাপ তৈরি করা যায়, যেমন সি শার্ফ, জাভা স্ক্রিপ্ট, সি/সি++ ইত্যাদি। তো আসলে কোন ল্যাঙ্গুয়েজ দিয়ে অ্যাপ তৈরি করা হচ্ছে, তা কোন ম্যাটার না। দুইটা জিনিস মাথায় রাখলেই হলো। অ্যাপটা যেন দারুণ কিছু হয় এবং এটি যেন সহজে ব্যবহার করতে পারে। অ্যান্ড্রয়েড নিয়ে আমার অনেক গুলো লেখা রয়েছে, সেগুলো পড়া যাবেঃ বাংলায় অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্ট থেকে। iOS নিয়েও কিছু লেখা রয়েছেঃ আইওএস অ্যাপ ডেভেলপমেন্ট
অফলাইন ফার্স্টঃ
অ্যাপটি তৈরি করার সময় মাথায় রাখতে হবে যেন অ্যাপটি অফলাইনেও কাজ করে। যত এন্ড্রয়েড অ্যাপ ডেভেলপার রয়েছে, তাদের মধ্যে বেশির ভাগ ইউজারই লিমিটেড ইন্টারনেট ব্যবহার করে। এই বিশাল সংখ্যার ব্যবহারকারীদের জন্য দরকার অফলাইন ফার্স্ট অ্যাপলিকেশন।
এটা আমরা করতে পারি ডেটাবেজ ব্যবহার করে। ইউজার যখন অনলাইন হবে, তখন ডেটা ক্যাশ করে রেখে দিয়ে। এরপর ইউজার যদি অফনালিনে কোন কিছু সাবমিট করে, অনলাইন হলে সেগুলো অনলাইনে সিঙ্ক্রোনাইজ করে নিতে হবে।
এটা ইমপ্লিমেন্ট করা তেমন বেশি কঠিন না। একটু চেষ্টা করলেই করা যাবে। ফেসবুক অ্যাপ এখন ওপেন করলে ইন্টারনেট ছাড়াও আপনি কিছু স্ট্যাটাস পড়তে পারবেন। এ ছাড়া লাইকও দিতে পারবেন। আবার অনেক গুলো অ্যাপ ওপেন করার সাথে সাথেই লেখা উঠে, no internet! ব্ল্যাঙ্ক অ্যাপ থেকে কিছু ডেটা দেখানো অনেক ভালো। নাই মামার চেয়ে কানা মামার মত আরকি!
আর্টিফিশিয়াল ইন্টিলিজেন্স ফার্স্টঃ
গুগলের আগের এজেন্ডা ছিল মোবাইল ফার্স্ট। এখনকার এজেন্ডা হচ্ছে আর্টিফিশিয়াল ইন্টিলিজেন্স ফার্স্ট। আগামী দুই তিন বছরের মধ্যে সব গুলো অ্যাপেই আর্টিফিশিয়াল ইন্টিলিজেন্স এর ব্যবহার হবে। আপনারা এখন থেকেই এগিয়ে থাকতে পারেন আপনাদের অ্যাপ আর্টিফিশিয়াল ইন্টিলিজেন্স ইমপ্লিমেন্ট করে।
ব্যবহার করতে পারেন টেনসর ফ্লো। বা সহজে ব্যবহার করতে চাইলে ব্যবহার করতে পারেন গুগলের Google Cloud Vision API। যেখানে সব কিছুই করে দেওয়া আছে। আমরা শুধু API কল করে ব্যবহার করতে পারব। এছাড়া আরো অনেক AI প্লাটফর্ম রয়েছে যেমনঃ wit.ai, api.ai, Microsoft Azure ML ইত্যাদি।
পাবলিশিংঃ
ডেভেলপ করা শেষ হলে অ্যাপ পাবলিশ করা সহজ। গুগল প্লে স্টোরে একাউন্ট খোলা, অ্যাপ সাবমিট করা। সাধারণত দুই ঘন্টার মধ্যেই অ্যাপ প্লে স্টোরে লাইভ হয়ে যায়।
পাবলিশ করার পর আরো কিছু কাজ করতে হয়। অ্যাপ তৈরি করার পর তো মানুষকে জানাতে হবে। সে জন্য একটু আধটু পাবলিসিটি করতে হয়। নিজের সোশাল নেটওয়ার্ক, কোন ব্লগ ইত্যাদি অ্যাপ সম্পর্কে লিখলে মানূষ অ্যাপটি সম্পর্কে জানতে পারবে। ইন্সটল করে ব্যবহার করবে।
মানিটাইজেশনঃ
ভালো একটা অ্যাপ তৈরি করতে অনেক পরিশ্রম করতে হয়। ঐ পরিশ্রম বৃথা যাবে যদি না অ্যাপটিকে ভালো ভাবে মানিটাইজেশন না করা যায়। যদিও বাংলাদেশ থেকে আমাদের জন্য একটাই উপায় অ্যাপ থেকে টাকা আয় করার, আর তা হচ্ছে এড এর মাধ্যমে।
এ ছাড়া আমরা চাইলে অ্যাপের মধ্যে দিয়ে কোন কিছু সেল করতে পারি। বিকাশ বা এমন মোবাইল মানি ব্যবহার করে টাকা রিসিভ করতে পারি।
এরপর? একটু বসে রিলাক্স করা। কারণ আমাদের কষ্ট করে তৈরি করা অ্যাপ থেকে টাকা আসতে শুরু করবে। এটা অনেকটা প্যাসিভ ইনকাম। একবার আয় শুরু হলে টাকা আসতে থাকবে। হয়তো মাঝে মধ্যে একটু কিছু আপডেট করতে হতে পারে ব্যবহারকারীদের ফিডব্যাক অনুযায়ী। এরপর হয়তো আমরা নতুন আরেকটা আইডিয়াতে সময় দিতে পারব।
ডেভেলপমেন্ট শেখা আসলে কঠিন। মানে অনেক কিছু জানতে হয়। লার্নিং কার্ভ ও অনেক বেশি। কিন্তু বাকি বিষয় গুলো জানা সহজ। লার্নিং কার্ভও কম। ডেভেলপমেন্টের পাশা পাশি আমরা অন্যান্য বিষয় গুলো জানলে আসলে নিজেই দারুণ কিছু করতে পারি। জব খুঁজতে হয় না। নিজের আইডিয়া ভালো হলে ইনশাহ আল্লাহ হয়তো নিজেই অনেক মানুষের কর্মসংস্থান তৈরি করতে পারব।
এক্সট্রাঃ স্টার্ট আপ আইডিয়া নিয়ে সুন্দর একটি লেখা। মন দিয়ে পড়লে অনেক ধারণা পাওয়া যাবে 🙂
Android app development শেখার আগে ভালো জাভা জানতে হয়। জাভা শেখার জন্য একটা ভালো আপ্স রিকমেন্ড করছি
https://play.google.com/store/apps/details?id=com.md.kaiumali.javainbangla