কোটলিন বনাম জাভা - দুজনের মধ্যে পার্থক্য কী?

লেখক: John Stephens
সৃষ্টির তারিখ: 24 জানুয়ারি 2021
আপডেটের তারিখ: 1 জুলাই 2024
Anonim
কোটলিন বনাম জাভা | অ্যান্ড্রয়েড ডেভেলপমেন্টের জন্য জাভা বা কোটলিন | কোটলিন টিউটোরিয়াল | এডুরেকা
ভিডিও: কোটলিন বনাম জাভা | অ্যান্ড্রয়েড ডেভেলপমেন্টের জন্য জাভা বা কোটলিন | কোটলিন টিউটোরিয়াল | এডুরেকা

কন্টেন্ট


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

জাভা সম্পর্কে আরও জানার জন্য মেক অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলিতে জাভা কোর্সের একটি বিনামূল্যে পরিচিতি পান।

আজকের দিনে, অ্যান্ড্রয়েড স্টুডিওগুলি বিল্ট-ইন সমর্থন সহ কোটলিনকে সমর্থন করে, সুতরাং কোটলিন কোড বোঝে এমন একটি অ্যান্ড্রয়েড প্রকল্প তৈরি করা অ্যান্ড্রয়েড স্টুডিওর প্রকল্প তৈরি উইজার্ডে একটি চেকবক্স নির্বাচন করার মতোই সহজ। বিকল্পের জন্য অতিরিক্ত ওভারটাইমের জন্য সমর্থন বৃদ্ধি পেয়েছে, এই সিদ্ধান্তটি এখন প্রধানত পছন্দকে নেমে আসে।

আপনি যদি জাভা থেকে কোটলিনে স্যুইচ করেন তবে আপনি ঠিক কী অর্জন করছেন? কোটলিনের কী বৈশিষ্ট্য রয়েছে, জাভা নেই এবং বিপরীতে রয়েছে?

এই নিবন্ধে, আমরা কোটলিন বনাম জাভা এর মধ্যে সমস্ত প্রধান পার্থক্যগুলি দেখব।

কোটলিন বনাম জাভা, পরবর্তীতে আরও সিসিন্ট কোড সরবরাহ করে - কোনও উইডবাইআইডস নেই

যদি আপনি কোনও কোটলিন ক্লাস এবং জাভা শ্রেণীর সাথে তুলনা করেন যা একই কাজ করছে, তবে কোটলিন শ্রেণি সাধারণত আরও সংক্ষিপ্ত হবে তবে বিশেষত একটি ক্ষেত্র রয়েছে যেখানে কোটলিন আপনার লেখার জন্য বয়লারপ্লেট কোডের পরিমাণ গুরুতরভাবে হ্রাস করতে পারে: findViewByIds.


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

আপনি এই এক্সটেনশনগুলি ব্যবহার করার আগে আপনাকে আপনার মডিউল-স্তরের বিল্ড.gradle ফাইলটিতে একটি অতিরিক্ত প্লাগইন যুক্ত করতে হবে (প্লাগইন প্রয়োগ করুন: 'কোটলিন-অ্যান্ড্রয়েড-এক্সটেনশানস') তবে এর পরে আপনি দৃশ্যগুলি আমদানি শুরু করতে প্রস্তুত, উদাহরণস্বরূপ যদি আপনার অ্যাক্টিভিটি_মাইন.এক্সএমএল ফাইলটিতে আইডি টেক্সটভিউয়ের সাথে একটি টেক্সটভিউ থাকে তবে আপনি নিম্নলিখিতটি আপনার ক্রিয়াকলাপে যুক্ত করতে চান:

আমদানি করুন কোটলিনেক্স.অ্যান্ড্রয়েড.সেন্টিথেটিক.মাইন.একটিভিটি_মিন.টেক্সটভিউ

তারপরে আপনি এই আইডিটি ব্যবহার করে এই পাঠ্যদর্শনটি অ্যাক্সেস করতে পারেন:

পাঠ্য ভিউ.সেটেক্সট ("হ্যালো ওয়ার্ল্ড")

এই অনেক জাভা সমতুল্য চেয়ে বেশি সংক্ষিপ্তসার:

টেক্সটভিউ পাঠ্য = (পাঠ্যদর্শন) সন্ধান ভিউবিআইআইডি (আর.আইডি.টেক্সটভিউ); টেক্সট.সেটেক্সট ("হ্যালো ওয়ার্ল্ড");

কোটলিন ডিফল্টরূপে নাল নিরাপদ

নালপয়েন্টারএক্সেপশন জাভা বিকাশকারীদের হতাশার বিশাল উত্স। জাভা আপনাকে যে কোনও ভেরিয়েবলের জন্য নাল বরাদ্দ করতে দেয়, তবে আপনি যদি কোনও নাল মান সহ কোনও অবজেক্ট রেফারেন্স ব্যবহার করার চেষ্টা করেন, তবে নিজেকে নালপয়েন্টারএক্সপেশনের মুখোমুখি করুন!


আরও পড়ুন: অ্যান্ড্রয়েড পরিচিতির জন্য কোটিলন

কোটলিনে, সমস্ত ধরণের ডিফল্টরূপে নন-অযোগ্য (নাল মান ধরে রাখতে অক্ষম)। যদি আপনি আপনার কোটলিন কোডটি নির্ধারণ বা বাতিল করার চেষ্টা করেন তবে তা সংকলন-সময়ে ব্যর্থ হবে, সুতরাং নিম্নলিখিত লাইনগুলির কোনওটিই সংকলন করবে না:

ভাল নাম: স্ট্রিং = নাল

মজা getName (): স্ট্রিং = নাল

আপনি যদি সত্যিই কোটলিনে একটি ভেরিয়েবলের একটি নাল মান নির্ধারণ করতে চায়, তারপরে আপনাকে প্রকারের পরে একটি প্রশ্ন চিহ্ন যুক্ত করে স্পষ্টভাবে সেই পরিবর্তনশীলটিকে অবননযোগ্য হিসাবে চিহ্নিত করতে হবে:

ভাল নম্বর: ইন্ট? = নাল

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

এক্সটেনশন ফাংশন

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

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

পরবর্তী পড়ুন: নতুনদের জন্য জাভা টিউটোরিয়াল

আপনি যে শ্রেণীর তৈরি করতে চান (যেমন ‘স্ট্রিং’) আপনি যে ফাংশনটি তৈরি করছেন (‘স্টাইল স্ট্রিং’) এর উদাহরণটি উপস্থাপন করে আপনি একটি এক্সটেনশন ফাংশন তৈরি করেন: উদাহরণস্বরূপ:

মজাদার স্ট্রিং.স্টাইল স্ট্রিং (): স্ট্রিং {// স্ট্রিংটি স্টাইল করুন এবং তারপরে এটি ফিরিয়ে দিন //}

তারপরে আপনি এই ফাংশনটিকে প্রসারিত শ্রেণীর উদাহরণগুলির মাধ্যমে কল করতে পারেন via স্বরলিপি, যেন এটি class শ্রেণীর অংশ:

myString.styleString ()

Coroutines প্রথম শ্রেণীর নাগরিক হয়

আপনি যখনই দীর্ঘমেয়াদী ক্রিয়াকলাপ শুরু করেন যেমন নেটওয়ার্ক I / O বা সিপিইউ-নিবিড় কাজ, অপারেশন সম্পূর্ণ না হওয়া পর্যন্ত কলিং থ্রেডটি ব্লক করা থাকে। যেহেতু অ্যান্ড্রয়েড ডিফল্টরূপে একক থ্রেডেড, আপনি মূল থ্রেডটি অবিলম্বে আপনার অ্যাপ্লিকেশনটির UI জমাট বাঁধতে শুরু করবে এবং অপারেশন শেষ না হওয়া পর্যন্ত এটি প্রতিক্রিয়াহীন থাকবে।

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

আপনি কোটলিনে অতিরিক্ত থ্রেড তৈরি করতে পারার সময় আপনি কর্টিনগুলিও ব্যবহার করতে পারেন। কর্টাইনগুলি থ্রেডটি ব্লক না করে নির্দিষ্ট সময়ে নির্বাহ স্থগিত করে দীর্ঘকালীন এবং নিবিড় কাজগুলি সম্পাদন করে এবং তারপরে পরবর্তী সময়ে সম্ভবত অন্য থ্রেডে এই ফাংশনটি আবার শুরু করে। এটি আপনাকে অ-ব্লকিং অ্যাসিঙ্ক্রোনাস কোড তৈরি করতে দেয় যা এটি সৌন্দর্য সিঙ্ক্রোনাস, এবং তাই আরও স্পষ্ট, সংক্ষিপ্ত এবং মানব-পঠনযোগ্য। Coroutines এছাড়াও স্ট্যাকলেস, তাই থ্রেডের তুলনায় এগুলির কম মেমোরি ব্যবহার রয়েছে এবং তারা অ্যাসিঙ্ক্রোনাস নন-ব্লকিং প্রোগ্রামিংয়ের অতিরিক্ত শৈলীর, যেমন অ্যাসিঙ্ক / অপেক্ষার জন্য দরজা উন্মুক্ত করে।

কোনও পরীক্ষিত ব্যতিক্রম নেই

কোটলিনের ব্যতিক্রমগুলি চেক করা নেই, সুতরাং আপনাকে কোনও ব্যতিক্রম ধরা বা ঘোষণা করার দরকার নেই।

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

প্রতিনিধি দলের জন্য স্থানীয় সমর্থন

কোটলিন, জাভা থেকে ভিন্ন, প্রথম শ্রেণির প্রতিনিধি (কখনও কখনও অন্তর্নিহিত প্রতিনিধি হিসাবে পরিচিত) এর মাধ্যমে "ওভারনেটসের ওপরে রচনা" নকশার ধরণকে সমর্থন করে। ডেলিগেশন হ'ল যেখানে কোনও গ্রহীতা অবজেক্ট দ্বিতীয় প্রতিনিধি অবজেক্টে অপারেশন প্রতিনিধিত্ব করে, যা মূল প্রসঙ্গে একটি সহায়ক বস্তু।

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

শ্রেণীর প্রতিনিধি {অপারেটরের মজাদার getValue (...) ... ...} অপারেটরের মজাদার সেটভ্যালু (...) ... ... ...}}

তারপরে, আপনি যখন কোনও সম্পত্তি তৈরি করছেন তখন আপনি ঘোষণা করতে পারেন যে এই বিশেষ সম্পত্তিটির জন্য প্রাপ্তকারী এবং সেটটার ফাংশনগুলি অন্য শ্রেণি দ্বারা পরিচালিত হয়:

ক্লাস মাইক্লাস {var সম্পত্তি: ডেলিগেট দ্বারা স্ট্রিং ()}

ডেটা ক্লাস

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

কোটলিনে, আপনি যদি আপনার শ্রেণীর সংজ্ঞায় ‘ডেটা’ কীওয়ার্ডটি অন্তর্ভুক্ত করেন, তবে সংকলক আপনার জন্য এই সমস্ত কাজ সম্পাদন করবে, সমস্ত প্রয়োজনীয় গেটার এবং সেটটার উত্পন্ন সহ:

ডেটা ক্লাসের তারিখ (ভ্যার মাস: স্ট্রিং, ভের দিন: ইনট)

স্মার্ট কাস্ট

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

কোটলিনের স্মার্ট কাস্টসগুলি আপনার জন্য এই অপ্রয়োজনীয় কাস্টগুলি পরিচালনা করতে পারে, তাই যদি আপনি ইতিমধ্যে কোটলিনের ‘ইজ’ অপারেটরের সাথে এটি পরীক্ষা করে থাকেন তবে আপনাকে কোনও বিবৃতি দেওয়ার দরকার নেই। উদাহরণস্বরূপ, সংকলকটি জানেন যে নিম্নলিখিত কাস্টটি নিরাপদ:

যদি (হ্যালো স্ট্রিং) {প্রিন্টস্ট্রিং (হ্যালো)}

নির্মাণকারীদের জন্য সমর্থন

জাভা থেকে ভিন্ন, একটি কোটলিন শ্রেণিতে একটি প্রাথমিক নির্মাতা এবং এক বা একাধিক মাধ্যমিক নির্মাণকারী থাকতে পারে, যা আপনি তাদের শ্রেণীর ঘোষণায় অন্তর্ভুক্ত করে তৈরি করেছেন:

ক্লাস মেইনএকটিভিটি কনস্ট্রাক্টর (প্রথম নাম: স্ট্রিং) {

অন্তর্ভুক্ত প্রশস্ত রূপান্তর জন্য কোন সমর্থন

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

কোটলিন সহ টিকা প্রক্রিয়াকরণ গ্রন্থাগারগুলি

কোটলিন সমস্ত বিদ্যমান জাভা ফ্রেমওয়ার্ক এবং লাইব্রেরিগুলিকে সমর্থন করে, উন্নত ফ্রেমওয়ার্কগুলি সহ যা টিকা প্রক্রিয়াকরণের উপর নির্ভর করে যদিও কিছু জাভা লাইব্রেরি ইতিমধ্যে কোটলিন এক্সটেনশানগুলি সরবরাহ করেছে যেমন রেক্সকোটলিন lin

আপনি যদি এমন কোনও জাভা লাইব্রেরি ব্যবহার করতে চান যা টীকাগুলির প্রক্রিয়াকরণের উপর নির্ভর করে, তবে আপনার কোটলিন প্রকল্পে এটি যুক্ত করা কিছুটা আলাদা কারণ আপনার ব্যবহারের উপর নির্ভরতা নির্দিষ্ট করতে হবে kotlin-kapt প্লাগইন, এবং তারপরে টিকা প্রোটেসরের পরিবর্তে কোটলিন অ্যানোটেশন প্রক্রিয়াকরণ সরঞ্জাম (ক্যাপ্ট) ব্যবহার করুন। উদাহরণ স্বরূপ:

// প্লাগইন প্রয়োগ করুন // প্রয়োগ প্লাগইন: কোটলিন-ক্যাপ্ট // কেপট কনফিগারেশন // নির্ভরশীলতা {ক্যাপ্ট "com.google.dagger: dagger- সংকলক: $ ডাগর-সংস্করণ" ব্যবহার করে সংশ্লিষ্ট নির্ভরতা যুক্ত করুন ... ... ...

জাভার সাথে বিনিময়যোগ্যতা

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

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

আপনি যদি নিজের জন্য কোটলিন চেষ্টা করতে চান তবে আপনি যতক্ষণ না অ্যান্ড্রয়েড স্টুডিও 3.0.০ পূর্বরূপ বা উচ্চতর ইনস্টল করেছেন, আপনি শুরু করতে পারেন এমন কয়েকটি উপায় রয়েছে:

  • একটি নতুন অ্যান্ড্রয়েড স্টুডিও প্রকল্প তৈরি করুন। সবচেয়ে সহজ পদ্ধতিটি হল একটি নতুন প্রকল্প তৈরি করা এবং প্রকল্প তৈরি উইজার্ড থেকে ‘কোটলিন সমর্থন অন্তর্ভুক্ত করুন’ চেকবক্সটি নির্বাচন করা।

  • বিদ্যমান ডিরেক্টরিতে একটি কোটলিন শ্রেণি যুক্ত করুন। প্রশ্নে থাকা ডিরেক্টরিটি নিয়ন্ত্রণ করুন-ক্লিক করুন, তারপরে ‘ফাইল> নতুন> কোটলিন ফাইল / শ্রেণি নির্বাচন করুন’ ’অ্যান্ড্রয়েড স্টুডিও কোটলিনকে সমর্থন করার জন্য আপনার প্রকল্পটি কনফিগার করতে বলার জন্য একটি ব্যানার প্রদর্শন করবে; ‘কনফিগার’ লিঙ্কটি ক্লিক করুন এবং অনস্ক্রিন নির্দেশাবলী অনুসরণ করুন।

  • বিদ্যমান জাভা ফাইলগুলি কোটলিনে রূপান্তর করুন। আপনি কোনও কোটলিন কনভার্টারের মাধ্যমে যে কোনও জাভা ফাইল চালাতে পারেন, ফাইলটি নিয়ন্ত্রণ করে ক্লিক করে এবং ‘কোড> জাভা ফাইলকে কোটলিন ফাইলে রূপান্তর করুন’ নির্বাচন করে।

মোড়ক উম্মচন

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

পরবর্তী পড়ুন: অ্যান্ড্রয়েড বিকাশের জন্য জাভা সিনট্যাক্সের একটি ভূমিকা

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

স্যামসুং আজ ঘোষণা করেছে যে এটি 3 জুন থেকে শুরু হওয়া গ্যালাক্সি এম 10, এম 20 এবং এম 30 এ অ্যান্ড্রয়েড 9 পাই রোল করবে।সর্বশেষতম সুরক্ষা প্যাচ ছাড়াও, আপডেটটিতে স্যামসাংয়ের ওয়ান ইউআই ইন্টারফেসও রয়েছ...

আজ জনপ্রিয়