
هل تعرف من هو جون جالاوي؟ وفي الوقت نفسه ، هو. إنه ليس فقط أحد مؤلفي Professional ASP.NET MVC ، ولكنه أيضًا الشخص الذي يشغل منصب المدير التنفيذي لمؤسسة .NET ، في الواقع - إنه مسؤول عن المصدر المفتوح بأكمله .NET. الموضوعات الرئيسية في هذه المقالة: تفاصيل .NET Foundation ، أمثلة للمهام وبعض الكلمات عن الكتب والانتقال إلى .NET Core. مرحبا بكم في القط!
- تعد .NET Foundation واحدة من أكثر المؤسسات إثارة في تاريخ .NET. بيث ميسي كتب مقالة رائعة على المتوسط حول كيف بدأت. لقد انضممت إلى .NET Foundation في عام 2017. يمكنك مشاركة قصتك كيف بدا لك؟
- بصراحة ، قبل وصولي إلى هذا المنصب ، لم أكن على دراية كبيرة بـ .NET Foundation على وجه التحديد ، أو مع مؤسسات من هذا النوع بشكل عام. مرة واحدة ، قال المدير التنفيذي السابق لـ .NET Foundation ورمز المصدر المفتوح Martin Woodward إنه كان يضطلع بدور جديد ومثير في Microsoft وأرادني أن أفكر في أخذ مكانه في .NET Foundation. لحسن الحظ ، بفضل Martin and Beth ، كنت معتادًا على .NET Foundation. لكنني أدركت ماهية هذه المنظمة ، لقد سررت بهذه الفرصة.
إن .NET Foundation هي مؤسسة مستقلة (تأسست وبدعم جزئي من Microsoft ، لكن مع ذلك مؤسسة منفصلة) ، والغرض منها هو دعم .NET المصدر المفتوح. للقيام بذلك ، تحتاج إلى القيام بالكثير من العمل:
- دعم أكثر من 75 مشروعًا مفتوح المصدر. NET (بعضها برعاية شركة Microsoft ، ولكن معظمها جاء من المجتمع) ؛
- حل المشكلات القانونية واللوجستية التي تسمح للشركات والمطورين الأفراد بالعمل على مشاريع في .NET Foundation ؛
- تنظيم أعمال مجموعة Meetup Pro ، التي تضم حوالي 300 مجموعة حول العالم يبلغ إجمالي عدد المشاركين فيها أكثر من 215 ألف ؛
- قم بإنشاء عروض تقديمية وورش عمل لدعم المتحدثين الذين يتحدثون عن .NET
- دعم مئات الأحداث حول العالم ، بما في ذلك .NET Conf
- لرعاية المؤتمرات و hackathons.
- للقيام بالعديد من الأعمال غير المرئية في الخارج لإزالة العقبات والمشاكل القانونية واللوجستية التي تعيق نمو مجتمع .NET ؛
- شارك في أي شيء يمكن أن يساعد مجتمع .NET على النمو والقيام بأشياء رائعة.
- أنت المدير التنفيذي لمؤسسة .NET Foundation. هل يمكن أن تخبرنا بتفاصيل أكثر عما تفعله؟
- هذا عمل مثير للاهتمام ورائع وصعب. أنا موظف لدى Microsoft وتسمح لي Microsoft بقضاء معظم وقت عملي في .NET Foundation. يشبه هذا النظام حيث تسمح الشركة للموظف بالمساهمة في مشاريع مفتوحة المصدر. أرفع تقريري إلى مجلس الإدارة ، أعمل مع مجلس استشاري ، مجلس تقني استراتيجي ، مجموعة رعاية الشركات. لقد أدرجت فقط الأشياء التي تقوم بها .NET Foundation ؛ مهمتي هي جعل كل هذه الأفكار في الحياة. أدير كل شيء ، بما في ذلك الميزانية ، وتسجيل الأعمال ، والاتفاقيات القانونية ، والمبادرات الجديدة ، والاتصالات ، والأدوات ، والأحداث المحلية ، وجميع أنواع الأشياء والأحداث الجديدة. بالطبع ، عندما يتعامل شخص ما مع كل شيء ، فإنه لا يتغير ، لذلك جزء مهم آخر من المهمة هو تطوير المنظمة والاتصال بأشخاص جدد.
- يتعين على المدير التنفيذي المشاركة في العديد من المهام المختلفة. أنا متأكد من أنك تعرف العديد من القصص المثيرة للاهتمام حول .NET Foundation. هل يمكن أن تخبرني بشيء؟ هل هناك أي مشاكل غير عادية أو غريبة تحتاج إلى معالجة؟
- سؤال رائع! قصصي المفضلة تدور حول كيفية قيامنا بعمل مفيد ساعد الكثير من الناس في وقت واحد.
على سبيل المثال ، قرأت مرة واحدة على Twitter أن خدمة SymbolSource تغلق. يوفر SymbolSource رموز تصحيح لحزم NuGet ، وقبل توفير الدعم بشكل مستقل لمستويين: مدفوع ومجاني. بعد عدة سنوات من إدارة مثل هذا العمل ، أدركوا أن الخيار المدفوع لا يحقق دخلاً كافياً لمواصلة تقديم خدمة مجانية ، وسيتعين عليهم إغلاقه. اتصلت بهم ومع فريق NuGet حولنا هذا إلى مشروع .NET Foundation وأطلقنا نسخة مجانية على مرافق .NET Foundation في Azure.
مهمة أخرى مهمة هي الحصول على شهادات وخدمات لتوقيع رمز لمشاريع .NET Foundation. بالنسبة لمشاريع المصادر المفتوحة ، يعتبر من الممارسات الجيدة توقيع التجميعات الثنائية (المثبت ، حزم NuGet ، وما إلى ذلك) ، ولكن الحصول على هذه الخدمات يتطلب تسجيل المشروع ككيان قانوني ، وتنظيم مهمة توقيع التجميع ليست مهمة سهلة. أورن نوفوتني ، وهو عضو في المجلس الاستشاري وفيما يلي - مجلس الإدارة ، توصل إلى حل ممتاز - سجل المشاريع كعلامات تجارية لمؤسسة .NET Foundation. بدأنا العمل مع DigiCert ، مزود الشهادة ، وتلقى خصمًا على مشروع .NET Foundation. علاوة على ذلك ، قمنا بتصميم .NET Foundation كمؤسسة إصدار شهادات فرعية ، بحيث يمكن لكل مشروع فردي استلام شهادة باسمه. بعد ذلك ، أنشأنا خدمة التوقيع لاشتراكنا Azure ومنحنا الفرصة لاستخدامها في جميع مشاريعنا التي تحتاجها. كانت فكرة أورين ، لكنني مسرور جدًا لأن مؤسسة .NET هي التي تبنت هذا وأثارت الفكرة.
- تم مؤخراً الإعلان عن عضوية .NET Foundation المفتوحة . بالإضافة إلى ذلك ، يتم انتخاب مجلس الإدارة على أساس تصويت مفتوح . هل يمكنك التحدث أكثر حول هذا الموضوع ، ولماذا هو مهم جدًا لمجتمع .NET؟
- كانت .NET Foundation كيانًا منفصلاً منذ إنشائها ، ولكن في البداية كان اثنان من بين ثلاثة مديرين من موظفي Microsoft ، والثالث تم تعيينه من قبل Microsoft ، وبالتالي لم يكن مستقلاً تمامًا. لقد درسنا العديد من منظمات المصادر المفتوحة الأخرى ، وأحببنا كيف تعمل في جنوم: يمكن للأشخاص الأكثر نشاطًا في مجتمع التنمية أن يصبحوا أعضاء في المنظمة والاستمرار في اختيار نصائحهم الخاصة. لذلك ، يضم مجلسنا الجديد عضوًا واحدًا تم تعيينه بواسطة Microsoft (Beth Messi) ، والمدراء الستة الباقون أعضاء منتخبون. كل واحد منهم يعمل لمدة عام واحد ، وبعد ذلك يمكنه المشاركة في إعادة انتخابه إذا أراد.
هذا مهم لسببين رئيسيين:
- يمنحك هذا بوضوح كبير على .NET Foundation لمجتمع .NET مفتوح المصدر ، ويقرر ما تقوم به المنظمة ، وينشره على المجتمع ، مما يزيد من عدد الأشخاص المعنيين.
- هذا نموذج جيد لتوسيع نطاق ما نقوم به أو يمكننا القيام به. بدلاً من أن يكون المدير التنفيذي الوحيد هو الذي يقوم بكافة الأعمال ، يوجد الآن سبعة أعضاء من مجلس الإدارة ومئات من أعضاء المجتمع الذين يشكلون فرقًا ويعملون على أشياء تبدو مهمة لهم. يتضمن .NET Foundation العديد من المشاريع المختلفة .
- تخيل أن أحد المشاركين في مؤتمرنا لديه مشروعه مفتوح المصدر. ما الذي يجب عليه فعله للانضمام إلى المنظمة؟ ما المساعدة التي سيحصل عليها إذا حدث هذا؟
- إذا كنت تريد الانضمام إلى المنظمة ، فيمكنك البدء من هذه الصفحة: https://dotnetfoundation.org/projects . إذا لم تتم الإجابة عليك لسبب ما ، فمن المستحسن اختبار الاتصال بنا على contact@dotnetfoundation.org. في بعض الأحيان يقع الكثير من العمل على عاتقنا ونحاول ألا نعرض المشاريع بشكل أسرع مما نتعامل معه مع دعمهم. ولكن الاختيار لا يضر أبدا. بعد ذلك ، ستحتاج إلى ملء عدة نماذج للتحقق من أن المشروع يتناسب بشكل جيد مع المنظمة. بعد ذلك أرسل المشروع للحصول على المشورة ، نوقع اتفاقية ، ونغير حقوق الطبع والنشر ونتصل بخدماتنا.
بعد الانضمام إلى المشروع ، نعمل معًا لتنفيذ الخدمات الضرورية: توقيع الرمز ، واتفاق المساهم على طلبات السحب ، وبناء الخوادم ، والاستضافة ، وما إلى ذلك. نرى دورنا في دعم المشاريع التي تعيش بالفعل من تلقاء نفسها - على الرغم من وجود قائمة معينة من الأشياء التي يجب تنفيذها من خلال مشروع جديد ، في الواقع نحن نساعد فقط عندما يطلب المشروع ذلك. بالإضافة إلى ذلك ، نتعامل مع بعض المشكلات مثل الدعم القانوني والتسويق وما إلى ذلك.
- أنت أحد مؤلفي سلسلة كتاب Professional ASP.NET MVC . آخر واحد (Professional ASP.NET MVC 5) تم نشره في عام 2014. هل يجب أن أنتظر تحديث السلسلة لـ ASP.NET Core؟
"أنا لا أعرف". كنت فريقًا من المؤلفين خلال فترة ASP.NET 1.0 ، عملنا معًا على مسودة للكتاب ، لكننا كنا جميعًا مشغولين جدًا بأشياء أخرى ، واتضح أنه من الصعب للغاية مواكبة وتيرة تطوير ASP.NET Core - بمجرد اعتمادنا للمخطط ، حدث ASP بالفعل .NET Core 1.1 و 2.0 وما إلى ذلك. بالإضافة إلى ذلك ، أصبحت وثائق Microsoft جيدة جدًا في السنوات الأخيرة ، بحيث أصبحت الكتب أقل ضرورة. لقد استمتعت حقًا بالعمل على الكتب ، لكنني لا أعرف متى سيتم إصدار الكتاب التالي ، أو إذا كان هناك تحديث لبرنامج Professional ASP.NET على الإطلاق.
- يدعم العديد من المشاركين في مشاريعنا القديمة دعم المشروعات القديمة على ASP.NET و .NET Framework الكامل. هل تعتقد أنه من المنطقي نقلها إلى .NET Core؟ ما الفوائد التي يمكن الحصول عليها من هذا التحديث؟
- لقد قدمت تقارير كاملة حول هذا الموضوع - وهذا ليس سؤالًا سهلاً. سأقدم الإجابة مع قائمة قصيرة من الأفكار:
- إذا كنت تقوم بتطوير شيء جديد ، فمن المستحسن أن تستخدم ASP.NET Core.
- إذا كان لديك تطبيق على ASP.NET MVC أو WebAPI ولم تكن منغمسًا في التخصيص العميق ، فيمكنك نقل قدر كبير من التعليمات البرمجية - وخاصة الخدمات والطرز ومعظم المنطق في وحدات التحكم. بالنسبة لي ، من الأسهل إنشاء مشروع ASP.NET Core جديد ونسخ الرمز هناك. على سبيل المثال ، قام فريق Stack Overflow بنقل التعليمات البرمجية الخاصة بهم من ASP.NET MVC إلى ASP.NET Core - ويقولون إن الأمر استغرق ما يقرب من عام ، ولكن مشروعهم كبير جدًا.
- إذا كان لديك تطبيقات نماذج ويب ، فسيكون النقل أمرًا صعبًا للغاية. ومع ذلك ، هناك العديد من الخيارات لإجراء تحديثات تدريجية. يعمل المشروع على DotVVM مع كل من OWIN و ASP.NET Core ، لذلك من الممكن تحديث الصفحات على DotVVM بشكل متزايد مع OWIN ، وبمجرد أن يعمل كل شيء على DotVVM ، انتقل إلى ASP.NET Core. بالإضافة إلى ذلك ، تبدو النماذج مثل Razor Pages أو Blazor من الناحية النظرية أسهل لمعظم مطوري WebForms من MVC ، لذلك عندما تنقل ، أنصحك باختيار أحدها.
- ولكن إذا كان لديك مشاريع جيدة الأداء على نماذج الويب ، فيمكنك ببساطة ترك .NET Framework. لن تضيف Microsoft ميزات جديدة إليها ، ولكنها لن تتوقف عن الدعم لفترة طويلة.
- يجب أن يتم الإصدار الأخير من .NET Core 3.0 في النصف الثاني من عام 2019 . ما هي الاختلافات الأكثر إثارة للاهتمام من هذا الإصدار؟ هل يمكنني تجربة إصدار المعاينة بالفعل ، أو هل يجب أن أنتظر إصدارًا ثابتًا؟
- أوه ، هناك الكثير من الأشياء الجديدة! تم تصميم بعض من أهم الميزات لمطوري أجهزة سطح المكتب - يمكنك البدء في نقل تطبيقات WPF و Windows Forms الخاصة بك إلى .NET Core ، مع الحصول على النشر جنبًا إلى جنب ، وتحسينات الأداء ، وواجهات برمجة التطبيقات .NET Core الجديدة ، والقدرة على تجميع كل شيء في EXE ، و MSIX واحد وأكثر من ذلك بكثير. هناك العديد من الميزات الرائعة في النظام الأساسي و SDK ، مثل القدرة على استخدام C # 8.0 وتجميع الطبقات. سيتمكن مطورو الويب من تقديم خدمات ويب أسرع باستخدام أشياء مثل HTTP / 2 ، ومعالجة JSON السريعة ، وقوالب عاملة جديدة ، وما إلى ذلك.
ليس من المفيد دائمًا السؤال عن ما إذا كنت تريد التبديل إلى إصدار المعاينة. سأقول دائمًا نعم ، بالطبع ، انتهي! ولكن في الوقت الحالي لدينا معاينة 5 ، والتغييرات الرئيسية تحدث في ضبط وتحسين الدعم لتطوير سطح المكتب. هذا بالتأكيد هو الوقت المناسب ، على الأقل ، لبدء اختبار وإيجاد وإصلاح أخطاء الحظر.
نذكرك أنه في اليوم التالي ليوم غد ، يلقي جون حديثًا عن "أساسيات البرامج مفتوحة المصدر: ليست مملة تمامًا ، بل رائعة جدًا" في مؤتمر بيتر DotNext 2019 Piter. إذا كنت تريد المجيء ، فهذه هي الفرصة الأخيرة. التذاكر هنا .