bangla app development book

 

মোবাইল এপ ডেভেলপমেন্ট নিয়ে কিছু বেসিক আলোচনা, সবার জানা জরুরী!


আস সালামু আলাইকুম, আশা করি আল্লাহর রহমতে সবাই ভালো আছেন। আজ আপনাদের সাথে আইটি সেক্টরের একটি জনপ্রিয় এবং গুরুত্বপূর্ণ বিষয় মোবাইল এপ ডেভেলপমেন্ট নিয়ে কিছু কথা বলবো।

শুরু করার আগেই বলে রাখি যদি আপনি সত্যি মোবাইল এপ ডেভেলপমেন্ট নিয়ে কাজ করতে চান তাহলে এই লেখাটি আপনার জন্যই। এখানে একেবারে শুরু তে যা যা জানা দরকার সেগুলা বিস্তারিত আছে!

আমরা যখনই কোন নতুন কিছু শিখতে চাই, তখনই আমাদের মাথায় কিছু প্রশ্ন চলে আসে।মোবাইল এপ এপ্লিকেশন ডেভেলপমেন্ট সম্পর্কে যে প্রাথমিক প্রশ্ন গুলো সবার মাঝে আসে সে গুলো হলো,

  1. মোবাইল এপ এপ্লিকেশন ডেভেলপমেন্ট এর ভবিষ্যৎ কেমন?
  2. মোবাইল এপ এপ্লিকেশন ডেভেলপমেন্ট এর জন্য কেমন কম্পিউটার/ লেপটপ লাগবে?
  3. মোবাইল এপ এপ্লিকেশন ডেভেলপমেন্ট এর জন্য কি কি Programming Language জানতে হবে?
  4. মোবাইল এপ এপ্লিকেশন ডেভেলপমেন্ট এর জন্য কি কি জানতে হবে?
. মোবাইল এপ এপ্লিকেশন ডেভেলপমেন্ট এর ভবিষ্যৎ কেমন:
যদি আমি এই সম্পর্কে বলতে যায় তাহলে বোধহয় আমার আগে আপনিই এটির সমাধান দিয়ে দিতে পারবেন। বর্তমান বিশ্ব সব থেকে বেশি যে জিনিসটা ব্যবহার করছে, সেটি হলো মোবাইল ফোন। দিন দিন এর চাহিদা ব্যপক ভাবে বৃদ্ধি পেয়েই যাচ্ছে। এমনকি আপনার কাছেও হয়তো একাধিক ফোন রয়েছে। আর সেই ফোন গুলোর মধ্যে অনেক ধরনের সফটওয়্যার/এপ রয়েছে। আপনি যদি নতুন কোন ভালো এপ তৈরি করতে পারেন তাহলেই আপনিই বলুন সেই এপটির ভবিষ্যৎ কেমন হবে? আমি আপনাকে এতটুকু আশ্বাস দিতে পারি আগামী ২০ বছরের মধ্যেও মোবাইল এপ এপ্লিকেশন ডেভেলপমেন্ট সেক্টরের উপর কোন প্রকার ধসের সম্ভবনা নেই। দিন দিন এর ভবিষ্যৎ আরো উজ্জ্বল হয়ে উঠছে। তাই ভবিষ্যত নিয়ে না ভাবলেও চলবে আশা করি।

মোবাইল এপ এপ্লিকেশন ডেভেলপমেন্ট এর জন্য কেমন কম্পিউটার/ লেপটপ লাগবে:

এটি খুব গুরুত্বপূর্ণ একটি প্রশ্ন। যেহুত আমরা মোবাইল এপ এপ্লিকেশন ডেভেলপমেন্ট করবো Android Studio নামক সফটওয়্যার এর মাধ্যমে, আর এটি অনেক ভারী একটি সফটওয়্যার। তাই আমাদের কম্পিউটারটি হতে হবে একটু ভালো। মিনিমাম CORE i3 4GB RAM তে ও আপনি এই সফটওয়্যারটি ব্যবহার করতে পারবেন। তবে সব থেকে গুরুত্বপূর্ণ যে বিষয়টি হচ্ছে সেটি হলো আপনি যতো ভালো কোয়ালিটির কম্পিউটারই ব্যবহার করেন না কেনো আপনাকে SSD এর সহায়তা নিতে হবে। তাহলেই আপনি সুন্দর ভাবে সফটওয়্যারটি ব্যবহার করতে পারবেন।

মোবাইল এপ এপ্লিকেশন ডেভেলপমেন্ট এর জন্য কি কি Programming Language জানতে হবে:

মোবাইল এপ এপ্লিকেশন ডেভেলপমেন্ট এর জন্য আপনাকে C,C++ & Java/Kotlin এর যে কোন একটির উপর ভাল দক্ষতা থাকতে হবে। আমি ব্যক্তিগত ভাবে আপনাকে একটি পরামর্শ দেবো, আপনারা যারা বিগেনার আছেন তাদের জন্য Java দিয়ে শুরু করাটাই ভালো হবে। কারন আপনি যখন Android সম্পর্কে বিভিন্ন সাইটে সার্চ করবেন আপনার সমস্যা সম্পর্কে, তখন Java এর উপর আপনি অনেক ভিডিও খুঁজে পাবেন এবং সেগুলো বুঝতে আপনার সুবিধা হবে। Java তে আপনি যে সুবিধাটি পাবেন সেটি C++/Kotlin  এ পাবেন না। কারন Java দিয়ে আপনি যতগুলো Android Developer পাবেন তা অন্য কোন language  এ পাবেন না।

মোবাইল এপ এপ্লিকেশন ডেভেলপমেন্ট এর জন্য কি কি জানতে হবে:

আমি বলবো আপনাকে অনেক কিছুই জানতে হবে। চলুন একটি একটি করে 

৪.১. আপনাকে Android App Developer হতে গেলে XML শিখতে হবে। প্রশ্ন হতে পারে আপনি এটি কেন শিখবেন?XML আপনি এই কারনে শিখবেন, কেননা Android এর যে Native Mobile Application আছে সেটির UI(User Interferes) তৈরি করতে গেলে আপনাকে অবশ্যই XML জানতে হবে।XML নিয়ে কোন ভয়ের কারণ নেই, কারন আপনি যদি HTML জেনে থাকেন( eliminate, tag, attribute, property, value) তাহলে আপনি খুব সহজেই XML Code করতে পারবেন।XML এ অনেক property আছে। আপনার যে property গুলো প্রয়োজন সেগুলো লিখে সার্চ দিলে অসংখ্য resources file পেয়ে যাবেন।

৪.২. আপনাকে Android Studio সম্পর্কে ভালো করে শিখতে হবে। আপনারা অনেকেই আছেন যারা Java, XML ভালো পারেন, কিন্তু Android Studio তে যে Development Environment আছে সেগুলোর খুঁটিনাটি জানেন না। তাই আপনাকে অবশ্যই Android Studio সম্পর্কে ভালো করে জানতে হবে। তা নাহলে আপনি যখন Android Studio তে program করবেন তখন process এর সময় আপনি যে সমস্যা গুলো face করবেন, সেগুলো আপনারা সমাধান করতে পারবেন না।এ জন্য Android Studio এর Development Environment সম্পর্কে খুঁটিনাটি বিষয় গুলো খুব ভালো করে জানতে হবে।

৪.৩. আপনাকে offline database সম্পর্কে জানতে হবে। মোবাইল এপ বানানোর জন্য আমাদের database লাগবেই। কারন database বিহীন কোন সফটওয়্যার কল্পনাও করা যায় না। Android এর জন্য offline database হিসাবে আপনি sqlite/ sqlite এর Modern version Rum database ব্যবহার করতে পারেন। তবে Rum database ব্যবহারের পূর্বে অবশ্যই sqlite শিখতে হবে।৪.২. আপনাকে online database সম্পর্কে জানতে হবে। এর জন্য আপনি MySQL, Mongodb, firebase ব্যবহার করতে পারেন।

MySQL: আপনি বিনামূল্যে আনলিমিটেড ডাটাবেজ তৈরি করতে পারবেন এবং সেটি Mobile App এর সাথে ব্যাবহার করতে পারবেন।

Firebase: আপনাকে এটি ব্যবহার করতে হলে এর জন্য টাকা দিতে হবে। এর মাধ্যমে আপনি আপনার App এর full details গুলো দেখতে পাবেন( কত গুলো install হলো, কই থেকে হলো, কতোবার open হয়েছে ইত্যাদি)। আপনি যদি আপনার App এর মাঝে Audio/video call দেয়ার feature রাখতে চান তাহলে আপনাকে অবশ্যই Firebase ব্যবহার করতে হবে। Firebase ব্যবহার করে Push Notification system ব্যবহার করতে পারবেন, যেটি আপনি MySQL এ পাবেন না। Online database হিসাবে যদি আপনি MySQL ব্যাবহার করেন, তাহলে এই MySQL কে handle করার জন্য যেকোন একটি server site language ভালো করে শিখতে হবে। এর জন্য আপনি (Php/Asp/nodejs/ python) শিখতে পারেন।

৪.৪. আপনাকে JSON সম্পর্কে জানতে হবে। প্রশ্ন আসতে পারে আমরা JSON কেনো শিখবো? এটি তো JavaScript এর একটি notation, যেটিকে বলা হয় JavaScript object notation আপনি যদি JSON না জানেন তাহলে আপনি কখনই Mobile App Developer হতে পারবেন না। কেননা Mobile Application Database থেকে যে Data গুলো send করে/ data retrieve করে আপনার show করে, এই show করানোর জন্য আপনাকে ListView/recyclerview ব্যাবহার করতে হয়। আর এটির জন্য আপনাকে JSON বুঝতে হবে। কেননা আপনি Database থেকে JSON format এই data retrieve করে নিয়ে এসে ListView/ recyclervie এর ভিতরে আপনি show করাবেন। এ জন্য JSON array structure টি ভালো করে আপনাকে আয়ত্ত করতে হবে।

৪.৫. আপনি যদি একজন পূর্নাঙ্গ Android Developer হতে চান তাহলে আপনাকে web developer ও হতে হবে। এটি হচ্ছে সব থেকে বড় কথা। আপনার মনে প্রশ্ন জাগতে পারে আমি Android Developer হবো কিন্তু আবার Web Developer কেনো হবো ? আসলে Android Developer হতে গেলে আপনাকে অবশ্যই Web Developer হতে হবেই। তা নাহলে আপনি কখনই পূর্নাঙ্গ Mobile Application কখনই করতে পারবেন না। হুম ঐ সকল App তৈরি করতে পারবেন যে গুলোর কোন ( control panel, database system, remote cominacation system) নেই, এ রকম যে static Mobile Application গুলো রয়েছে সেগুলো তৈরি করতে পারবেন। কিন্তু আপনি যদি Dynamic Mobile Application তৈরি করতে চান তাহলে আপনাকে(User & Admin) panel এর জন্য web developer হতে হবে। কেননা এই Admin panel আপনি তৈরি করবেন একটি web application হিসাবে।এর জন্য আপনাকে (HTML,CSS, BOOTSTRAP, JAVASCRIPT etc) এগুলো খুব ভালো করে শিখতে হবে।

৪.৬. UI Design এর জন্য আপনাকে(Adobe Photoshop, illustrator, xd) শিখতে হবে। আপনাকে তিনটিই জানতে হবে। কারন কখন কোনটা কোথায় লাগবে সেটি আপনিও বুঝতে পারবেন না।যদি আপনি vector icon ব্যবহার করতে চান তাহলে আপনাকে illustrator ব্যবহার করে vector icon তৈরি করতে পারবেন যেটি অন্য গুলো দিয়ে পারবেন না। ।আপনি Mobile Application এর জন্য বিভিন্ন framework(react,ionic, phonegap, Flutter) ব্যবহার করতে পারেন।সত্যি বলতে একজন পূর্নাঙ্গ Android Developer হতে গেলে শিখার শেষ নেই, জানার শেষ নেই। নিজেকে প্রতিনিয়ত update করুন।

আপনি যেখান থেকে শুরু করলে আপনার কাছে জিনিস গুলো সহজ মনে হবে আপনি সেখান থেকেই শুরু করুন।আমি নিজেই একজন নতুন সদস্য Android জগতে। আমিও শিখছি আর আপনারা যারা শিখতে চাচ্ছেন তাদের জন্য আমার এই ক্ষুদ্র প্রয়াস। এটি আমার প্রথম লেখা তাই ভুল হলে ক্ষমা দৃষ্টিতে দেখবেন এবং ভুলটি ধরিয়ে দিলে আমি নিজেও নিজেকে সংশোধন করে নিতে পারবো।

আশুন এখন শুরু করা যাক আসল বিষয়: 

অ্যানড্রয়েড হলো গুগলের ডেভেলপ করা একটি অপারেটিং সিস্টেম এবং প্রোগ্রামিং প্লাটফর্ম যা বিভিন্ন স্মার্টফোন এবং মোবাইল ডিভাইস (ট্যাবলেট) গুলোর জন্য তৈরি। এটা বিভিন্ন প্রস্তুতকারকের (manufacturer) তৈরি করা ডিভাইস সমূহে রান করতে সক্ষম। অ্যানড্রয়েড একটি সফটওয়ার ডেভলপমেন্ট কিট (Software development kit) বা SDK যুক্ত থাকে যাতে আমরা কোড লিখা এবং সফটওয়ার মডিউল গুলো একত্রিত করে অ্যাপ বানাতে পারি। আমাদের বানানো অ্যাপ গুলো সবার ডাওনলোড করার জন্য একটি মার্কেটপ্লেস (Play store) ও আছে অ্যানড্রয়েডের। সুতরাংআমরা বলতেই পারি অ্যানড্রয়েড হলো মোবাইল অ্যাপ গুলোর জন্য একটি ইকসিস্টেম (Mobile app ecosystem) ।

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

বেশির ভাগ আন্ড্রয়েড ডিভাসগুলোই টাচস্ক্রিন ইউজার ইন্টারফেস (UI) ব্যবহার করে অ্যাপ গুলোর সাথে ইউজারের interact করার বাবস্থা করে। টাচস্ক্রিন এর মধ্যে আমরা swiping, tapping, pinching ইত্যাদি ভাবে বিভিন্ন টাচ একশন (Touch action) করতে পারি। Android এ একটি ভারচুয়াল কিবোর্ড (Virtual keyboard) আছে যাতে আমরা টেক্সট ইনপুট দিতে পারি। অ্যানড্রয়েড আমরা গেম কন্ট্রোলার ডিভাইস, যান্ত্রিক কিবোর্ড (Mechanical keyboard/ Physical keyboard) ব্যবহার ব্যবহার করতে পারি (Bluetooth/USB) এর মাধ্যমে।

আন্ড্রয়েড হোম স্ক্রিনে (Android home screen) অ্যাপ আইকন সহ বিভিন্ন পেজ থাকতে পারে যার মাধ্যমে আমরা অ্যাপ চালু করতে পারি। হোম স্কিনে উইজেট Widgets) গুলোও থাকে যাতে আমরা বিভিন্ন অটো আপডেটিং কন্টেন্ট যেমন ইমেইল, আবহাওয়া ইত্যাদি দেখাতে পারি। আন্ড্রয়েড এ আমরা বিভিন্ন মাল্টিমিডিয়া কন্টেন্ট যেমন মিউজিক, এনিমেশন, ভিডিও ইত্যাদি প্লে করতে পারি। উপরের ছবিটির প্রথমটি আন্ড্রয়েড হোম স্ক্রিন, মাঝেরটিতে মিউজিক প্লে হচ্ছে এবং ডানেরটিতে আমরা Widget দেখতে পাচ্ছি। স্ক্রিনের সবার উপরে একটি স্টেটাস বার আছে যেখানে আমরা ডিভাইস রিলেটেড বিভিন্ন ইনফরমেশন যেমন কানেক্সটিভিটি, টাইম, ব্যাটারি ইত্যাদির তথ্য দেখতে পাই। আন্ড্রয়েড হোম স্ক্রিনকে আমরা আগে পেছনে করতে পারি swipe করার মাধ্যমে।

আন্ড্রয়েডকে এমনভাবে ডিজাইন করা হয়েছে যা ইউজারের ইনপুটের সাথে সাথে রেসপন্স বা সাড়া দিতে পারে। টাচ ইন্টারফেসের সাথে সাথে আন্ড্রয়েড এ ভাইব্রেশন করার ক্ষমতা দেয়া আছে যা হেপটিক ফিডব্যাক (Haptic feedback) করতে সক্ষম।

অভ্যন্তরীণ যন্ত্রাংশ যেমন gyroscopes এবং proximity sensors গুলোও বিভিন্ন ইউজার একশনের জন্য সাড়া দিতে ব্যবহার করা হয়। এগুলো স্ক্রিনের ঘুর্নন বা (Rotation) ডিটেক্ট করতে পারে। আমরা রেসিং গেম গুলোতে এই ঘুর্ননকে গাড়ির স্টিয়ারিং হুইল এর মতো ব্যবহার করতে পারি।

অ্যানড্রয়েড প্লাটফর্ম লিনাক্স কার্নেল (Linux kernel) এর উপর ভিত্তি করে বানানো। প্রাথমিক ভাবে অ্যানড্রয়েডকে টাচস্ক্রিন (Touch screen) ডিভাইস এর জন্য ডিজাইন করা হয়েছে। যেহেতু অ্যানড্রয়েড ডিভাইস গুলো ব্যাটারি পাওয়ারের উপর নির্ভর করে তাই একে এমন করে ডিজাইন করা হয়েছে যাতে ব্যাটারি পাওয়ার ব্যবহার করার পরিমাণ মিনিমাম থাকে।

Android app development Bangla tutorial

অ্যানড্রয়েড সফটওয়্যার ডেভেলপমেট (Android software development kit) কিট বা SDK যার মাধ্যমে আমরা আমরা অ্যাপ ডেভেলপমেন্ট করবো। SDK তে থাকে একটি ডিবাগার, সফটওয়্যার লাইব্রেরিগুলো, একটি ডিভাইস এমুলেটর (AVD), ডকুমেন্টেশন, নমুনা কোড, টিউটোরিয়াল ইত্যাদি। আমরা এই টুল গুলো ব্যবহার করে এমন একটি অ্যাপ তৈরি করবো যা দেখতে হবে চমৎকার এবং ডিভাইস সমূহের হার্ডওয়্যার সক্ষমতা ব্যবহার করবে।

SDK ব্যবহার করে অ্যাপ ডেভেলপমেন্টের জন্য আমরা জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করবো। এবং Extensible Markup Language বা XML ব্যবহার করবো ডাটা রিসোর্স বর্ননা (Data resource definition) করার জন্য। আমরা জাভাতে কোড করার পড় একটি অ্যাপ তৈরি করবো যা ফোনে এবং ট্যাবলেট ডিভাইস উভয়টাতেই চলবে। আমাদের UI কোন ধরনের ডিভাইসে কেমন হবে তা XML রিসোর্সের মাধ্যমে বলে দিতে পারি। এর জন্য আমরা ট্যাবলেট এবং ফোনের জন্য আলাদা ভাবে XML তৈরি করবো। অ্যানড্রয়েড সিস্টেম রানটাইমে সঠিক ডিজাইন প্রয়োগ করবে।

দ্রুত অ্যানড্রয়েড অ্যাপ ডেভেলপমেন্ট করার জন্য গুগলের একটি Java Integrated Development Environment বা IDE আছে। যার নাম অ্যানড্রয়েড স্টুডিও। যার মাধ্যমে আমরা Development, Debugging, Packaging ইত্যাদি সুবিধা পাবো। আমরা অ্যানড্রয়েড স্টুডিও (Android studio) ব্যবহার করে যেকোনো ধরনের অ্যাপ বানাতে পারবো। AVD ব্যবহার করে করে আমরা কম্পিউটারেই ভারচুয়াল ডিভাইস সিমুলেট করতে পারবো। আমরা ইচ্ছে করলে বাস্তব ডিভাইসেও আমাদের তৈরি করা অ্যাপ পরীক্ষা করে দেখতে পারবো।

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

  1. অ্যাপ: কোর সিস্টেম অ্যাপ গুলোর পাশাপাশি আমাদের বানানো অ্যাপ গুলো এই লেভেলে থাকবে।
  2. অ্যানড্রয়েড API ফ্রেমওয়ার্ক: অ্যানড্রয়েড সকল ফিচার গুলো Application Programming Interface বা API এর মাধেমে আনরা ব্যবহার করতে পারি। অ্যাপ বানানোর জন্য এই API এর বিস্তারিত আমাদের জানার দরকার নেই। তবুও আরও জানার জন্য নিচের API গুলো পরতে পারেন।
    • View System এই API দিয়ে আমরা অ্যাপ এর UI বা User interface যেমন লিস্ট, বাটন এবং মেনু তৈরি করি।
    • Resource Manager কে দিয়ে আমরা বিভিন্ন রিসোর্স অ্যাক্সেস করতে পারি যেমন স্ট্রিং, গ্রাফিক্স, লেআউট ইত্যাদি।
    • Notification Manager দিয়ে আমরা স্ট্যাটাস বারে কাস্টম নোটিফিকেশন দেখাতে পারি।
    • Activity Manager একটি অ্যাপ এর লাইফসাইকেল মেনেজ করে।
    • Content Providers অন্য কোনও অ্যাপ থেকে ডেটা নিতে ব্যবহার করা হয়।
    • এখানে সকল framework APIs আছে যা সিস্টেম অ্যাপ ব্যবহার করে।
  3. লাইব্রেরি এবং অ্যানড্রয়েড রানটাইম: প্রতিটি অ্যাপ অ্যানড্রয়েড রানটাইমে তাদের নিজস্ব প্রসেস এবং ইন্সটেন্সে (Instance) এ রান করে। যার জন্য কম র‍্যামের ডিভাইস গুলোতে একধিক ভার্চুয়াল মেশিন রান করানো যায়। অ্যানড্রয়েডে একটি কোর রানটাইম লাইব্রেরি রয়েছে যার মাধ্যমে আমরা জাভা ৮ এর কিছু ফিচার সহ জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজের প্রায় সমস্ত ফাংশনালিটির অ্যাক্সেস পেতে পারি। অনেক কোর কম্পোনেন্ট এবং সার্ভিস নেটিভ কোড ব্যবহার করে যার জন্য C এবং C++ লিখা লাইব্রেরি দরকার পরে। এই নেটিভ লাইব্রেরি গুলোও জাভা API ফ্রেমওয়ার্ক এর মাধ্যমে ব্যবহার করা যাবে।
  4. Hardware Abstraction Layer ব (HAL): ডিভাইস এর হার্ডওয়ারকে জাভা Higher লেভেল API ফ্রেমওয়ার্ক দিয়ে অ্যাক্সেস করার জন্য এর লেয়ার আমাদেরকে ইন্টারফেস প্রদান করে। HAL এ একাধিক লাইব্রেরি মডিউল থাকে যাদের প্রতিটি আলদা আলদা হার্ডওয়্যারের জন্য কোড ইমপ্লিমেন্ট করেছে।
  5. লিনাক্স কার্নেল: অ্যানড্রয়েডের ভিত্তি হলো লিনাক্স কার্নেল। উপরের সমস্ত লেয়ার থ্রেডিং (Threading) , লো লেভেল মেমোরি ম্যানেজমেন্টের (Low level memory management) জন্য লিনাক্স কার্নেলের উপর নির্ভর করে। লিনাক্স কার্নেল এর জন্য আমরা অ্যানড্রয়েডে গুরুত্বপূর্ণ সিকিউরিটি ফিচার গুলোর সুবিধা নিতে পারি, এবং ডিভাইস প্রস্তুতকারিরা সহজে ডিভাইস ড্রাইভার (Device driver) তৈরি করতে পারেন।








Post a Comment