আজকাল অ্যাপসের চাহিদা বেড়েই যাচ্ছে। সুন্দর ডিজাইন আর ইউজার ফ্রেন্ডলি ইন্টারফেসের কারণে এখন জনপ্রিয় হয়ে উঠছে অ্যান্ড্রয়েড অ্যাপস। এইসব অ্যাপসের প্রতিটিই কোন না কোন প্রোগ্রামের সমন্বয়ে গঠিত। আপনি যদি অ্যান্ড্রয়েড অ্যাপ্লিকেশন ডেভেলপ করতে চান, তাহলে একটি ভালো প্রোগ্রামিং ল্যাঙ্গুয়েজ নির্বাচন করা দরকার।
এই আর্টিকেলে আমরা জানবো কোন কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ জানা থাকলে, আপনি নিজের মনের মতো একটি অ্যান্ড্রয়েড অ্যাপস বানিয়ে ফেলতে পারেন।
অ্যান্ড্রয়েড অ্যাপসের প্রোগ্রামিং ল্যাঙ্গুয়েজ
কোন ল্যাঙ্গুয়েজটি আপনার অ্যাপসের জন্য ভালো হবে সেটা বাছাই করে নিতে হবে আপনার নিজে থেকেই। কারণ, আপনি কোন ল্যাঙ্গুয়েজটি ব্যবহারে স্বাচ্ছন্দ্য বোধ করবেন তা একমাত্র আপনি জানবেন। অনেকগুলো ল্যাঙ্গুয়েজ থেকে আপনাকে সেরাটি বাছাই করে নিয়ে শুরু করতে হবে নিজের অ্যাপস ডেভেলপমেন্ট।
তো চলুন জেনে নেওয়া যাক কোন কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ জানার মাধ্যমে আপনি বানাতে পারেন একটি অ্যান্ড্রয়েড অ্যাপস।
১. Java
একটি অ্যান্ড্রয়েড অ্যাপসের জন্য সবচেয়ে ভালো এবং সর্বাধিক জনপ্রিয় অপশন হল জাভা। জাভা হল অ্যান্ড্রয়েড ডেভেলপমেন্টের অফিসিয়াল ভাষা, যার মানে এটি Google এর সর্বাধিক সমর্থনযোগ্য। আর প্লে স্টোরের বেশিরভাগ অ্যাপ্লিকেশনগুলো এই ল্যাঙ্গুয়েজ দিয়ে তৈরি করা হয়।
জাভা ১৯৯৫ সালে সান মাইক্রোসিস্টেম কর্তৃক রিলিজ করা হয়। প্রোগ্রামিং অ্যাপ্লিকেশন হিসাবে যার ব্যবহার সর্বাধিক। জাভা কোড “ভার্চুয়াল মেশিন” দ্বারা পরিচালিত হয় যা অ্যান্ড্রয়েড ডিভাইসগুলোতে চলে এবং কোডকে ইন্টারপ্রেট করে।
২. Kotlin
সাম্প্রতিককালে অ্যান্ড্রয়েড অ্যাপসের ক্ষেত্রে কোটলিন অন্যতম অফিসিয়াল ল্যাঙ্গুয়েজ। জাভার মতোই কোটলিনও জাভা ভার্চুয়াল মেশিনে চলে। এটি সম্পূর্ণভাবে জাভার সাথে আন্তঃব্যবহারযোগ্য এবং কোন প্রকার ধীরগতি কিংবা ফাইলের আকার বৃদ্ধি করে না।
পার্থক্য হল যে কোটলিন ল্যাঙ্গুয়েজে কম “বয়লার প্লেট” কোড প্রয়োজন, যার মানে এটি আরও সুশৃঙ্খল এবং সিস্টেমকে সহজেই পড়তে পারবে। স্পষ্টভাবে কোটলিন বিগিনার্সদের জন্য একটি সহজ স্টার্টিং পয়েন্ট এবং সঠিক অ্যান্ড্রয়েড ডেভেলপমেন্টে একটি সহজ এন্ট্রি পয়েন্ট দিতে পারে।
৩. C/C++
গুগল অ্যান্ড্রয়েড অ্যাপ্লিকেশন তৈরির জন্য দুটি অফিসিয়াল ডেভেলপমেন্ট কিট প্রদান করে। একটি এসডিকে, যা জাভা ব্যবহার করে এবং অন্যটি এনডিকে, যা সি এবং সি ++ এর মতো নেটিভ ভাষা ব্যবহার করে।
অ্যান্ড্রয়েড স্টুডিও যেহেতু অ্যান্ড্রয়েড এনডিকে (নেটিভ ডেভেলপমেন্ট কিট) ব্যবহার করে C/C++ কোড সাপোর্ট করে, সেহেহু আপনি যে কোড লিখবেন তা জাভা ভার্চুয়াল মেশিনে চালানো যাবে না। তবে C বা C ++ এর মাধ্যমে আপনি লাইব্রেরি ব্যবহার করতে সক্ষম হবেন।
৪. C#
সি# মূলত মাইক্রোসফট দ্বারা ডেভেলপকৃত সি এবং সি++ এর একটি সহজ ও পিওর অবজেক্ট ওরিয়েন্টেড ভার্সন। জাভার মতো সি# ও গারবেজ কালেক্টেড। যার ফলে মেমরি লিকের মত বিষয়গুলো সম্পর্কে চিন্তা করতে হবে না। এই প্রোগ্রামিং ল্যাঙ্গুয়েজের একটি বড় সমস্যা ছিল এটি কেবলমাত্র উইন্ডোজ সিস্টেমে চলতে পারে। কারণ এটি .NET ফ্রেমওয়ার্ক নির্ভর করে।
মাইক্রোসফট ২০১৪ সালে .NET ফ্রেমওয়ার্কটি ওপেন সোর্স করে এবং ২০১৬ সালে জ্যামারিন অর্জন করে। যেটি মোনো (একটি প্রকল্প যা C # প্রোগ্রামকে অনেক প্ল্যাটফর্মে চালানোর অনুমতি দেয়) কে রক্ষণাবেক্ষণ করে।
৫. Corona
বেশিরভাগ ক্ষেত্রে গেম তৈরি করতে ব্যবহার করা হয় এই প্রোগ্রামিং ল্যাঙ্গুয়েজটি। তবে জেনারেল ইউটিলিটি এবং ব্যবসায়িক অ্যাপস তৈরিতে এটি ব্যবহৃত হয়। এটি তাদের জন্য খুব বেশি দরকারি যারা তুলনামূলকভাবে সহজ কিছু তৈরি করতে চায় এবং তাদের কোডিং দক্ষতা উন্নয়ন করতে চায়।
Corona সমস্ত স্থানীয় লাইব্রেরি সমর্থন করে এবং একাধিক প্ল্যাটফর্মে প্রকাশ করা যায়।
৬. PhoneGap
সর্বশেষ প্রধান সিমপ্লিফাইড অপশন PhoneGap, যার মাধ্যমে আপনি অ্যান্ড্রয়েড অ্যাপস ডেভেলপ করতে পারবেন। এটি “Apache Cordova” দ্বারা পরিচালিত যার মাধ্যমে আপনি ওয়েবসাইট তৈরি করতে যে ল্যাঙ্গুয়েজ ইউস করেন তার মাধ্যমেই অ্যান্ড্রয়েড অ্যাপস বানাতে পারবেন।
PhoneGap দেখতে “WebView” এর মতো হবে, তবে কাজ হবে অ্যাপস হিসাবে। এটির মাধ্যমে অ্যাপস তৈরি করার জন্য আপনি “Adobe Cordova” ব্যবহার করতে পারেন, যা একটি ওপেন সোর্স ফ্রেমওয়ার্ক যা আইওএস, উইন্ডোজ 10 মোবাইল, ব্ল্যাকবেরি, ফায়ারফক্স এবং আরও অনেক কিছুতে সমর্থন করে।
সঠিক পছন্দ আপনার সংবেদনশীলতা এবং আপনার উদ্দেশ্যগুলি উপর নির্ভর করে। একটি অ্যান্ড্রয়েড অ্যাপস ডেভেলপ করার আগে অবশ্যই একটি ভালো ল্যাঙ্গুয়েজ সিলেক্ট করতে হবে। যার ফলে আপনার অ্যাপসটি হবে ইউজার ফ্রেন্ডলি।
আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলি তৈরি করার জন্য বিভিন্ন অপশন থেকে বাছাই করে নিতে পারেন। জাভা এবং কোটলিন থেকে সি, সি # ইত্যাদি। আবার PhoneGap ব্যবহার করে HTML এবং CSS ব্যবহার করেও বানাতে পারেন আপনার অ্যান্ড্রয়েড অ্যাপস।
মুনতাকিমুল আবেদীন says
জাভা নিয়ে আমার আগ্রহ অনেক বেশি… কেবল জাভা আর সি+ শিখলেই কি এডভান্স অ্যাপ ডেভেলপ করা যাবে? আমাকে একটু জানাবেন।