امیرحسین توتونچی - Amir Tutunchi
امیرحسین توتونچی - Amir Tutunchi
خواندن ۲ دقیقه·۶ سال پیش

دلایل انتخاب realm برای iOS سویفت

در دنیای اپل انتخاب های خوبی برای دیتابیس وجود دارد بنا به تجربه ی شخصی خودم سه انتخاب خوب وجود دارد :

  • Sqlite
  • Core Data
  • Realm

خوب این سه انتخاب هر کدام مزیت ها و معایبی دارند با اس کیو ال لایت شروع می کنیم دیتا بیس سبک و کم حجمی که اذیت نمی کند و برای افرادی که اس کیو ال بلد هستند انتخاب استاندارد و خوبی هست .(از جمله خودم) از آن گذشته wrapper خوبی برای سویفت برای روی آن نوشته شده است که فوق العاده کار کردن را باهاش راحت می کند و عملا شما با دانش کمی

از sql هم می تونید باهاش کار کنید

https://github.com/stephencelis/SQLite.swift
انتخاب مناسب و بدون ریسک
انتخاب مناسب و بدون ریسک

خوب می ریم سراغ انتخاب دوم Core Data این فریمورک یک wrapper قدرتمند دیگر بر روی اس کیو ال لایت هست که توسط اپل ارائه شده است و به شما مزیت های فراونی میده که برای بررسی آن ها به این لینک مراجعه کنید اما مشکلاتی که من در کار با Core Data خوردم یکم فهمش سخت بود گرچه یک پروژه تستی راحت باهاش بالا آوردم ولی خیلی سر راست نبود و دانش زیادی می خواست از طرف دیگر چون بیس این فریمورک روی objective c نوشته شده یکم کار کردن باهاش برام سخت بود و از طرف دیگه برای مدل هایی که تعریف می کردیم باید مشخص می کردیم خودش کلاس هاش رو بسازه یا ما باید بسازیم و پیچیدگی های خاص خودشو داشت

Old School
Old School

انتخاب سوم دیتابیس جدیدی به نام Realm هست که از دلایل انتخاب شخصی خودم benchmark های فوق العاده ش هست شما با sqlite می تونین ۱۶ کوئری در ثانیه روی گوشی بزنین با core data این عدد به یک می رسه و با realm این عدد به ۳‍۱ می رسه که تفاوت زیادی داره از طرف دیگه فایل این دیتا بیس رو شما روی پلتفرم های مختلف بدون هیچ تغییری می تونین استفاده کنین (اندروید و ای او اس و ...) از طرف دیگه مزیت فوق العاده ی دیگه realm که هنوز البته خودم ازش استفاده نکردم اینکه شما اگر سمت سرور تون هم realm cloud باشه وقتی دیتابیس local رو تغییر میدین خودش با سرور سینک می کنه و همین طور اگه سمت سرور هم دیتا تغییر کرده باشه دیتابیس لوکال تون رو اپدیت می کنه و این عملا می تونه تعداد خیلی زیادی از api کال ها رو حذف کنه

انتخابی جدید و هیجان انگیز
انتخابی جدید و هیجان انگیز

علاوه بر موارد گفته شده این دیتابیس اس کیو ال نیست و کاملا کار باهاش راحته و لازم نیست sql اصلا بلد باشید . مزیت جالب دیگه ای که داره اینکه با AlamofireObjectMapper سینک می شه و با تغییر چند خط در مدل تون دیتا ها مستقیم از سرور در دیتابیس لوکال دخیره میشن و این قابلیت خیلی بدرد بخور هست

برای کار کردن با فایل های این دیتابیس نرم افزار خوب Realm Studio وجود داره که کار باهاش بسیار راحت هست و محیط خوبی برای کار با فایل های این دیتابیس فراهم می کند

در ادامه سعی می کنم آموزش realm در سویفت رو بزارم خوش حال میشم اگر نظری دارین بنویسین

برنامه نویسیبرنامه نویسی iosrealmiosswift
شاید از این پست‌ها خوشتان بیاید