নতুন মানুষের সাথে দেখা করার জন্য Tinder হল বিশ্বের সবচেয়ে জনপ্রিয় অ্যাপ। লোকেরা কীভাবে দেখা করে এবং তারিখ পরিবর্তনের জন্য পরিচিত, এটি ব্যবহারকারীদের অন্যদের সাথে সংযোগ করতে এবং চ্যাট করতে ডানদিকে সোয়াইপ করার ক্ষমতা দেয়৷ টিন্ডার দিনে 26 মিলিয়নেরও বেশি ম্যাচ স্পার্ক করে, 2012 সালে তাদের লঞ্চের পর থেকে 20 বিলিয়নেরও বেশি ম্যাচ তৈরি হয়েছে৷
কোম্পানির ব্যবহারকারীর চাহিদার উপর ভিত্তি করে অ্যাপটিকে দ্রুত স্কেল করা দরকার ছিল, কিন্তু তাদের ডাটাবেস বাস্তবায়ন তাদের প্রথম দিন থেকে বাকি ছিল, এটিকে প্রসারিত করা আরও জটিল করে তুলেছে। জীবনচক্রের জটিলতাগুলি কমাতে তাদের কাছে একটি দৃশ্য-ভারী স্থাপত্যও ছিল, কিন্তু কোন লাইফসাইকেল ইভেন্টগুলি একটি কার্যকলাপের জন্য নির্দিষ্ট ছিল তা জানা দরকার। Cursor
অবজেক্টকে ডোমেন অবজেক্টে মার্শালিং করা, ডাটাবেস মাইগ্রেশন করা বা ধারাবাহিকভাবে কোয়েরি সম্পাদন করার মতো কাজগুলি পরিচালনা করার জন্য তাদের একটি সামঞ্জস্যপূর্ণ কাঠামোর অভাব ছিল।
তারা কি করেছিল
Tinder তাদের কোড আপগ্রেড করার জন্য সমাধানের জন্য Android আর্কিটেকচার উপাদানগুলিতে পরিণত হয়েছে৷ তারা Lifecycle
ব্যবহার করে একটি View
এর হোস্ট অ্যাক্টিভিটি এর লাইফসাইকেল পর্যবেক্ষণ করতে এবং একটি বিকেন্দ্রীভূত প্লাগইন আর্কিটেকচারের সুবিধার্থে এবং Presenter
, Activity
এবং অবজেক্ট View
জন্য LifecycleObserver
ব্যবহার করেছে৷ রুম পারসিসটেন্স লাইব্রেরি তাদের স্থানীয় ডাটাবেস সংজ্ঞায়িত, পরিচালনা এবং অনুসন্ধানের জন্য একটি টার্নকি পদ্ধতি প্রদান করে।
টিন্ডার ডেভেলপমেন্ট টিম LifecycleObserver
এবং প্লাগইন আর্কিটেকচার মাত্র দুই সপ্তাহের মধ্যে বাস্তবায়ন করতে সক্ষম হয়েছিল, যখন তাদের অভ্যন্তরীণ বিজ্ঞাপন SDK-এর জন্য রুমটি নির্বিঘ্নে বাস্তবায়ন করতে মাত্র দুই দিন সময় লেগেছিল।
টিন্ডারের অ্যান্ড্রয়েডের প্রধান অ্যান্ডি লটন বলেছেন, "আমাদের আর প্লাগইন বা ভিউয়ের ভিতরে অ্যাক্টিভিটি লাইফসাইকেল পরিচালনা করার জন্য উল্লেখযোগ্য সময় ব্যয় করতে হবে না।" "রুমের ডিজাইন সুচিন্তিত এবং আমাদের অধ্যবসায়ের স্তরকে সহজে কার্যকর করে তোলে। অভ্যন্তরীণ বিজ্ঞাপন SDK-এর জন্য রুম ব্যবহার করা সম্ভবত অগ্রিম বিকাশে এক সপ্তাহের সময় বাঁচিয়েছে।"
ফলাফল
Tinder তাদের বিজ্ঞাপন SDK-এর ফলাফলে এতটাই সন্তুষ্ট ছিল যে তারা তাদের সম্পূর্ণ ডাটাবেস স্তরকে রুমে স্থানান্তরিত করছে। পরীক্ষা করা সহজ ছিল, এবং কিছু অনিবন্ধন করতে ভুলে যাওয়ার বিরুদ্ধে রুমের সুরক্ষা মেমরি লিক কমিয়ে দিয়েছে। অ্যান্ড্রয়েড আর্কিটেকচার উপাদানগুলিও ছোট মেমরির পদচিহ্ন তৈরি করতে সহায়তা করছে।
"অ্যান্ড্রয়েড আর্কিটেকচার কম্পোনেন্টস ডেভেলপাররা বিভিন্ন স্কেলে সম্মুখীন হওয়া অনেক ব্যথার সমস্যা সমাধানের জন্য একটি প্রেসক্রিপশন প্রদান করেছে," লটন বলেছেন। "লাইফ-সাইকেল-সচেতন উপাদানগুলির ব্যবহারের মাধ্যমে, টিন্ডার একটি ভিউ-ফার্স্ট আর্কিটেকচারের জন্য সহায়ক হওয়ার সাথে সাথে বিকাশকারীর উত্পাদনশীলতা, পরীক্ষাযোগ্যতা এবং মডুলারিটি উন্নত করতে পরিচালিত করেছে৷ রুম SQLite পরিচালনার জন্য অন্যান্য সমাধানের প্রয়োজনীয়তা দূর করে এবং ডাটাবেস পরিচালনা এবং অনুসন্ধানকে পরিণত করে৷ কনফিগারেশনের একটি অনুশীলনের মধ্যে।"
মেট্রিক
LifecycleObserver
/ প্লাগইন আর্কিটেকচারের মাধ্যমে MainActivity
থেকে 500+ লাইন কোড সরানো হয়েছে
এবার শুরু করা যাক
অ্যান্ড্রয়েড জেটপ্যাকের অংশ হিসাবে অ্যান্ড্রয়েড আর্কিটেকচার উপাদানগুলি সমস্ত বিকাশকারীদের জন্য উন্মুক্ত৷ Android Architecture Components দিয়ে শুরু করুন ।