| 👀 خبر در یک نگاه:
React Native با نسخه 0.82 به معماری جدید خود منتقل شد که از JSI برای ارتباط سریع بین جاوااسکریپت و نیتیو استفاده میکند. |
React Native در حال بازسازی بود و با آخرین نسخه خود، React Native 0.82، از این به بعد بهطور کامل روی معماری جدیدش اجرا خواهد شد.
تیم توسعه در اطلاعیه انتشار چنین نوشت:
«این یک نسخه مهم برای React Native بوده و ما معتقدیم آغاز یک دوره جدید است.»
معماری جدید ریاکت نیتیو
معماری جدید React Native یک سال پیش معرفی شد. این معماری از JavaScript Interface (JSI) استفاده میکند که جایگزین پل غیرهمزمان (asynchronous) بین جاوااسکریپت و نیتیو میشود.
JSI یک رابط است که به جاوااسکریپت اجازه میدهد تا مرجعی به یک شیء C++ داشته باشد و بالعکس. با داشتن مرجع حافظه، میتوانید مستقیما متدها را بدون هزینههای سریالسازی فراخوانی کنید.
برای مثال، این امکان را به کتابخانه دوربین VisionCamera میدهد تا فریمها را به صورت بلادرنگ پردازش کند.
بافر فریمهای معمولی حدود ۳۰ مگابایت هستند که بسته به نرخ فریم، تقریبا به ۲ گیگابایت داده در ثانیه میرسد. در مقایسه با هزینههای سریالسازی پل، JSI بهراحتی این مقدار داده را مدیریت میکند. JSI میتواند انواع پیچیده مبتنی بر نمونه دیگر مانند پایگاه دادهها، تصاویر، نمونههای صوتی و غیره را نیز در دسترس قرار دهد.
➕ علت این نتیجه این است که JSI این نوع سریالسازی را از همه تعاملات بین جاوااسکریپت و نیتیو حذف میکند، از جمله راهاندازی و رندر مجدد مؤلفههای اصلی نیتیو مانند View و Text.
مهاجرت به ورژن جدید
اطلاعیه انتشار توضیح داده که چگونه به معماری جدید مهاجرت کنیم. بهتر است بدانیم که React Native در حال حاضر APIهای معماری قدیمی را حذف نمیکند تا Backward Compatibility حفظ شود. با این حال، تیم اعلام کرده که چون این کار اندازه کل بسته را بهطور قابلتوجهی کاهش میدهد، حذف آن را از نسخه بعدی شروع میکنند.
منبع: thenewstack.io



دیدگاهتان را بنویسید