بقلم نيت باربيتيني
حقوق الطبع والنشر © 2018. جميع الحقوق محفوظة.
ISBN: 978-1-387-75615-5
تم إصداره تحت رخصة Creative Commons Attribution 4.0. أنت حر في مشاركة هذا الكتاب ونسخه وإعادة توزيعه بأي تنسيق ، أو إعادة تشغيله وتحويله لأي غرض (حتى تجاريًا). يجب أن تعطي الائتمان المناسب وتقديم رابط للترخيص.
لمزيد من المعلومات ، تفضل بزيارة https://creativecommons.org/licenses/by/4.0/
شكرا لاستلام كتاب ASP.NET Core Little! لقد كتبت هذا الكتاب القصير لمساعدة المطورين والأشخاص المهتمين ببرمجة الويب على التعرف على ASP.NET Core 2.0 ، وهو إطار لبناء تطبيقات الويب وبرامج واجهات برمجة التطبيقات.
تم تصميم كتاب ASP.NET الأساسي الصغير كبرنامج تعليمي. ستقوم ببناء تطبيق من البداية إلى النهاية وتعلم:
لا تقلق ، لا تحتاج إلى معرفة أي شيء عن ASP.NET Core (أو أي مما سبق) للبدء.
يتوفر رمز الإصدار النهائي من التطبيق الذي ستنشئه على Github:
https://www.github.com/nbarbettini/little-aspnetcore-todo
لا تتردد في تنزيله إذا كنت ترغب في رؤية المنتج النهائي ، أو المقارنة أثناء كتابة التعليمات البرمجية الخاصة بك.
يتم تحديث الكتاب نفسه بشكل متكرر مع إصلاحات الأخطاء والمحتوى الجديد. إذا كنت تقرأ PDF أو كتابًا إلكترونيًا أو نسخة طباعة ، فتحقق من الموقع الرسمي (LittleAsp.net/book) لمعرفة ما إذا كان هناك إصدار محدث متاح. تحتوي الصفحة الأخيرة من الكتاب على معلومات الإصدار و changelog.
بفضل بعض المساهمين الرائعين متعدد اللغات ، تمت ترجمة كتاب ASP.NET الأساسي إلى لغات أخرى:
asp.net core el kitabı (تركي)
简明 asp.net core 手册(الصينية)
إذا كنت جديدًا في البرمجة ، فسيقدم لك هذا الكتاب الأنماط والمفاهيم المستخدمة لبناء تطبيقات الويب الحديثة. ستتعلم كيفية إنشاء تطبيق ويب (وكيف تتناسب القطع الكبيرة معًا) من خلال بناء شيء من نقطة الصفر! على الرغم من أن هذا الكتاب الصغير لن يتمكن من تغطية كل ما تحتاج إلى معرفته حول البرمجة ، إلا أنه سيعطيك نقطة انطلاق حتى تتمكن من معرفة المزيد من الموضوعات المتقدمة.
إذا قمت بالفعل برمز بلغة خلفية مثل Node أو Python أو Ruby أو Go أو Java ، ستلاحظ الكثير من الأفكار المألوفة مثل MVC ، وعرض القوالب ، وحقن التبعية. سيكون الرمز في C#، لكنه لن يبدو مختلفًا جدًا عما تعرفه بالفعل.
إذا كنت مطور ASP.NET MVC ، فسوف تشعر في المنزل! يضيف ASP.NET Core بعض الأدوات الجديدة ويعيد استخدامه (ويبسط) الأشياء التي تعرفها بالفعل. سأشير إلى بعض الاختلافات أدناه.
بغض النظر عن تجربتك السابقة في برمجة الويب ، سيعلمك هذا الكتاب كل ما تحتاجه لإنشاء تطبيق ويب بسيط ومفيد في ASP.NET Core. سوف تتعلم كيفية إنشاء وظائف باستخدام رمز الخلفية والواجهة الأمامية ، وكيفية التفاعل مع قاعدة بيانات ، وكيفية نشر التطبيق على العالم.
ASP.NET Core هو إطار عمل تم إنشاؤه بواسطة Microsoft لإنشاء تطبيقات الويب وواجهات برمجة التطبيقات والخدمات الدقيقة. يستخدم أنماطًا مشتركة مثل MVC (موحد الأطراف-المراقبة) ، وحقن التبعية ، وخط أنابيب الطلب يتكون من البرامج الوسيطة. إنه مفتوح المصدر بموجب ترخيص Apache 2.0 ، مما يعني أن رمز المصدر متاح مجانًا ، ويتم تشجيع المجتمع على المساهمة في إصلاحات الأخطاء والميزات الجديدة.
يعمل ASP.NET Core أعلى وقت تشغيل Microsoft's .NET ، على غرار الجهاز الظاهري Java (JVM) أو مترجم Ruby. يمكنك كتابة تطبيقات ASP.NET الأساسية في عدد من اللغات (C#، Visual Basic ، F#). C# هو الخيار الأكثر شعبية ، وهذا ما سأستخدمه في هذا الكتاب. يمكنك إنشاء تطبيقات ASP.NET الأساسية على Windows و Mac و Linux.
هناك الكثير من أطر الويب الرائعة للاختيار من بينها: Node/Express و Spring و Ruby on Rails و Django و Laravel وغيرها الكثير. ما هي المزايا التي يمتلكها ASP.NET Core؟
سرعة. ASP.NET CORE سريع. نظرًا لأنه يتم تجميع رمز .NET ، فإنه ينفذ بشكل أسرع بكثير من الكود بلغات تفسير مثل JavaScript أو Ruby. تم تحسين ASP.NET Core أيضًا للمهام المتعددة غير المتزامنة. من الشائع رؤية تحسين سرعة 5-10x على الكود المكتوب في Node.js.
النظام البيئي. قد يكون ASP.NET Core جديدًا ، لكن .NET كان موجودًا لفترة طويلة. هناك الآلاف من الحزم المتوفرة على Nuget (مدير حزمة .NET ؛ فكر في NPM أو Ruby Gems أو Maven). تتوفر بالفعل حزم متاحة لـ JSON Deserialization أو موصلات قاعدة البيانات أو توليد PDF أو أي شيء آخر تقريبًا يمكنك التفكير فيه.
حماية. يأخذ الفريق في Microsoft الأمان على محمل الجد ، ويتم تصميم ASP.NET Core ليكون آمنًا من الألف إلى الياء. إنه يتعامل مع أشياء مثل تعقيم بيانات الإدخال ومنع هجمات التزوير عبر المواقع (CSRF) ، لذلك ليس عليك ذلك. يمكنك أيضًا الحصول على فائدة من الكتابة الثابتة مع برنامج التحويل البرمجي .NET ، وهو ما يشبه تشغيل مخطط بجنون العظمة في جميع الأوقات. هذا يجعل من الصعب القيام بشيء لا تنوي مع متغير أو جزء من البيانات.
خلال هذا الكتاب ، ستتعلم عن ASP.NET Core (إطار الويب). سأذكر أحيانًا وقت التشغيل .NET ، المكتبة الداعمة التي تعمل .NET Code. إذا كان هذا يبدو بالفعل وكأنه يوناني لك ، فقط انتقل إلى الفصل التالي!
قد تسمع أيضًا عن .NET Core و .NET Standard. تسمية التسمية مربكة ، لذلك هذا تفسير بسيط:
.NET Standard هي واجهة منصة واضحة تحدد الميزات وواجهة برمجة التطبيقات. من المهم أن نلاحظ أن .NET Standard لا يمثل أي رمز أو وظيفة فعلية ، فقط تعريف API. هناك "إصدارات" مختلفة أو مستويات .NET Standard التي تعكس عدد واجهات برمجة التطبيقات المتوفرة (أو مدى عرض مساحة سطح API). على سبيل المثال ، يحتوي .NET Standard 2.0 على واجهات برمجة التطبيقات المتاحة من .NET Standard 1.5 ، والذي يحتوي على واجهات برمجة التطبيقات أكثر من .NET Standard 1.0.
.NET Core هو وقت التشغيل .NET الذي يمكن تثبيته على Windows أو Mac أو Linux. يقوم بتنفيذ واجهات برمجة التطبيقات المحددة في الواجهة القياسية .NET مع الكود المناسب للنظام الأساسي على كل نظام تشغيل. هذا ما ستقوم بتثبيته على جهازك الخاص لإنشاء تطبيقات ASP.NET الأساسية.
وفقط من أجل جيد ، يعد .NET Framework تطبيقًا مختلفًا لمعيار .NET وهو نظام التشغيل Windows فقط. كان هذا هو وقت التشغيل .NET الوحيد حتى جاء .NET Core وجلب .NET إلى Mac و Linux. يمكن أيضًا تشغيل ASP.NET Core على إطار عمل Windows فقط .NET ، لكنني لن أتطرق إلى هذا كثيرًا.
إذا كنت مرتبكًا من كل هذا التسمية ، فلا تقلق! سنصل إلى بعض التعليمات البرمجية الحقيقية قليلاً.
إذا لم تكن قد استخدمت إصدارًا سابقًا من ASP.NET ، فانتقل إلى الفصل التالي.
ASP.NET Core هي إعادة كتابة كاملة من ASP.NET ، مع التركيز على تحديث الإطار وأخيراً تفككها من System.Web و IIS و Windows. إذا كنت تتذكر جميع الأشياء Owin/Katana من ASP.NET 4 ، فأنت بالفعل في منتصف الطريق: أصبح مشروع Katana ASP.NET 5 الذي تم إعادة تسميته في النهاية إلى ASP.NET Core.
بسبب إرث Katana ، فئة Startup هي في المقدمة والوسط ، وليس هناك المزيد من Application_Start أو Global.asax . إن خط الأنابيب بأكمله مدفوع بالبرامج الوسيطة ، ولم يعد هناك انقسام بين MVC و Web API: يمكن للوحدات التحكم ببساطة إرجاع طرق العرض أو رموز الحالة أو البيانات. يأتي حقن التبعية مخبوزة ، لذلك لا تحتاج إلى تثبيت وتكوين حاوية مثل structuremap أو Ninject إذا كنت لا ترغب في ذلك. وقد تم تحسين الإطار بأكمله للسرعة وكفاءة وقت التشغيل.
حسنًا ، مقدمة كافية. دعنا نغوص في ASP.NET CORE!