مجانا: الدورة الكاملة للغة الفيجوال بيزك من الصفر إلى الاحتراف


السلام عليكم ورحمة الله وبركاته،
أحبتي في الله حياكم الله وبعد:
فإن لي عظيم الشرف أن أقدم بين أيديكم اليوم مجموعة من المحاضرات التي كنت قد أعددتها ضمن مشروع الحقيبة البرمجية والتي لقيت نجاحا بفضل الله أولا، ثم بفضل الأسلوب المتدرج الذي اعتمدته في الطرح.
الدورة تشمل محاضرات وكتب سأمدكم بروابطها أسفله، وأرجو من كل من انتفع منها أن يخصني بدعوة في ظهر الغيب.
وحتى أخفف على نفسي إعداد رابط لكل درس، وضعت رابط قائمة التشغيل لكل جزء.
محتويات الدورة:
مدخل إلى علم الحاسب ومعالجة البيانات
لغة الآلة والنظام الثنائي لتمثيل البيانات
مفهوم البرمجة والبرنامج وأنواع اللغات البرمجية
لغة الفيجوال بيسك، الفيجوال ستوديو، دوت نيت فريموورك وبيئة التنفيذ
تحميل برنامج ميكروسوفت فيجوال ستوديو 2015
تثبيت برنامج ميكروسوفت فيجوال ستوديو 2015
التعرف على بيئة التطوير الكاملة فيجوال ستوديو
أول برنامج بلغة فيجوال بيسك 2015
مستعرض الملفات Solution Explorer و محرر الشفرات Code Editor
المتغيرات Variables وأنواع البيانات Data Types
الثوابت Constants والأنواع العشرية Doubles
الأوامر الشرطية Decision Statements
روابط المقارنة Comparison Operators
الروابط المنطقية غير المختصرة Not short-circuiting logical operators
الروابط المنطقية المختصرة Short-circuiting logical operators
فصل الحالات باستخدام الأمر Select Case
المصفوفات Arrays
المصفوفات والحلقات Arrays and Loops
المصفوفات متعددة الأبعاد Multi-Dimensional Arrays
الحلقات باستخدام الأوامر Do و While و Until
استخدام الأمر With
المعددات Enumerations
العمليات على النصوص Strings Handling (الجزء 1)
العمليات على النصوص Strings Handling (الجزء 2)
تنسيق الوقت والتاريخ والعملات المالية DateTime and Currencies Formatting
الإجراءات والدوال Procedures and Functions
قابلية الوصول Accessiblity ومفهوم الوحدات Modules
إدارة الأخطاء والاستثناءات Handling Exceptions

البرمجة الكائنية التوجه OOP في الفيجوال بيزك 2015
مدخل إلى البرمجة الكائنية التوجه
الفئات Classes والكائنات Objects والوظائف Methods والاستنساخ Instanciation
مشيدات الفئة Constructors
مهدمات الكائنات Destrucors
الخصائص Properties(Getters and Setters)
الأحداث Events
الوراثة Inheritance
تعدد الأشكال الفرعية SubTyping Polymorphism
زيادة التحميل - تعدد التعاريف OverLoading
تعدد التعاريف OverLoading (OverLoads keyword)
إعادة التعريف Overriding
الأسمبلي ومجالات الأسماء Assemblies and Namespaces
التظليل Shadowing
الفئات المجردة Abstract Classes والأمر MustOverride
الكلمة المحجوزة NotOverridable
البرامترات الاختيارية Optional Parameters
التمرير بالقيمة وبالمرجع Passing Parameters ByVal and ByRef
تطبيق الواجهات Implementing Interfaces
التراكيب Structures
شرح ArrayList - إضافة الكائنات
شرح ArrayList - حذف وعرض الكائنات
شرح List - إضافة الكائنات
شرح List - حذف وعرض الكائنات
العناصر المشتركة Shared Membres
العمليات على الوحدات في الفيجوال بيزك 2015
العمليات على الوحدات Drives
العمليات على المجلدات Directories
العمليات على الملفات Files
العمليات على البيانات Streams
برمجة الواجهات في الفيجوال بيزك 2015
خصائص الفورم Form Properties
أحداث الفورم Form Events
أداة مربع النص TetBox Control
أداة الزر Button Control
أدوات الملصقات والروابط Labels and LinkLabels Controls
أداة مربع الاختيار CheckBox Control
أداة قائمة الاختيارات CheckedListBox Control
أداة زر الراديو RadioButtonControl
أداة القائمة المنسدلة ListBox Control
أداة قائمة الكومبو ComboBox Control
أداة الصورة PictureBox Control
أداة مربع النص الغني RichTextBox Control
أداة تحديد التاريخ والوقت DateTimePicker Control and DateTime Handling
أداة تخزين الصور ImageList Component
أداة قائمة العرض - إضافة الأعمدة والأسطر ListView Control
أداة قائمة العرض - التحكم في أنواع العرض ListView Control
أداة قائمة العرض - العمليات على البيانات ListView Control
أداة قائمة العرض - تجميع البيانات ListView Control
أداة العرض الشجري TreeView Control
أداة القائمة MenuStrip Control
أداة شريط الأدوات - الجزء الأول ToolStrip Control
أداة شريط الأدوات - الجزء الأول ToolStrip Control
قائمة الاختيارات المنسدلة ContextMenuStrip Control
أداة شريط الحالة StatusStrip Control
أدوات التجميع GroupBox and Panel Controls
أداة التبويبات المتعددة TabControl Control
برمجة آلة حاسبة - التصميم
برمجة آلة حاسبة - كتابة الكود
أشرطة التمرير العمودية والأفقية VScrollBars and HScrollBars
أداة شريط التغيير TrackBar Control
أداة اختيار الألوان ColorDialog Control
أداة اختيار الخط FontDialog Control
أداة فتح الملفات OpenFileDialog Control
أداة حفظ الملفات SaveFileDialog Control
أداة فتح المجلدات FolderBrowserDialog
أداة العداد Timer Component
أداة شريط التدرج ProgressBar Control
أداة التنبيه إلى الأخطاء ErrorProvider
أداة المساعدة HelpProvider
أداة أيقونة الإشعار NotifyIcon
أداة تحديد الأرقام NumericUpDown
أداة تحديد القيم DomainUpDown
أداة التلميح ToolTip
أداة عرض الخصائص PropertyGrid
أداة التقسيم Splitter
أدوات التحجيم التلقائي TableLayoutPanel and FlowLayoutPanel
أداة متصفح الويب WebBrowser
أداة مربع النص المقولب MaskedTextBox 
مدخل إلى قواعد البيانات وأنظمة إدارتها Databases and DBMS
تحميل وتثبيت برنامج Microsoft SQL Server 2014
إنشاء قاعدة البيانات على برنامج SQL Server
إنشاء الجداول في قواعد البيانات Create Tables
إدخال البيانات إلى الجداول Insert Data Into Tables
حذف البيانات من الجداول Delete Data From Tables
تحديث البيانات والتعرف على الحقل الأساسي Update Data & Primary Key
قراءة البيانات من الجداول Select Data From Tables
عموميات حول ADO.NET وفئاته الأساسية وأوضاع الاتصال
ربط الاتصال بين برنامج بلغة فيجوال بيسك وبين قاعدة البيانات من نوع SQL Server
الوضع المتصل - قراءة البيانات وعرضها في ListView
الوضع المتصل - إضافة البيانات إلى الجداول
الوضع المتصل - البحث عن البيانات وحذفها
الوضع المتصل - تحديث البيانات
الوضع المتصل - برمجة واجهة الدخول Login Form
ثغرات SQL Injection واستخدام البرامترات لترقيعها
تعبئة DataGridView بواسطة SqlDataAdapter و Dataset
تعبئة DataGridView بواسطة SqlDataAdapter و DataTable
الوضع المنفصل ـ إضافة البيانات
الوضع المنفصل ـ البحث عن البيانات وحذفها
الوضع المنفصل ـ تحديث البيانات
الوضع المنفصل - برمجة أزرار التنقل
البحث والفلترة والترتيب باستخدام الكلاس داتافيو DataView
أداة الكومبوبوكس والتعامل مع البيانات
تعبئة كومبوبوكس من كومبوبوكس آخر Cascading ComboBoxes
نقل البيانات بين النوافذ ومفهوم Singleton Class وحل مشكل العربية
مدخل إلى لغة XML وإنشاء ملف الأفراد
قراءة البيانات من ملف XML
إضافة البيانات إلى ملف XML
حذف البيانات من ملف XML
تحديث البيانات في ملف XML
التنقل بين البيانات المخزنة في ملف XML
مدخل إلى الإجراءات المخزنة Stored Procedures
قراءة البيانات بواسطة الإجراءات المخزنة
إضافة البيانات عبر استخدام الإجراء ات المخزنة
حذف البيانات عبر استخدام الإجراءات المخزنة
التحقق من وجود المعرف عبر استخدام الإجراءات المخزنة
تحديث البيانات عبر استخدام الإجراءات المخزنة
التنقل بين البيانات عبر استخدام الإجراءات المخزنة
البحث المتعدد والمتقدم وفلترة البيانات
الإكمال التلقائي للبيانات في مربع النص TextBox AutoComplete
التعامل مع التواريخ الهجرية والميلادية في الفيجوال بيسك و SQL Server
تنسيق الأعمدة والخانات في الداتا غريد فيو
حفظ الصور في قاعدة البيانات
قراءة الصور المخزنة في قواعد البيانات
تخزين جميع أنواع الملفات في قاعدة البيانات
قراءة جميع أنواع الملفات المخزنة في قاعدة البيانات
تنفيذ عدة عمليات بشكل أحادي باستخدام المعاملات Transactions
حفظ نص الاتصال في ملف الإعدادات Save ConnectionString In app.config
إنشاء ملف التثبيت بواسطة برنامج Setup Factory
مشروع إدارة الطلبة بلغة الفيجوال بيزك و MySQL
تحميل وتثبيت وإعداد كل ما يتعلق بقواعد البيانات MySQL
إعداد مكتبة MySQL وإنشاء قاعدة البيانات والجداول على PhpMyAdmin
واجهة تسجيل الدخول إلى برنامج إدارة الطلبة
تصميم الواجهة الرئيسية لإدارة الطلبة
برمجة واجهة إضافة الطلبة وحل مشكلة العربية في MySQL
واجهة إدارة الطلبة - العرض والبحث
واجهة إدارة الطلبة - التعديل والحذف
برمجة واجهة إدارة المواد الدراسية
برمجة شاشة تسجيل النقاط
الدرس الختامي - تحسينات ولمسات إضافية
مشروع المبيعات بلغة الفيجوال بيزك و Access
إنشاء قاعدة البيانات على ميكروسوفت أكسس
إدارة المبيعات بالأكسس - برمجة واجهة الدخول
أكسس - تصميم الواجهة الرئيسية
إدارة المبيعات بالأكسس - إضافة المنتجات
إدارة المبيعات بالأكسس - جلب المنتجات والبحث فيها
برنامج إدارة المبيعات بالأكسس - حذف وتعديل المنتجات
برنامج إدارة المبيعات بالأكسس - إدارة العملاء
برنامج إدارة المبيعات بالأكسس - تصميم واجهة المبيعات
برمجة إدارة المبيعات بالأكسس - جلب معلومات العميل
برمجة إدارة المبيعات بالأكسس - إدخال المنتجات
برمجة إدارة المبيعات بالأكسس - حذف وتعديل المنتجات والتحقق من عدم تكرارها
برمجة إدارة المبيعات بالأكسس - حفظ الفاتورة بتفاصيلها
برمجة إدارة المبيعات بالأكسس - عرض الفاتورة بتفاصيلها من ثلاثة جداول
برمجة إدارة المبيعات بالأكسس - جلب معلومات الفاتورة والعميل للتعديل
برمجة إدارة المبيعات بالأكسس - جلب منتجات الفاتورة للتعديل
برمجة إدارة المبيعات بالأكسس - تعديل الفاتورة وتفاصيلها
برمجة إدارة المبيعات بالأكسس - الدرس الختامي (تحسينات)

وفيما يلي كتب الدورة:

دورة تقنية LINQ - الدرس الأول

السلام عليكم ورحمة الله وبركاته،
أحبتي في الله، حياكم الله، وأهلا وسهلا بكم جميعا في أول حصة من حصص دورة LINQ التي نرجو من المولى تبارك وتعالى أن يجعلها خالصة لوجهه الكريم، نافعة ماتعة، مستوفية لكل تفاصيل هذه التقنية بشقيها: النظري والعملي.
وتعالوا بنا نستفتح الدرس بالإجابة على السؤال الذي ينخر أذهاننا الآن، ماهي LINQ؟
LINQ  أحبتي الكرام هي تقنية برمجية أنتجتها شركة ميكروسوفت وأصدرتها في نهاية 2007 ضمن إطار العمل دوت نيت فريموورك 3.5 مع الفيجوال ستوديو 2008 بغرض تسهيل عملية معالجة البيانات مهما كان مصدرها.
بمعنى آخر، تسمح لنا تقنية LINQ بالقيام بعمليات الاستعلام، وإجراء عمليات الإضافة والحذف والتعديل والبحث والترتيب والتجميع وغير ذلك من العمليات بأسلوب سهل.
مع تقنية LINQ يصير بإمكاننا كتابة الاستعلامات Queries باستخدام لغات الدوت نيت، وبالتالي لسنا مطالبين أن نكون من أهل التخصص في لغة SQL الخاصة بالتواصل مع قواعد البيانات العلائقية من قبيل SQL Server و Oracle ...إلخ.
توفر لنا تقنية LINQ صيغة برمجية خاصة بها للاستعلام على البيانات، وكذا إجراء باقي عمليات CRUD.
والميزة التي أراها بارزة في تقنية LINQ هي توحيد جميع مصادر البيانات واعتماد آلية مشتركة في التعامل معها، ما معنى هذا الكلام؟
معناه أننا نستطيع أن نتعامل مع قواعد البيانات  SQL Databases ومع مستندات XML ومع مجموعة الكائنات Object Collection ومع المصفوفات المخزنة في الذاكرة ومع ADO.NET Dataset ومع Entity بنفس الطريقة.
أضف إلى ذلك أن تقنية LINQ توفر لنا أسلوبين لكتابة الأوامر البرمجية، أولهما يسمى Query Syntax وهو شبيه نسبيا باستعلامات SQL، وثانيهما يسمى Non-Query Syntax وهو أسلوب برمجي محض قائم على الوظائف الممتدة Extension Methods كما سيأتي معنا بحول الله في قادم الدروس.
إلى هنا أختم هذه الحصة وأدعو لكم جميعا بالتوفيق والسداد، راجين أن يقدر لنا المولى اللقاء في الحصة المقبلة.
دام لكم البشر والفرح!



حمقى في ثوب أحبابك!


يتجلى البؤس أحيانا في تعليقٍ على أحدِ مناشيرك على الفيسبوك، يأتي به إليك من تَخَالُهُ صديقا، والحقيقة المؤلمة أن من خِلْتَهُ صديقا ليس صادقا وإلا لأدرك أن كلمة انتقاص واحدة منه في حقك قد تأتي على مالديك من طموح فتجتثه من جذوره، لتحيلك إنسانا من رماد، تذروه أي رياح!
وأحيانا أخرى يتجلى في كلمة عابرة يلفظها أحد أقربائك في حضرتك، فتفهم منها أنت أكثر مما أراده هو، لأن اللفظ دابة المعنى، وبعض المعنى يَحِيكُ في صدرك وَمَارِدُكَ ينتظر على أحر من الجمر أي لفظ يدانيه ليركبه، ثم يصيح بك بعد سماعك له: خذ يا حبيبي، أنت على خطأ! وهذا دليل يدعم موقفي!
وهل يليق بمن يرى نفسه سيبويه أن يفتح كناشة ألفية مالك؟
الحقيقة يا أحباب أن الضعف أصدق مافينا، وأننا مهما أظهرنا الاستماتة والصمود، إلا أننا في دواخلنا نَخِرُّ صَرْعَى في لحظة من اللحظات!
والحقيقة أن ضعفنا مناط قوتنا، فمن شاء أن يسمو فلابد له أن يصم أذنيه عن كل نداءات التثبيط، مهما كان مصدرها داخليا أو خارجيا.
ولابد له أن يضع هدفه نصب عينيه، لا يذعره عنه شيء حتى يبلغه، وإلا فإن الإصغاء لكل ناعق سبب رئيس للتعجيل بك إلى هوة الفشل، الهوة السحيقة التي لن تخرج منها إلا إن أدركت أنك سقطت فيها! أما إصرارك على أنك لست فاشلا فلن ينتشلك منها، وهل يليق بمن يرى نفسه سيبويه أن يفتح كناشة ألفية مالك؟ القياس هو هو! فتمعن واعترف بسقطتك ثم التمس أسباب النهوض منها دون مكابرة، وأولى خطواتك بعد الإقرار وترك الإصرار: المثابرة!
وما أجمل المثابرة بعد المكابرة! إنها سيل جارف يحول طاقتك السلبية إلى طاقة إيجابية!
ثم تخلص من كل هؤلاء الحمقى الذين يأتونك في ثوب أحبابك، تارة على مواقع التواصل الاجتماعي، وتارة في الشارع، وتارة في الشغل، وتارة يصدر صوتهم من داخلك!
تبرأ منهم جميعا وصح بهم: لا أستحمل غباءكم! 
واشغل نفسك بما يلي تظفر بما خططت له:

  • تأكد من هدفك إن كان شريفا، فامض ولا تلتفت، وإلا فَقَبِّلْ جبين من أسميناهم حمقى في ثوب أحبابك، ثم حدد هدفا شريفا واقلب لهم ظهر المجن، لا بأس أن تكون براغماتيا :)
  • نظم وقتك، وأعد الأدوات اللازمة لبلوغ هذا الهدف، وادرس آليات الوصول إليه باستفاضة وتفصيل
  • راجع المكتسبات في كل فرصة ترى أنك حققت جديدا، سواء كان هذا الجديد لبنة جديدة في صرح بلوغ هدفك، أو نزع لبنة وضعتها في غير مكانها، لا بأس في ذلك فإن بعض الهدم دعامة للبناء السليم!
  • النجاح ليس نقطة تبلغها، قد يكون استيقاظا من غفلة!
  • اطلب العلم الموصل إلى هدفك من مظانه، ولا تطلبه حيثما اتفق فتكون بذلك أحمق من رجلة كما تقول العرب (الرجلة نبتة تنمو في مجاري السُّيول فيمر السيل بها فيقتلعها‏) 
  • تنظيم ساعات اليقظة خير من تقليل ساعات النوم
  • البؤس يتجلى في أكثر من مكان وبأكثر من شكل، لكن رائحته واحدة، فحيثما وجدتها فاصرف وجهك عنها وعن من بَثَّهَا !
عدا ذلك، دام لك البشر والفرح!


المختصر المفيد في Razor مع ASP.NET MVC 5


السلام عليكم ورحمة الله وبركاته،
أتمنى لكم الاستفادة الكاملة من المحاضرة أسفله.
دام لكم البشر والفرح!

المختصر المفيد في تقنية Entity Framework مع MVC 5



السلام عليكم ورحمة الله وبركاته،
في هذه المحاضرة القيمة سوف نتعرف بحول الله على تقنية Entity Framework مع نمط الويب ASP.NET MVC 5، وسنركز في المقدمة على مزايا Entity Framework وعلى أنماط اشتغالها الثلاثة:

  • Entity Framework Code First
  • Entity Framework Model First
  • Entity Framework Database First
ثم بعد ذلك سندخل في صلب الموضوع عبر إجراء مثال تطبيقي.
أترككم مع المحاضرة، وكلي دعاء لكم بالتوفيق والسداد.
ودام لكم البشر والفرح

نموت نموت، ويحيى Xamarin !


مقدمة زائدة:

كأن مجال التقنيات المعلوماتية مجال عاق بأبنائه، لا يراعي لهم قدرا ولا يحفظ لهم عهدا، فما تكاد تقنية من تقنياته تنبغ حتى يحطمها المجال بتقنية أخرى فتسقط على أنفها كأن لم تزدهر بالأمس.
ربما تكون هذه الجزئية الصغيرة هي الفرق الكبير الذي يقلب الأدوار، فيموت الأبطال ميتة البعير ويتسلل إلى المشهد أحد الرعاع ليتصدر البطولة بلا منازع!
تقنية تُسقط أخرى، لغة تزيح أخرى، والحاجة البشرية وراء الكواليس تضحك مِلْءَ شِدْقَيْها وهي تُحرك الخيوط لتصنع المشهد.
سُنَّةُ التدافع التي فطر المولى تبارك وتعالى خلقه عليها، ماضية حتى في مصنوعات خلقه، تَدَافُعٌ مستمر، والخيرية مشروطة بالصلاح وحسن الأداء، ومن يعيشون دور الضحية سيتجاوزهم الزمن، وَسَيُنْقَلونَ من الاستعمال إلى الاستبدال..
وكذا حال مصنوعات الخلق، وعن تقنيات المعلومات بالذات أتحدث!
سأضيق حلقة التركيز أكثر لندخل في صلب الموضوع، حديثنا سيكون عن تطبيقات الموبايل باستخدام Xamarin، باعتبارها فاعلا أساسيا في هذه الدراما التقنية التي يموت أبطالها إذا رفضوا التجديد، أو غفلوا عن جزئية فسبقهم إليها غيرهم، ربما تكون هذه الجزئية الصغيرة هي الفرق الكبير الذي يقلب الأدوار، فيموت الأبطال ميتة البعير ويتسلل إلى المشهد أحد الرعاع ليتصدر البطولة بلا منازع!
لئيمة أنت يا تكنولوجيا.. ومخدوع من أمن لك!

قبل الولادة كان المخاض:

حرصت كل شركة من شركات إنتاج الهواتف الذكية على توفير المكتبات اللازمة لتطوير البرمجيات الخاصة بأجهزتها والموافقة لأنظمة تشغيلها، وهو ما يعرف بين عموم المبرمجين ب SDK، اختصارا لSoftware Development Kit، فصار كل مبرمج مطالبا بالإلمام بالخصوصيات البرمجية لجهاز الموبايل الذي يريد التطوير له، وكذلك اللغات والتقنيات البرمجية اللازمة لبناء التطبيقات المستهدفة له.

فكان سالك هذا السبيل يصل إلى ملتقى طرق عليه لافتات كما يلي:
1. إذا أردت برمجة تطبيقات أندرويد فاحمل ضمن زادك لغة جافا
2. إذا أردت برمجة تطبيقات iOS فاحمل ضمن زادك لغة Objective C أو Swift
3. إذا أردت برمجة تطبيقات Windows Phone فاحمل ضمن زادك لغة  C#
وبعض الأنظمة الضعيفة بقيت لافتتها تبهت حتى ضاعت حروفها، فلا يكاد مطالعها يتبين لوازم السفر إلا بعد جهد، وحديثي عن  Symbian ومن حذا حذوه !
عموما، دفعت هذه التعددية أهل البرمجة إلى الركون إلى حيز الراحة، فكل مبرمج يتجه صوب اللغة التي يعرفها، فكان من النادر أن تجد مبرمج جافا ينشىء برامج يستهدف بها نظام الويندوز فون أو مبرمج سي شارب يستهدف تطبيقات iOS...
أما إذا أراد المبرمج أن ينشىء تطبيقا يعمل على الأنظمة الثلاثة، فكان لزاما عليه أن يقطع الطريق التالية:
1. تعلم اللغات البرمجية اللازمة لكل نظام
2. التمرن على بيئة التطوير الخاصة بكل نظام
3. إنشاء التطبيق بجميع اللغات
الخطوات قد تبدو سهلة في العد، لكن وقعها كالعض!
فليس من السهل أن تتقن كل اللغات الآنفة إلى حد إبداع ما تجود به قريحتك، وشتان بين أن تكون مبدعا، وبين أن توهم نفسك أنك كذلك، كدأب المتنطعين الذين يظنون أن طباعة جملة Hello World بجميع اللغات دليل تميزهم، وكلامي للفهم لا للهدم، فَاعْقِلْ!
فكان من أولى البشائر ظهور ما يعرف بالتطبيقات الهجينة Hybrid Applications، وهي تطبيقات تُبرمج مرة واحدة وتعمل على مختلف الأنظمة، بحكم أنها مصممة بلغات عامة HTML و CSS و Javascript من خلال إحدى بيئات التطوير التي تجعل هذا التطبيق قادرا على الاشتغال في مختلف الموبايلات،ومن أبرز بيئات التطوير التي تسمح بإنتاج تطبيقات هجينة نجد بيئة Cordova و PhoneGap وغيرهم...
سيرا على نفس المنوال، قام مؤسسو شركة Ximian سنة 2011 بإصدار منصة Xamarin لكن هذه المرة برؤية مختلفة، حيث أن التطبيقات الناتجة لن تكون هجينة Hybrid وإنما ستكون أصلية Native كما لو أنها برمجت باللغات البرمجية الأصلية لكل نظام.
بدت الفكرة مغرية جدا، لا سيما وأن المبرمج لن يحتاج أكثر من لغة سي شارب لكي يقوم بإنشاء تطبيقات موبايل أصلية لمختلف أنظمة تشغيل الموبايلات،
وفي عام 2016 قامت شركة ميكروسوفت بشراء منصة Xamarin وجعلتها مجانية لمستخدمي الفيجوال ستوديو، وقد سبق وتحدثنا عن ذلك في المقالة التالية:

حول شراء ميكروسوفت لمنصة Xamarin

بعد الولادة، كثر السؤال

مئات الآلاف من المبرمجين اليوم يستعملون منصة Xamarin لبناء تطبيقات موبايل متعددة البيئة Cross-Platform Mobile Applications، لأسباب عدة، أبرزها سهولة تعلم لغة سي شارب، ومجانية منصة Xamarin، والقدرة على إنتاج تطبيقات تشتغل بكفاءة كما لو أنها برمجت بلغاتها الأصلية.
فلما كان الإقبال متزايدا على Xamarin، كثرت الأسئلة حوله، فكان من جملة الأسئلة التي راجت ما سنسعى إلى الإجابة عليه أسفله بحول الله وقوته.

ماهو Xamarin؟

أجبنا عليه مسبقا، لكن حتى يتكرس في أذهاننا، فهو منصة عمل تسمح ببناء تطبيقات بلغة سي شارب تعمل على أكثر من موبايل.

لماذا Xamarin دون غيره؟


  • لأنه يوفر علينا الوقت في بناء تطبيقات الموبايل ثلاث مرات، فبدل استغراق ثلاثة أشهر لبناء نفس التطبيق على ثلاث منصات، سنستغرق فقط شهرا واحدا.
  • لأنه مجاني
  • لأنه يعفينا من تعلم عدة لغات برمجية لاستهداف باقي منصات الموبايل
  • لأنه يسمح بإنشاء تطبيقات أصلية Native Applications تعمل بكفاءة عالية.
  • لأنه يسمح لنا ببناء التطبيقات بلغة سي شارب الغالية على قلوبنا جميعا.
  • لأنه يسمح لنا بتضمين مجتابت مبرمجة بلغات أخرى كجافا و Objective C، الشيء الذي سيعفينا بشكل كامل من تعلم هذه اللغات، وحتى إذا ما احتجناها فكل ما علينا هو جلبها للمشروع والعمل عليها بلغة سي شارب.
  • لأنه يسمح لنا باستعمال الفيجوال ستوديو كبيئة للتطوير، وبما أننا نحن مبرمجو الدوت نيت معتادون عليه فلن نجد مشاكل في تطوير التطبيقات باستعمال Xamarin.

ما الذي سأحتاجه لأبدأ Xamarin؟

كل ما ستحتاجه هو برنامج فيجوال ستوديو أو برنامج Xamarin Studio لكي تبدأ عملك.

من أين أتعلم Xamarin؟

إذا أسعفنا الوقت سنحاول أن نسجل دورة متكاملة إن شاء الله لتعلم Xamarin من الصفر إلى الاحتراف، أما الآن فأفضل مكان يمكنك أن تتعلم Xamarin منه هو المصادر الرسمية له عبر الموقع التالي:
https://developer.xamarin.com/guides/
كما يمكنك متابعة دورة الأخ الفاضل حسين الربيعي من هنا:
رابط الدورة على قناة بغداد الجديدة
ورأيي فيها أنها دورة جميلة وتفتح العيون على منصة Xamarin لكنها ليست كافية.

ويمكنك أيضا متابعة قناة أخينا الحبيب حسام الدلاعي، من تونس الحبيبة، أغلب المحاضرات باللغة الانجليزية لكنها جيدة في رأيي:
قناة حسام

إلى هنا أدعو لكم جميعا بالتوفيق والسداد، ودام لكم البشر والفرح!

دورة إنشاء برنامج إدارة الطلبة باستخدام MySQL و VB.NET 2015

تمثل هذه الدورة الأسلوب الواجب على المبرمج اتباعه في بداية مشواره البرمجي، إذ تبين له من أين يبدأ وأين ينتهي، كل ذلك بطريقة سلسة، سهلة الاستيعاب والتطبيق.
في ختام هذه الدورة، ستتمكن من إنشاء برنامج يدير الطلبة وبياناتهم وكيفية إعطائهم النقاط حسب المواد الدراسية.
بالتوفيق والسداد:
1. دورة برنامج إدارة الطلبة باستخدام MySQL و VB.NET 2015 - إعداد MySQL
2. دورة برنامج إدارة الطلبة باستخدام MySQL و VB.NET 2015 - إنشاء قاعدة البيانات
3. دورة برنامج إدارة الطلبة باستخدام MySQL و VB.NET 2015 - واجهة الدخول
4. دورة برنامج إدارة الطلبة باستخدام MySQL و VB.NET 2015 - تصميم الواجهة الرئيسية
5. دورة برنامج إدارة الطلبة باستخدام MySQL و VB.NET 2015 - إضافة الطلبة وحل مشكلة العربية في MySQL
6. دورة برنامج إدارة الطلبة باستخدام MySQL و VB.NET 2015 - العرض والبحث عن الطلبة
7. دورة برنامج إدارة الطلبة باستخدام MySQL و VB.NET 2015 - تعديل وحذف الطلبة
8. دورة برنامج إدارة الطلبة باستخدام MySQL و VB.NET 2015 - المواد الدراسية
9. دورة برنامج إدارة الطلبة باستخدام MySQL و VB.NET 2015 - تسجيل النقاط 
10. دورة برنامج إدارة الطلبة باستخدام MySQL و VB.NET 2015 - الدرس الختامي

دورة إتقان أساسيات البرمجة بلغة الفيجوال بسيك 2015


دورة مهمة جدا ونافعة جدا لمن يريد أن يبدأ في مجال البرمجة بخطوات ثابتة وبفهم سليم، إذ أنها تتناول الأساسيات بشكل متعمق وتقدمها بشكل مبسط، مما يضمن للمتلقي استفادة كاملة تجمع بين فهم المادة وبين إتقانها والقدرة على إنزالها إنزالا فعليا على حقل البرمجة.

توكل على الله وابدأ هذه الدورة: