نيتف سكريبت

NativeScript هو إطار عمل مفتوح المصدر لتطوير تطبيقات متعددة المنصات قائم على JavaScript ، يُستخدم لتطوير تطبيقات لأنظمة iOS و visionOS و Android . يربط NativeScript واجهات برمجة التطبيقات الخاصة بالمنصات مباشرةً بوقت تشغيل JavaScript (مع أنواع بيانات قوية)، جامعًا بين أساليب الويب المألوفة مثل CSS وقوالب العرض مع لغات المنصات الشائعة ( Swift و Kotlin و Objective-C و Java ).

تم ابتكار وتطوير NativeScript في الأصل من قبل شركة Telerik البلغارية ، والتي استحوذت عليها لاحقًا شركة Progress Software . [ 3 ] في نهاية عام 2019 [ 4 تولت شركة nStudio، الشريك القديم لشركة Progress، مسؤولية مشروع NativeScript. وفي ديسمبر 2020، أشرفت nStudio أيضًا على انضمام NativeScript إلى مؤسسة OpenJS كمشروع حاضن. [ 5 ] تُبنى تطبيقات NativeScript باستخدام JavaScript ، أو باستخدام أي لغة برمجة تُحوّل إلى JavaScript، مثل TypeScript . يدعم NativeScript إطاري عمل Angular [ 6 ] و Vue JavaScript. [ 7 ] تُنتج تطبيقات الجوال المبنية باستخدام NativeScript تطبيقات أصلية بالكامل، تستخدم نفس واجهات برمجة التطبيقات (APIs) كما لو تم تطويرها في Xcode أو Android Studio . [ 8 ] بالإضافة إلى ذلك، يمكن لمطوري البرامج إعادة استخدام مكتبات الطرف الثالث من CocoaPods و Maven و npm.js في تطبيقات الجوال الخاصة بهم دون الحاجة إلى أغلفة برمجية. [ 9 ] [ 10 ] [ 11 ]

تطوير

تم إطلاق NativeScript رسميًا لأول مرة في مارس 2015، وتبعتها النسخة 1.0.0 بعد شهرين. [ 12 ] وسرعان ما اكتسب الإطار شعبية واسعة، حيث حصد 3000 نجمة على GitHub وأكثر من 1500 متابع على تويتر بعد فترة وجيزة من إطلاقه الرسمي. [ 13 ] وفي الوقت نفسه، يتوفر أكثر من 700 إضافة، بعضها مدعوم رسميًا من Progress والبعض الآخر من مجتمع المصادر المفتوحة. [ 14 ] [ 15 ] ويُعد استخدام Angular خيارًا إضافيًا لتطوير التطبيقات، حيث يسمح بمشاركة شفرة المصدر بين منصة الويب ومنصة الهاتف المحمول. [ 16 ]

بناء

يتم تثبيت NativeScript وجميع المكونات الإضافية المطلوبة باستخدام مدير الحزم npm . يتم إنشاء المشاريع وتكوينها وتجميعها عبر سطر الأوامر أو أداة واجهة المستخدم الرسومية المسماة NativeScript Sidekick. [ 17 ]

تُعرَّف واجهات المستخدم المستقلة عن المنصة باستخدام ملفات XML . ثم يستخدم NativeScript التجريدات الموضحة في ملفات XML لاستدعاء عناصر واجهة المستخدم الأصلية لكل منصة. ويمكن تطوير منطق التطبيق المُطوَّر باستخدام Angular وTypeScript بشكل مستقل عن المنصة المستهدفة. يُبنى تطبيق NativeScript للهواتف المحمولة باستخدام بيئة تشغيل Node.js وأدواتها. [ 18 ] يهدف مشروع Progress إلى تحقيق نسبة 90% من التعليمات البرمجية المشتركة بين منصتي iOS وAndroid. [ 1 ]

الوصول المباشر إلى واجهات برمجة التطبيقات وعناصر التحكم الخاصة بالمنصة الأصلية

تُعرَّف واجهات المستخدم المستقلة عن النظام الأساسي باستخدام ملفات XML . [ 19 ] يستخدم NativeScript هياكل بيانات XML التي تُمثل التجريد متعدد المنصات لتشغيل التعليمات البرمجية الخاصة بالنظام الأساسي والتي تتفاعل مباشرةً مع العناصر الأصلية لنظام التشغيل المستهدف. هذا يعني أن استدعاء واجهة برمجة تطبيقات NativeScript Button يوفر تجريدًا لواجهة المستخدم للزر، والذي يستدعي مباشرةً UIButton على نظام iOS [ 20 ] أو com.android.widget.Button على نظام Android. [ 21 ]

على الرغم من أن شفرة المصدر للتطبيقات تُكتب بلغات JavaScript أو TypeScript أو Angular أو Vue.js، إلا أنها لا تخضع للتجميع أو التعديل. تعمل الشفرة المصدرية كما هي مباشرةً على الجهاز. يُغني هذا الخيار المعماري عن الحاجة إلى التجميع المتقاطع أو التحويل البرمجي. [ 11 ] إضافةً إلى ذلك، ورغم أن شفرة المصدر للتطبيقات تُكتب بلغات شائعة الاستخدام في المتصفحات (أو في تطبيقات الجوال المُضمنة في WebView)، فإن تطبيقات NativeScript تعمل مباشرةً على الجهاز نفسه. لا يوجد أي تلاعب بـ DOM أو أي تفاعل إلزامي مع المتصفح. [ 6 ]

الميزات البارزة

انعكاس واجهة برمجة التطبيقات الأصلية

ومن الميزات البارزة الأخرى استخدام تقنية الانعكاس للتعامل مع نقاط نهاية واجهة برمجة التطبيقات الأصلية. فبدلاً من الحاجة إلى طبقات ربط منفصلة بين NativeScript وواجهة برمجة تطبيقات كل منصة جوال، يستخدم NativeScript تقنية الانعكاس للحصول على معلومات وبيانات وصفية حول واجهات برمجة تطبيقات المنصة الأصلية. وتُصبح الميزات الجديدة المُضافة إلى أي واجهة برمجة تطبيقات منصة أصلية متاحةً على الفور. [ 6 ]

تُستخدم ميزة الانعكاس أيضًا في العمل مع مكتبات الطرف الثالث. وبما أن جافا سكريبت (أو تايب سكريبت/أنجولار) تتواصل مباشرةً مع الكود الأصلي، فلا حاجة لكتابة طبقات ربط بلغات أوبجكتيف-سي، أو سويفت، أو جافا، أو كوتلن. [ 11 ] [ 22 ]

التكامل الزاوي

مع إطلاق NativeScript 2.0، أصبح من الممكن استخدام Angular لبناء تطبيقات جوال متعددة المنصات. [ 23 ] بالإضافة إلى ذلك، عند استخدام Angular مع NativeScript، يمكنك مشاركة أجزاء كبيرة من التعليمات البرمجية بين تطبيقات الويب وتطبيقات الجوال. [ 24 ]

تكامل Vue.js

يتم دعم إطار عمل Vue.js في NativeScript عبر المكون الإضافي nativescript-vue. [ 7 ]

الأدوات والخدمات الداعمة

  • NativeScript Sidekick هي واجهة مستخدم رسومية تعتمد على إمكانيات NativeScript CLI. باستخدام Sidekick، يمكن للمطور الاستفادة من قوالب التطبيقات، وعمليات البناء السحابية لأنظمة iOS وAndroid، ونشر التطبيقات على متاجر التطبيقات العامة.
  • تتيح منصة NativeScript Playground للمطورين تجربة NativeScript في بيئة قائمة على الويب، ومعاينة التطبيقات على الأجهزة المادية.
  • يُعد سوق NativeScript مصدرًا منسقًا لمكونات NativeScript الإضافية، وقوالب التطبيقات الجاهزة، وتطبيقات العينة القابلة للتشغيل.

مراجع

  1. ١ ٢ "الأسئلة الشائعة حول NativeScript" . NativeScript.org . مؤرشف من الأصل بتاريخ ١٨ مارس ٢٠١٦. تم الاطلاع عليه بتاريخ ٢٠ مارس ٢٠١٦ .
  2. https://github.com/NativeScript/NativeScript/releases/tag/9.0.20-core .{{cite web}}: مفقود أو فارغ |title=( مساعدة )
  3. "إنشاء تطبيقات جوال أصلية باستخدام جافا سكريبت مع نيتف سكريبت" . InfoQ . مؤرشف من الأصل بتاريخ 19-06-2022 . تم الاطلاع عليه بتاريخ 12-07-2022 .
  4. ساريبيلا، سوريا. "الفصل التالي لـ NativeScript: nStudio" . NativeScript. مؤرشف من الأصل بتاريخ 16 يناير 2021. تم الاطلاع عليه بتاريخ 12 يوليو 2022 .
  5. روموف، راشيل (7 ديسمبر 2020). "انضمام NativeScript إلى مؤسسة OpenJS كمشروع حاضن" . مشاريع مؤسسة لينكس . مؤسسة OpenJS. مؤرشف من الأصل في 25 يناير 2021. تم الاطلاع عليه في 4 مارس 2021 .
  6. 1 2 3 كريل، بول (10 مارس 2015). "جافا سكريبت تصبح جزءًا أصيلًا من تطبيقات iOS وأندرويد وويندوز فون" . إنفوورلد . مؤرشف من الأصل في 3 يناير 2022. تم الاطلاع عليه في 12 يوليو 2022 .
  7. 1 2 "NativeScript-Vue" . nativescript-vue.org . تم الاطلاع عليه بتاريخ 31-10-2017 .
  8. "إطار عمل NativeScript يُسهّل تطوير التطبيقات متعددة المنصات" . searchcloudcomputing.techtarget.com . مؤرشف من الأصل بتاريخ 2021-08-06 . تم الاطلاع عليه بتاريخ 2021-08-06 .
  9. كريل، بول (6 مايو 2016). "NativeScript يستعد لـ AngularJS لتطوير تطبيقات الجوال" . InfoWorld . مؤرشف من الأصل في 12 يونيو 2022. تم الاطلاع عليه في 12 يوليو 2022 .
  10. "مشروع الأسبوع على GitHub من صحيفة SD Times: NativeScript" . ١٨ مارس ٢٠١٦. مؤرشف من الأصل في ٢٧ مارس ٢٠٢٢. تم الاطلاع عليه في ١٢ يوليو ٢٠٢٢ .
  11. ١ ٢ ٣ " تهدف NativeScript من Telerik إلى مركزية تطوير تطبيقات الجوال متعددة المنصات -" . مجلة Visual Studio . مؤرشف من الأصل بتاريخ ٧ نوفمبر ٢٠١٧. تم الاطلاع عليه بتاريخ ٢١ نوفمبر ٢٠١٦ .
  12. "إصدار NativeScript 1.0.0" . www.i-programmer.info . مؤرشف من الأصل بتاريخ 11 يونيو 2022. تم الاطلاع عليه بتاريخ 12 يوليو 2022 .
  13. "يتوفر الآن الإصدار 1.0.0 من NativeScript" . NativeScript.org . مؤرشف من الأصل بتاريخ 5 أكتوبر 2016. تم الاطلاع عليه بتاريخ 4 نوفمبر 2016 .
  14. "سوق NativeScript" . market.nativescript.org . مؤرشف من الأصل بتاريخ 15 مارس 2018. تم الاطلاع عليه بتاريخ 14 مارس 2018 .
  15. "nativescript - npm search" . www.npmjs.com . مؤرشف من الأصل بتاريخ 11 فبراير 2017. تم الاطلاع عليه بتاريخ 21 نوفمبر 2016 .
  16. "التعرف على Angular 2" . mobile.htmlgoodies.com . 15 نوفمبر 2016. مؤرشف من الأصل في 27 سبتمبر 2019. تم الاطلاع عليه في 12 يوليو 2022 .
  17. "NativeScript Sidekick - رفيقك الأمين في تطوير التطبيقات" . NativeScript.org . مؤرشف من الأصل بتاريخ 7 نوفمبر 2017. تم الاطلاع عليه بتاريخ 31 أكتوبر 2017 .
  18. ^ حنا ، تام (9 أغسطس 2016). "مع JavaScript wie hausgemacht: NativeScript" . المطور . مؤرشف من الأصل بتاريخ 2021-07-25 . تم الاسترجاع 2022-07-12 .
  19. "الأساسيات - وثائق NativeScript" . docs.nativescript.org . مؤرشف من الأصل بتاريخ 21-11-2016 . تم الاطلاع عليه بتاريخ 21-11-2016 .
  20. "NativeScript/NativeScript" . github.com . مؤرشف من الأصل بتاريخ 2022-06-20 . تم الاطلاع عليه بتاريخ 2022-06-20 .
  21. "NativeScript/NativeScript" . github.com . مؤرشف من الأصل بتاريخ 2022-06-20 . تم الاطلاع عليه بتاريخ 2022-06-20 .
  22. "الوصول إلى واجهات برمجة التطبيقات الأصلية عبر جافا سكريبت - وثائق NativeScript" . docs.nativescript.org . مؤرشف من الأصل بتاريخ 24-11-2016 . تم الاطلاع عليه بتاريخ 21-11-2016 .
  23. "NativeScript 2.0 - أفضل طريقة لبناء تطبيقات جوال أصلية متعددة المنصات" . NativeScript.org . مؤرشف من الأصل بتاريخ 20 ديسمبر 2016. تم الاطلاع عليه بتاريخ 21 نوفمبر 2016 .
  24. ويتاليك، سيباستيان (24 أغسطس 2018). "تطبيقات تعمل بشكل أصلي على الويب والهواتف المحمولة" . ميديوم . مؤرشف من الأصل في 3 يناير 2022. تم الاطلاع عليه في 6 أغسطس 2021 .