نیتیواسکریپت کیست؟ توضیح بده.
NativeScript یک چارچوب منبع باز برای توسعه برنامه‌های تلفن همراه برروی پلتفرم های و است این چارچوب ابتدا توسط شرکت پروگرس طراحی و توسعه یافت در پایان سال 2019، مسئولیت پروژه NativeScript به عهده شریک دیرینه پروگرس nStudioگرفته شددر دسامبر 2020 nStudio نیز نظارت بر ورود NativeScript به بنیاد OpenJS به عنوان یک پروژه در دوره انکوبیتوررا برعهده داشتبرنامه‌های NativeScript با استفاده از ساخته می‌شوند یا با استفاده از هر زبان برنامه‌نویسی که به ترجمه می‌شود مانند NativeScript از چارچوب‌های جاوااسکریپت Angular و Vue نیز پشتیبانی می‌کند برنامه‌های تلفن همراه ساخته شده با منجر به برنامه‌های کاملاً native که از همان API‌ استفاده میکنند اگر در یا توسعه داده شده باشندعلاوه بر این، توسعه دهندگان نرم‌افزار می‌توانند کتابخانه‌های شخص ثالث از و و را در برنامه های تلفن همراه خود باز استفاده کنند بدون نیازبه wrappersتوسعه.NativeScript برای اولین بار در مارس 2015 به صورت عمومی منتشر شدنسخه 1.0.0 دو ماه بعد منتشر شد. این چارچوب به سرعت محبوبیت کسب کرد و به زودی پس از انتشار عمومی، بیش از 3000 ستاره در گیت‌هاب و بیش از 1500 دنبال‌کننده در توییتر به دست آورددر همین حال، بیش از 700 پلاگین موجود است که یا به صورت رسمی توسط پروگرس پشتیبانی می‌شوند یا از جامعه منبع باز نشات گرفته‌انداستفاده از Angular یک رویکرد توسعه اختیاری است که اجازه می‌دهد کدهای منبع برنامه را بین پلتفرم وب و پلتفرم موبایل به اشتراک گذاشتساختار.NativeScript و تمام پلاگین‌های مورد نیاز از طریق مدیر بسته نصب می‌شوندپروژه‌ها از طریق خط فرمان یا ابزار GUI به نام NativeScript Sidekick ایجاد، پیکربندی و کامپایل می‌شوندرابط‌های کاربری مستقل از پلتفرم با استفاده از فایل‌های تعریف می‌شوند سپس NativeScript از انتزاعات مشخص شده در فایل‌های برای فراخوانی عناصر رابط کاربری اصلی هر پلتفرم استفاده می‌کند منطق برنامه‌نویسی توسعه یافته در Angular و TypeScript همچنین مستقل از پلتفرم مقصد قابل توسعه است یک برنامه تلفن همراه NativeScript با استفاده از runtime و ابزار node.js ساخته می‌شودProgress به نسبت 90% کد مشترک بین پلتفرم‌های iOS و Android هدف گذاری می‌کنددسترسی مستقیم به API‌ها و کنترل‌های پلتفرم اصلی.رابط‌های کاربری مستقل از پلتفرم با استفاده از فایل‌های XML تعریف می شوندNativeScript از ساختارهای داده XML که نمایانگر انتزاع مستقل از پلتفرم هستند برای فراخوانی کد‌های وابسته به پلتفرم استفاده می‌کند که به طور مستقیم با عناصر اصلی سیستم عامل مقصد تعامل دارنداین به این معنی است که فراخوانی API دکمه NativeScript یک انتزاع رابط کاربری برای دکمه ایجاد می‌کند که به طور مستقیمUIButtonرا در یا com.android.widget.Button رادر فراخوانی می‌کند هر چند که منبع کد برنامه به زبان JavaScript و TypeScript و Angular یا Vue.js نوشته می‌شود، اما منبع کد به هیچ وجه کامپایل یا تغییر شکل نمی‌شودمنبع کد به صورت مستقیم بر روی دستگاه اجرا می‌شود. این انتخاب معماری نیاز به کامپایل یا تغییر شکل متقابل را از بین می‌بردعلاوه بر این، در حالی که منبع کد برنامه به زبان‌های معمولاً در مرورگر یا در یک برنامه تلفن همراه حاوی WebView نوشته می‌شود، برنامه‌های NativeScript به طور مستقیم بر روی دستگاه اجرا می‌شوند. هیچ تلاشی برای تغییر DOM یا هرگونه تعامل مرورگر الزامی نیستویژگی‌های قابل توجه.انعکاس APIیکی از ویژگی‌های قابل توجه NativeScript استفاده از انعکاس برای کنترل نقاط پایانی API محلی است به جای نیاز به لایه‌های پیوند جداگانه بین NativeScript و هر پلتفرم موبایل API، NativeScript از انعکاس برای به دست آوردن اطلاعات و فراداده در مورد API‌های پلتفرم محلی استفاده می‌کندویژگی‌های جدیدی که به هر API پلتفرم محلی اضافه می‌شود، به طور فوری در دسترس قرار می‌گیرندروش دیگر استفاده از ویژگی انعکاس در کار با کتابخانه‌های شخص ثالث است. زیرا JavaScript (یا TypeScript/Angular) می‌تواند به طور مستقیم با کد محلی ارتباط برقرار کند، نیازی به نوشتن لایه‌های پیوند در Objective-C، Swift، Java یا Kotlin وجود ندارد.ادغام Angularبا راه‌اندازی NativeScript 2.0، امکان استفاده از Angular برای ساخت برنامه‌های تلفن همراه چندپلتفرمی وجود دارد. علاوه بر این، هنگام استفاده از Angular با NativeScript، شما قادر خواهید بود قسمت‌های بزرگی از کد خود را بین برنامه‌های وب و تلفن همراه خود به اشتراک بگذارید.ادغام Vue.jsچارچوب Vue.js از طریق افزونه nativescript-vue در NativeScript پشتیبانی می‌شود.ابزارها و خدمات پشتیبانی‌کننده.NativeScript Sidekick یک رابط کاربری گرافیکی است که از قابلیت‌های ارائه شده توسط NativeScript CLI بهره می‌بردبا استفاده از Sidekick، یک توسعه‌دهنده می‌تواند از قالب‌های برنامه، ساخت‌های مبتنی بر ابر برای iOS و Android و انتشار برنامه‌ها در فروشگاه‌های عمومی برای خود بهره ببردNativeScript Playground به توسعه‌دهندگان امکان می‌دهد تا با NativeScript در یک محیط مبتنی بر وب آزمایش کنند و برنامه‌ها را در دستگاه‌های فیزیکی پیش‌نمایش دهندNativeScript Marketplace یک منبع منتخب از افزونه‌های NativeScript، قالب‌های برنامه‌های پیش‌ساخته و برنامه‌های نمونه قابل اجرا است.