সুইফট ভিএস কোটলিন। নকশা নিদর্শন

মোবাইল বিকাশের ক্ষেত্রটি তরুণ। আইওএস বিকাশকারীদের গড় বয়স 29 বছর। অন্যান্য ভাষায় বিকাশকারীদের বয়স গড়ে উচ্চতর এবং ইতিমধ্যে 42 বছর!
২০০ 2007 সালে প্রথম আইফোন প্রকাশের পরে এবং ২০০৮ সাল থেকে, অ্যাপ্লিকেশন তৈরির সম্ভাবনা, আইওএস প্ল্যাটফর্মের বিকাশকারীদের ব্যবহার করতে সহজ হতে পারে এবং প্রয়োজনীয় সমস্ত কিছু উভয়ই সহজ হতে পারে বলে বিস্তৃত সিনট্যাকটিক চিনিযুক্ত ভাষার অভাবের কারণে কিছুটা অস্বস্তি হয়েছিল জটিল প্রোগ্রাম তৈরি করুন। অবশ্যই একটি অবজেক্টিভ-সি রয়েছে, যা এখনও ব্যবহৃত হয়। এটি ডায়নামিক টাইপিংয়ের সুবিধাগুলি রয়েছে তবে সুইফটের আগমন আইওএস বিকাশকারীদের সমস্ত নতুন বৈশিষ্ট্য এবং উদ্ভাবন ব্যবহার করে দ্রুত কাজ করার অনুমতি দেয় allowed

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

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

এই মুহুর্ত পর্যন্ত যখন কেবলমাত্র একটি প্রযুক্তিগত স্ট্যাকের জ্ঞান, উদাহরণস্বরূপ, কেবল আইওএস, অন্যান্য প্ল্যাটফর্মগুলি এক ধরণের বন্য বন হিসাবে উপস্থাপিত হয়, যাতে আরোহণ না করা ভাল। আসলে, আপনি যদি উদ্দেশ্য ও সি এবং জাভাটির তুলনা করেন, তবে অন্য প্ল্যাটফর্মে কী ঘটছে তা বোঝা সহজ নয় easy আসুন সিঙ্গলটন প্যাটার্নের প্রয়োগের তুলনা করি। প্রথমে উদ্দেশ্য-সি এর সমাধানটি দেখুন:

+ (উদাহরণস্বরূপ) শেয়ার করা ইনস্ট্যান্স {
    স্ট্যাটিক মাইক্লাস * শেয়ারডইনস্ট্যান্স = শিল;
    স্থিতিশীল প্রেরণ_আপনি একবার টোকেন;
    প্রেরণ_অনস (& একবার টোকেন, ^
        sharedInstance = [[MyClass বরাদ্দ] init];
        // অন্য যে কোনও আরম্ভের জিনিস এখানে করুন
    });
    রিটার্ন শেয়ারড ইনস্ট্যান্স;
}

এবং জাভাতে:

পাবলিক ক্লাস একক {
    পাবলিক স্ট্যাটিক ফাইনাল সিঙ্গলটন INSTANCE = নতুন সিঙ্গলটন ();
}

উভয় প্ল্যাটফর্মের বিকাশকারীদের জন্য প্রচুর অপরিচিত শব্দ রয়েছে। এটি অন্য প্ল্যাটফর্মের কোড বুঝতে অসুবিধা সৃষ্টি করে। এছাড়াও, একটি জটিল কাজ হ'ল বিকাশকারীদের সাথে কার্যকারিতা বাস্তবায়নের বিষয়ে যোগাযোগ করা।

সুইফট এবং কোটলিনের একটি ব্যবহারিক তুলনা

তবুও, আমার এখনও জটিল প্রকল্পগুলির জন্য অন্য প্ল্যাটফর্মের কোডটি দেখার এবং সেখান থেকে যুক্তি নেওয়ার ইচ্ছা ছিল। কোটলিন, এবং তারপরে সুইফ্ট প্রকাশের সাথে সাথে এটি বহুগুণ সরল হয়ে উঠল। এটি প্রমাণ করার জন্য, আমি উভয় ভাষায় 23 টি জিওএফ নিদর্শন সহ একটি সংগ্রহশালা তৈরি করেছি (https://github.com/NikAshanin/Design-Patterns-In-Swift-Compare-Kotlin)।

এটি গিথুব-এর একমাত্র ভাণ্ডার যা জিওএফ বইয়ের 23 টি প্যাটার্নের অন্তর্ভুক্ত।

সংগ্রহস্থলটি কীভাবে কার্যকর?

  • ডিজাইনের নিদর্শনগুলি মনে করিয়ে দিন। এটা দরকারী এবং কাঠামোগত চিন্তা। বা একটি সাক্ষাত্কার জন্য প্রস্তুত।
  • একই কোডের প্রয়োগটি সুইফট এবং কোটলিনে তুলনা করুন। বিভ্রান্তির ভয়ের কারণে যারা বিরোধী দলের সাথে কথা বলতে ভয় করে তাদের পক্ষে এটি কার্যকর হবে।

সুইফট এবং কোটলিনের মধ্যে মিল কী?

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