آموزش محیط های جاوااسکریپت (JavaScript Environments)
JavaScript Runtime
وقتی از React Native استفاده می کنید، کد جاوااسکریپت را در دو محیط اجرا می کنید:
- در اغلب مواقع، React Native از JavaScriptCore استفاده می کند، که یک JavaScript Engine است که برای Safari استفاده شده. توجه کنید در iOS، به دلیل نبود حافظه ی نوشتنی اجرایی در application ها، JavaScriptCore از JIT استفاده نمی کند.
- وقتی از Chrome برای debug استفاده می کنید، تمام کدهای جاوااسکریپت درون خود Chrome اجرا می شود، و از طریق Web Socket ها با کد native ارتباط برقرار می کند. Chrome از V8 به عنوان JavaScript Engine استفاده می کند.
درحالی که هر دو محیط بسیار شبیه هستند، ممکن است باز هم به ناسازگاری هایی بر بخورید. ما احتمالا در آینده از JavaScript Engine های دیگری نیز استفاده می کنیم، بهتر است به هیچ runtime خاصی تکیه نکنید.
مبدل های JavaScript Syntax
مبدل های Syntax این امکان را می دهند که از Syntax های جدید جاوااسکریپت استفاده کنید، بدون آنکه مجبور باشید منتظر پشتیبانی همه ی مفسرها بمانید.
Native با کامپایلر جاوااسکریپت Babel ارائه می شود. برای اطلاعات بیشتر درمورد مبدل های پشتیبانی شده توسط Babel مستندات آن را ببینید.
لیست کامل تغییراتی که در React Native قابل استفاده است در این لینک قابل مشاهده است.