কোরডাটা বনাম রিয়েলাম (সুইফটে)

কোরডাটা থেকে রিয়েলমে পরিবর্তন করে, আমি ভেবেছিলাম কী মূল পার্থক্যগুলি নোট করা কার্যকর হবে।

প্রথমত, আমি রিয়েলমের ক্লাউড বৈশিষ্ট্যগুলি ব্যবহার করছি না এবং সম্ভবত ডেটা সিঙ্ক করতে আইক্লাউড ব্যবহার করব। আমি নিখরচায় পরিষেবাগুলি বেছে নিচ্ছি এবং যদি তাদের ক্লাউড প্ল্যাটফর্মের মাধ্যমে আপনার সিঙ্ক করার দরকার না হয় তবে Realm ব্যবহারের জন্য নিখরচায়।

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

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

স্কিমা তৈরি করাও আলাদা হয়, কোরেডাটা ব্যবহার করে আপনি এক্সকোডে একটি মডেল তৈরি করেন যা ডেটাগুলিকে বস্তুতে ইনস্ট্যান্ট করতে ব্যবহৃত ক্লাসগুলি তৈরি করে gene আবার, ক্ষেত্রটি সহজতর যে আপনাকে কেবল অবজেক্টের উত্তরাধিকার সূত্রে পেতে হবে এবং যে বৈশিষ্ট্যগুলি আপনি @objc গতিশীল হিসাবে সংরক্ষণ করতে চান তা চিহ্নিত করতে হবে। আপনার অবজেক্টগুলি যেভাবে বজায় থাকে ইত্যাদি কাস্টমাইজ করতে সহায়তা করার জন্য আপনি অনেকগুলি ক্রিয়াকলাপ রক্ষা করতে পারেন X আমি এক্সকোডে মডেলটির চাক্ষুষ পুনরাবৃত্তি পছন্দ করি এবং এটির সাথে একের সাথে অনেকগুলি এবং বহু থেকে বহু সম্পর্কের সাথে কাজ করা যুক্তিযুক্তভাবে সহজ easier এক্সকোড মডেল সম্পাদকটির চেয়ে রিয়েলমে লিঙ্কিংঅবজেক্টস () কার্যকারিতা ব্যবহার করা।

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

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

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