مايكروسوفت .NET نيتيف رن تايم: وقت التشغيل المسبق التجميع لتطبيقات UWP الأسرع
اختبر Microsoft .NET Native Runtime من Microsoft Corporation، وهو وقت تشغيل ما قبل الترجمة الذي يستهدف إطلاق أسرع لتطبيقات منصة Windows العالمية. بدلاً من الترجمة عند الطلب في وقت التشغيل، يقوم وقت التشغيل بتحويل C# و VB.NET المدارة إلى كود آلة أصلي خلال عملية البناء، مما يقلل من الترجمة في وقت التشغيل وأعباء التهيئة. تشمل الآثار الرئيسية بصمات تطبيقات أصغر وثنائيات محددة للأجهزة تم إنتاجها لـ x86 و x64 و ARM. يحصل المطورون الذين يبنون تطبيقات المتجر والمستخدمون على أجهزة Windows الحديثة على إطلاقات أسرع بشكل ملحوظ واستخدام موارد وقت تشغيل أقل.
ما الذي تفعله وقت التشغيل فعليًا لتطبيقات UWP
يقوم وقت التشغيل بتحويل التجميعات المدارة إلى ثنائيات أصلية في وقت البناء، مما ينتج عنه ملفات تنفيذية تتضمن فقط مكونات الإطار المطلوبة. هذه المعالجة المسبقة الثابتة تلغي ترجمة JIT أثناء بدء التطبيق وتحافظ على حزم النشر خفيفة من خلال تقليل الشجرة. بالنسبة للمطورين، يعني هذا أن العمل في وقت البناء ينتج مخرجات محددة للمعمارية بدلاً من الاعتماد على الترجمة في وقت التشغيل، لذا تحتوي حزم النشر على كود أصلي مصمم للمعمارية المستهدفة المختارة.
كيف يؤثر ذلك على بدء التشغيل والذاكرة والبطارية في الممارسة العملية
تشمل الآثار المقاسة بدء تشغيل التطبيقات بشكل أسرع بكثير واستخدام ذاكرة نشطة أقل، لأن وقت التشغيل يربط فقط عناصر الإطار المشار إليها ويتجنب عبء JIT. علاوة على ذلك، يقلل التنفيذ الأصلي من دورات وحدة المعالجة المركزية أثناء التهيئة، وهو ما تربطه وثائق المطورين بتحسين استخدام البطارية على الأجهزة المحمولة. بالنسبة للمستخدمين النهائيين، فإن النتيجة الملحوظة هي تقليل التوقفات أثناء مسارات التنفيذ الحرجة التي قد تحدث بخلاف ذلك أثناء قيام وقت التشغيل بترجمة الكود عند الطلب.
هل من الآمن استخدامه على أنظمة الإنتاج وكيف يتم تسليمه
يتم توزيع وقت التشغيل كاعتماد على الإطار وعادة ما يتم تثبيته تلقائيًا من خلال متجر Microsoft عندما يتطلب التطبيق ذلك، مما يبسط عملية النشر عبر الأجهزة. بالإضافة إلى ذلك، فإن القضاء على التوقف الناتج عن JIT ينتج سلوك وقت تشغيل أكثر اتساقًا في الإنتاج. ومع ذلك، يمكن أن تؤثر المعالجة الثابتة على السلوكيات الديناميكية؛ تتطلب بعض سيناريوهات الانعكاس توجيهات وقت تشغيل صريحة لضمان الحفاظ على الكود في الصورة الأصلية.
هل يحتاج المطورون إلى معرفة إضافية لتبني وقت التشغيل بشكل صحيح
يجب على المطورين الذين يستهدفون UWP التخطيط لبناءات محددة للمعمارية وطبيعة وقت البناء لسلسلة الأدوات. بالإضافة إلى ذلك، يجب على الفرق التي تعتمد على توليد كود وقت التشغيل أو الانعكاس الواسع إضافة توجيهات وقت التشغيل (rd.xml) للحفاظ على الأنواع المطلوبة من الإزالة. من الضروري اختبار بناءات الإصدار على كل معمارية مستهدفة لأن الثنائي النهائي يتم تجميعه لـ x86 أو x64 أو ARM أثناء التقديم وقد يتصرف بشكل مختلف عن بناء تصحيح JIT.
خيار عملي لتطوير UWP الذي يركز على الأداء، مع تنازل في التعبئة
Microsoft .NET Native Runtime هو خيار عملي للمطورين الذين يحتاجون إلى سرعة بدء تشغيل أصلية لتطبيقات المتجر؛ التنازل هو زيادة تعقيد البناء والتعبئة لأن المخرجات تُجمع لكل بنية. لضمان إصدارات موثوقة، اختبر الثنائي المترجم للإصدار على كل بنية مستهدفة وضمن توجيهات وقت التشغيل لأي ميزات ديناميكية. يناسب هذا النهج الفرق التي تعطي الأولوية لوقت الإطلاق واستقرار وقت التشغيل على خط أنابيب ثنائي مبسط.
المميزات
إزالة ما قبل التجميع عبء JIT، مما يمكّن بدء تشغيل التطبيق بشكل أسرع بكثير
تقليم الشجرة يزيل كود الإطار غير المستخدم للحصول على حزم مصغرة مُنشرة.
ينتج ثنائيات أصلية محددة للعمارة لـ x86 و x64 و ARM
تم تثبيته وإدارته تلقائيًا عبر متجر Microsoft كاعتماد
العيوب
التجميع الثابت يضيف تعقيد البناء والتعبئة لكل بنية مستهدفة.
بعض سيناريوهات الانعكاس الديناميكي تتطلب تكوين rd.xml صريح
ينطبق بشكل أساسي على تطبيقات UWP، وليس على تطبيقات سطح المكتب الكلاسيكية (Win32)
الموضوعات ذات الصلة عن Microsoft .NET Native Runtime
تختلف القوانين الخاصة باستخدام هذا البرنامج من بلد لآخر. نحن لا ننصح باستخدام هذا البرنامج ولا نقر استخدامه إذا كان ذلك مخالفًا لهذه القوانين. قد تحصل Softonic على رسوم إحالة إذا قمت بالنقر على المنتجات المعروضة هنا أو شرائها.