ডার্টের সম্ভবত সম্ভবত সবচেয়ে ভাল সুবিধা হ'ল এটি সি #, জাভা, সি ++ এবং বেশিরভাগ জাভাস্ক্রিপ্ট বিকাশকারীদের সাথে পরিচিত। অনেক বিকাশকারীদের তাদের ভাষা (শ্রেণিভিত্তিক ওও, লেক্সিকাল স্কোপ, পরিচিত সিনট্যাক্স) এবং তাদের সরঞ্জামগুলি (কোড সমাপ্তি, রিফ্যাক্টরিং, কোড নেভিগেশন, ডিবাগিং) এর আশপাশে প্রত্যাশাগুলির একটি সেট রয়েছে যা ডার্টের সাথে মিলিত হওয়া এবং অতিক্রমের লক্ষ্য s
Ptionচ্ছিক স্থিতিশীল প্রকার। যখন আমি প্রোটোটাইপ করছি বা কেবল ছোট স্ক্রিপ্ট লিখছি তখন আমি এক টন স্থিতিশীল ধরণের ব্যবহার করি না। আমার কেবল তাদের দরকার নেই, এবং আমি অনুষ্ঠানের সাথে জড়িয়ে পড়তে চাই না। তবে, এই স্ক্রিপ্টগুলির কয়েকটি বড় প্রোগ্রামগুলিতে বিবর্তিত হয়েছে। স্ক্রিপ্ট স্কেল হিসাবে, আমি ক্লাস এবং স্থির ধরণের টীকাগুলি চাই।
যতক্ষণ না দোষী প্রমাণিত হচ্ছে ততক্ষণ পর্যন্ত নির্দোষ. ডার্ট পরিস্থিতিগুলি কমাতে কঠোর চেষ্টা করে যার ফলে একটি সংকলন-সময় ত্রুটি হয়। ডার্টে অনেক শর্ত হ'ল সতর্কতা, যা আপনার প্রোগ্রামটি চালানো থেকে বিরত রাখে না। কেন? ওয়েব বিকাশের ফ্যাশনকে সামনে রেখে, বিকাশকারীদের কিছুটা কোড চেষ্টা করার, পুনরায় চাপুন এবং হিট কী ঘটে তা দেখার অনুমতি দেওয়া আবশ্যক। কোডের কোনার পরীক্ষা করার আগে বিকাশকারীকে প্রথমে পুরো প্রোগ্রামটি সঠিক প্রমাণ করতে হবে না।
লেক্সিকাল স্কোপ। আপনি যদি এর সাথে অভ্যস্ত না হন তবে এটি দুর্দান্ত। সহজ ভাবে বললে, ভেরিয়েবল দৃশ্যমানতা, এবং এমনকি এই , প্রোগ্রাম গঠন দ্বারা সংজ্ঞায়িত করা হয়। এটি traditionalতিহ্যবাহী ওয়েব প্রোগ্রামিংয়ে এক ধরণের পাজলকে সরিয়ে দেয়। আপনি যা ভাবেন বা প্রত্যাশা রেখেছেন তা এটিকে ধরে রাখতে ফাংশনগুলিকে পুনরায় বাঁধতে হবে না।
ভাষায় বেকড রিয়েল ক্লাস। এটি বেশ পরিষ্কার যে বেশিরভাগ ওয়েব বিকাশ ফ্রেমওয়ার্ক একটি সমাধান প্রস্তাব দেয়, বেশিরভাগ বিকাশকারী ক্লাসে কাজ করতে চান clear তবে frameworkতিহ্যগত ওয়েব বিকাশে ফ্রেমওয়ার্ক A এর একটি "শ্রেণি" ফ্রেমওয়ার্ক বিয়ের সাথে সামঞ্জস্যপূর্ণ নয়। ডার্ট প্রাকৃতিকভাবে ক্লাস ব্যবহার করে।
শীর্ষ স্তরের কার্যাদি। জাভার একটি বেদনাদায়ক অংশ হ'ল সবকিছুকে একটি শ্রেণিতে ফেলতে হয়। এটি কিছুটা কৃত্রিম, বিশেষত যখন আপনি কয়েকটি ইউটিলিটি ফাংশন সংজ্ঞায়িত করতে চান। ডার্টে, আপনি কোনও স্তরের বাইরে, শীর্ষ স্তরের ফাংশনগুলি সংজ্ঞায়িত করতে পারেন। এটি গ্রন্থাগারের রচনাটিকে আরও প্রাকৃতিক বোধ করে।
ক্লাসগুলির অন্তর্নিহিত ইন্টারফেস রয়েছে। সুস্পষ্ট ইন্টারফেসের নির্মূলকরণ ভাষাটিকে সহজতর করে। আইডাককে আর কোথাও সংজ্ঞায়িত করার দরকার নেই, আপনার এখন কেবল ক্লাস হাঁসের দরকার। কারণ প্রতিটি শ্রেণীর একটি অন্তর্নিহিত ইন্টারফেস রয়েছে, আপনি একটি তৈরি করতে পারেনMockDuck implements Duck
নামকরণকারী নির্মাতারা। আপনি নির্মাতাদের নাম দিতে পারেন, যা সত্যই পাঠযোগ্যতার সাথে সহায়তা করে। উদাহরণ স্বরূপ:var duck = new Duck.fromJson(someJsonString)
কারখানা নির্মাণকারী। কারখানার প্যাটার্নটি বেশ সাধারণ, এবং এটি ভাষায় বেকড দেখে ভাল লাগল। কারখানার নির্মাতা একটি সিঙ্গলটন, একটি ক্যাশে থেকে কোনও বস্তু বা উপ-ধরণের কোনও অবজেক্ট ফিরিয়ে দিতে পারে।
বিচ্ছিন্ন। থ্রেডগুলির মধ্যে পারস্পরিক পরিবর্তন ভাগ করার দিনগুলি হয়ে গেছে (একটি ত্রুটিযুক্ত প্রবণ কৌশল)। একটি ডার্ট বিচ্ছিন্নতা একটি বিচ্ছিন্ন মেমরি হিপ, একটি পৃথক প্রক্রিয়া বা থ্রেডে চালাতে সক্ষম। বিচ্ছিন্নভাবে পোর্টগুলির মাধ্যমে বার্তা পাঠিয়ে যোগাযোগ করে communicate বিচ্ছিন্নতাগুলি ডার্ট ভিএম-এ কাজ করে এবং HTML5 অ্যাপগুলিতে ওয়েব কর্মীদের সংকলন করতে পারে।
ডার্ট জাভাস্ক্রিপ্টে সংকলন করে। এটি সমালোচনামূলকভাবে গুরুত্বপূর্ণ, কারণ জাভাস্ক্রিপ্ট হ'ল ওয়েবের লিঙ্গুয়া ফ্র্যাঙ্কা। আধুনিক ওয়েব জুড়ে ডার্ট অ্যাপ্লিকেশনগুলি চালানো উচিত।
স্ট্রং টুলিং। ডার্ট প্রকল্পটি একটি সম্পাদকও পাঠায়। আপনি কোড সমাপ্তি, রিফ্যাক্টরিং, দ্রুত সমাধান, কোড নেভিগেশন, ডিবাগিং এবং আরও অনেক কিছু পাবেন। এছাড়াও, ইন্টেলিজের একটি ডার্ট প্লাগইন রয়েছে।
গ্রন্থাগার সমূহ। আরও সহজ নেমস্পেসিং এবং পুনঃব্যবহারযোগ্যতার জন্য আপনি ডার্ট কোডটি লাইব্রেরিতে সংগঠিত করতে পারেন। আপনার কোডটি একটি লাইব্রেরি আমদানি করতে পারে এবং লাইব্রেরিগুলি পুনরায় রফতানি করতে পারে।
স্ট্রিং ইন্টারপোলেশন। এটি স্ট্রিং রচনা করা সহজ করে তোলে এটি একটি দুর্দান্ত বৈশিষ্ট্য:var msg = "Hello $friend!";
noSuchMethod ডার্ট একটি গতিশীল ভাষা, এবং আপনি এর মাধ্যমে স্বেচ্ছাসেবী পদ্ধতি কল পরিচালনা করতে পারেন noSuchMethod()
।
জেনেরিক্স। "এটি আপেলের একটি তালিকা" বলতে সক্ষম হওয়ায় আপনার সরঞ্জামগুলিকে আপনাকে সাহায্য করতে এবং সম্ভাব্য ত্রুটিগুলি শীঘ্রই ধরায় আরও অনেক তথ্য দেয়। ভাগ্যক্রমে, যদিও ডার্টের জেনেরিকগুলি আরও সাধারণ যে আপনি সম্ভবত ব্যবহার করছেন।
অপারেটর ওভারলোডিং। ডার্ট ক্লাসগুলি +
বা যেমন অপারেটরদের জন্য আচরণের সংজ্ঞা দিতে পারে -
। উদাহরণস্বরূপ, আপনি কোড লিখতে পারে new Point(1,1) + new Point(2,2)
।
ব্যক্তিগতভাবে, আমি বিশ্বাস করি ওয়েবে অনেকগুলি ভাষা রয়েছে। যদি অ্যাপটি দুর্দান্ত হয় এবং এটি বেশিরভাগ আধুনিক ব্রাউজারগুলিতে চলে তবে আমি কোন ভাষার লিখিত আছে সেদিকে তেমন খেয়াল রাখি না, যতক্ষণ আপনি, বিকাশকারী খুশী, উত্পাদনশীল এবং ওয়েবে চালু হবেন ততক্ষণ পর্যন্ত ব্যাপার কি! :)