Node.js
هي بيئة تشغيل جافاسكربت مفتوحة المصدر ومتعددة المنصات، التي تستطيع تشغيل شيفرة جافاسكربت خارج المتصفحات.
تسمح Node.js للمطورين باستخدام جافاسكربت لكتابة برمجيات تعمل من جهة الخادم وذلك لتوليد صفحات ويب ديناميكية قبل إرسالها إلى المتصفح.
وتستطيع Node.js التعامل مع الملفات وقواعد البيانات ومختلف أنظمة الشبكات وخدمات أنظمة التشغيل.
هي بيئة تشغيل جافاسكربت مفتوحة المصدر ومتعددة المنصات، التي تستطيع تشغيل شيفرة جافاسكربت خارج المتصفحات.
تسمح Node.js للمطورين باستخدام جافاسكربت لكتابة برمجيات تعمل من جهة الخادم وذلك لتوليد صفحات ويب ديناميكية قبل إرسالها إلى المتصفح.
وتستطيع Node.js التعامل مع الملفات وقواعد البيانات ومختلف أنظمة الشبكات وخدمات أنظمة التشغيل.
Kotlin
تعد لغة Kotlin لغة مبتكرة حديثة جمعت ما بين الميزات الموجودة في لغات البرمجة الشهيرة مثل لغة Java بشكل أساسي، وأضافت عليها ما يجعل منها لغة أكثر قوة وفاعلية، فهي لغة كائنية التوجه OOP، تحرص من خلال ميزاتها على النواحي الأمانية في البرمجة مثل اعتمادها للنوع Nullable ودوال Lambdas والإضافات التي تتيحها على الأصناف دون إعادة بنائها، كما أنها تدعم المجموعات Collections والاستثناءات Exceptions، وتحسب لها نقطة قوة بأنها تتوافق مع بيئة JVM وبيئة Android - وهما البيئتان الأكثر انتشاراً في التطبيقات البرمجية -، كما يتاح أمر كتابة الشيفرات فيها وتحويلها فيما بعد إلى بيئات برمجية أخرى مثل JavaScript، وتتوفر لها العديد من الأدوات البرمجية سهلة الاستخدام والإضافات Plugins التي تدعمها بيئات العمل المختلفة.
تعد لغة Kotlin لغة مبتكرة حديثة جمعت ما بين الميزات الموجودة في لغات البرمجة الشهيرة مثل لغة Java بشكل أساسي، وأضافت عليها ما يجعل منها لغة أكثر قوة وفاعلية، فهي لغة كائنية التوجه OOP، تحرص من خلال ميزاتها على النواحي الأمانية في البرمجة مثل اعتمادها للنوع Nullable ودوال Lambdas والإضافات التي تتيحها على الأصناف دون إعادة بنائها، كما أنها تدعم المجموعات Collections والاستثناءات Exceptions، وتحسب لها نقطة قوة بأنها تتوافق مع بيئة JVM وبيئة Android - وهما البيئتان الأكثر انتشاراً في التطبيقات البرمجية -، كما يتاح أمر كتابة الشيفرات فيها وتحويلها فيما بعد إلى بيئات برمجية أخرى مثل JavaScript، وتتوفر لها العديد من الأدوات البرمجية سهلة الاستخدام والإضافات Plugins التي تدعمها بيئات العمل المختلفة.
CSS
هي لغة تنسيقية تستخدم لوصف التمثيل البصري لمستند مكتوب بلغة هيكلية، وهي ترمز إلى Cascading Style Sheets أي صفحات الأنماط الانسيابية، ويمكن استخدامها مع HTML وأي مستند XML بما في ذلك ملفات SVG.
تستخدم CSS من أغلبية مواقع الويب لإنشاء صفحات ويب جذابة وواجهات سهلة الاستخدام لتطبيقات الويب، وتستعمل عادة مع لغتي HTML و JavaScript.
الغرض الرئيسي من لغة CSS هو تمكين فصل المحتوى عن العرض، بما في ذلك التخطيط والألوان والخطوط؛ وهذا الفصل يمكن أن يساعم في تحسين قابلية الوصول ويوفر مرونة في التحكم بخصائص العرض وطريقة تنسيقها اعتماداً على الجهاز المستخدم.
تساعد CSS أيضاً في تسهيل التعديلات، إذ يمكن تعديل ملف CSS واحد للتأثير على عشرات الصفحات في الموقع.
هي لغة تنسيقية تستخدم لوصف التمثيل البصري لمستند مكتوب بلغة هيكلية، وهي ترمز إلى Cascading Style Sheets أي صفحات الأنماط الانسيابية، ويمكن استخدامها مع HTML وأي مستند XML بما في ذلك ملفات SVG.
تستخدم CSS من أغلبية مواقع الويب لإنشاء صفحات ويب جذابة وواجهات سهلة الاستخدام لتطبيقات الويب، وتستعمل عادة مع لغتي HTML و JavaScript.
الغرض الرئيسي من لغة CSS هو تمكين فصل المحتوى عن العرض، بما في ذلك التخطيط والألوان والخطوط؛ وهذا الفصل يمكن أن يساعم في تحسين قابلية الوصول ويوفر مرونة في التحكم بخصائص العرض وطريقة تنسيقها اعتماداً على الجهاز المستخدم.
تساعد CSS أيضاً في تسهيل التعديلات، إذ يمكن تعديل ملف CSS واحد للتأثير على عشرات الصفحات في الموقع.
SQL
هي اختصار لعبارة Structured Query Language أي لغة الاستعلام البنوية، وهي اللغة المستخدمة لإجراء عمليات على قواعد البيانات، بما في ذلك إضافة أو تحديث أو حذف البيانات من قاعدة البيانات، أو لتعديل بنية قاعدة البيانات نفسها.
تنفذ تعليمات SQL على الجداول الموجودة في قواعد البيانات، وتلك الجداول تتألف من أعمدة وسجلات؛ أما التعليمات فهي تتألف من كلمات محجوزة ومتغيرات ومعاملات (وغير ذلك) التي تحدد ما هي العملية التي نريد تنفيذها.
لغة SQL تصرح عن النتيجة النهائية للعملية التي نريد إجراءها، وليس عن التفاصيل اللازمة لطريقة إجراء تلك العملية، إذ إن محركات قواعد البيانات هي المسؤولة عن تلك التفاصيل.
أنواع البيانات التي يمكن استخدامها مع محركات قواعد البيانات المختلفة (البيانات العددية، والبيانات النصية، والوقت والتاريخ، والبيانات الثنائية ...إلخ).
هي اختصار لعبارة Structured Query Language أي لغة الاستعلام البنوية، وهي اللغة المستخدمة لإجراء عمليات على قواعد البيانات، بما في ذلك إضافة أو تحديث أو حذف البيانات من قاعدة البيانات، أو لتعديل بنية قاعدة البيانات نفسها.
تنفذ تعليمات SQL على الجداول الموجودة في قواعد البيانات، وتلك الجداول تتألف من أعمدة وسجلات؛ أما التعليمات فهي تتألف من كلمات محجوزة ومتغيرات ومعاملات (وغير ذلك) التي تحدد ما هي العملية التي نريد تنفيذها.
لغة SQL تصرح عن النتيجة النهائية للعملية التي نريد إجراءها، وليس عن التفاصيل اللازمة لطريقة إجراء تلك العملية، إذ إن محركات قواعد البيانات هي المسؤولة عن تلك التفاصيل.
أنواع البيانات التي يمكن استخدامها مع محركات قواعد البيانات المختلفة (البيانات العددية، والبيانات النصية، والوقت والتاريخ، والبيانات الثنائية ...إلخ).
البرمجيات مفتوحة المصدر .. ما هي؟ ولماذا نفضلها؟
يتكون أي برنامج في عالم البرمجيات من عدد من التعليمات والأوامر التي تحدد عمله والهدف منه وتسمى هذه الأوامر بـ"الكود البرمجي"، فمثلاً تطبيق معرفة إتجاه القبلة للجوال سيكون بداخله الأوامر التي تحدد مكان الجوال عبر الـGPS وتقارنه بموقع مكة المكرمة الثابت ثم ترسم سهماً بينهما وتظهره على الشاشة، فإما ينشر مطور التطبيق الكود البرمجي - مفتوح المصدر - فنستطيع الاطلاع على هذه الأوامر، أو يغلق الكود - مغلق المصدر - مما يعني أننا لن نستطيع التأكد إن كان التطبيق مثلاً يرسل موقع الجوال بعد تحديده لطرف ثالث مرفقاً بأسماء جهات الاتصال وأسماء الملفات المخزنة في الجوال بل ربما يلتقط صورة أمامية ويرسلها مرفقة لذاك الطرف.
يتكون أي برنامج في عالم البرمجيات من عدد من التعليمات والأوامر التي تحدد عمله والهدف منه وتسمى هذه الأوامر بـ"الكود البرمجي"، فمثلاً تطبيق معرفة إتجاه القبلة للجوال سيكون بداخله الأوامر التي تحدد مكان الجوال عبر الـGPS وتقارنه بموقع مكة المكرمة الثابت ثم ترسم سهماً بينهما وتظهره على الشاشة، فإما ينشر مطور التطبيق الكود البرمجي - مفتوح المصدر - فنستطيع الاطلاع على هذه الأوامر، أو يغلق الكود - مغلق المصدر - مما يعني أننا لن نستطيع التأكد إن كان التطبيق مثلاً يرسل موقع الجوال بعد تحديده لطرف ثالث مرفقاً بأسماء جهات الاتصال وأسماء الملفات المخزنة في الجوال بل ربما يلتقط صورة أمامية ويرسلها مرفقة لذاك الطرف.
Library Computing
المكتبة البرمجية، مكون برمجي قابل لإعادة الإستخدام من قبل برامج أخرى لأغراض محددة.
في الحوسبة، المكتبة هي مجموعة من البرامج الفرعية تستخدم لتطوير البرمجيات، تحتوي المكتبات كود "مساعد" وبيانات توفر خدمات للبرامج المستقلة، يسمح هذا بمشاركة الكود والبيانات على شكل وحدات منفصلة، بعض الملفات التنفيذية مكتبات وبرامج مستقلة في الوقت ذاته، لكن ليست كل المكتبات تنفيذية، تضع التنفيذيات والمكتبات مراجع إلى بعضها البعض تسمى روابط في عملية تعرف بالربط ويقوم بها برنامج يسمى الرابط Linker.
أغلب أنظمة التشغيل الحديثة توفر مكتبات تغطي أغلب خدمات النظام، توفر هذا المكتبات للبرامج الخدمات التي تتوقعها من نظام التشغيل، ظهرت المكتبات حوالي سنة 1950، وأصبحت عنصراً رئيسياً في البرمجة.
المكتبة البرمجية، مكون برمجي قابل لإعادة الإستخدام من قبل برامج أخرى لأغراض محددة.
في الحوسبة، المكتبة هي مجموعة من البرامج الفرعية تستخدم لتطوير البرمجيات، تحتوي المكتبات كود "مساعد" وبيانات توفر خدمات للبرامج المستقلة، يسمح هذا بمشاركة الكود والبيانات على شكل وحدات منفصلة، بعض الملفات التنفيذية مكتبات وبرامج مستقلة في الوقت ذاته، لكن ليست كل المكتبات تنفيذية، تضع التنفيذيات والمكتبات مراجع إلى بعضها البعض تسمى روابط في عملية تعرف بالربط ويقوم بها برنامج يسمى الرابط Linker.
أغلب أنظمة التشغيل الحديثة توفر مكتبات تغطي أغلب خدمات النظام، توفر هذا المكتبات للبرامج الخدمات التي تتوقعها من نظام التشغيل، ظهرت المكتبات حوالي سنة 1950، وأصبحت عنصراً رئيسياً في البرمجة.
يعتبر Microsoft Office وAdobe Photoshop ونظام التشغيل ويندوز Windows أشهر الأمثلة على البرمجيات المملوكة أو مغلقة المصدر.
أما المصدر المفتوح Open Source فيختلف بشكل تام، صانعو هذه البرمجيات جعلوا أكوادهم متاحة للعموم إما لأسباب أخلاقية أو لأسباب تتعلق بسرعة التطوير و الأمان وما إلى ذلك، فيتمكن الجميع من قراءة وعرض تلك الأكواد والتعلم منها ونسخها ومشاركتها مع الآخرين والتلاعب بها وتعديلها والمشاركة في تطويرها، ومن أشهر الأمثلة على البرمجيات مفتوحة المصدر محرر الصور GIMP والبرنامج المكتبي LibreOffice ونظام التشغيل لينكس Linux.
أما المصدر المفتوح Open Source فيختلف بشكل تام، صانعو هذه البرمجيات جعلوا أكوادهم متاحة للعموم إما لأسباب أخلاقية أو لأسباب تتعلق بسرعة التطوير و الأمان وما إلى ذلك، فيتمكن الجميع من قراءة وعرض تلك الأكواد والتعلم منها ونسخها ومشاركتها مع الآخرين والتلاعب بها وتعديلها والمشاركة في تطويرها، ومن أشهر الأمثلة على البرمجيات مفتوحة المصدر محرر الصور GIMP والبرنامج المكتبي LibreOffice ونظام التشغيل لينكس Linux.
PHP - Hypertext Preprocessor
هي لغة مفتوحة المصدر شائعة الاستخدام لها مجال استخدام عام لكنها تناسب تطوير الويب ودمج لغة HTML معها.
الذي يميز PHP عن الشيفرات التي تعمل في جهة العميل مثل JavaScript هو أن شيفرات PHP ستنفذ على الخادم، مما يولد شيفرة HTML التي سترسل بعد ذلك إلى العميل.
أي أن العميل سيستلم ناتج تنفيذ شيفرة PHP ولن يعلم ما هي الشيفرة الأصلية التي ولدتها.
هي لغة مفتوحة المصدر شائعة الاستخدام لها مجال استخدام عام لكنها تناسب تطوير الويب ودمج لغة HTML معها.
الذي يميز PHP عن الشيفرات التي تعمل في جهة العميل مثل JavaScript هو أن شيفرات PHP ستنفذ على الخادم، مما يولد شيفرة HTML التي سترسل بعد ذلك إلى العميل.
أي أن العميل سيستلم ناتج تنفيذ شيفرة PHP ولن يعلم ما هي الشيفرة الأصلية التي ولدتها.
React
هي مكتبة للغة JavaScript تستخدم لبناء واجهات المستخدم، تدار React من شركة Facebook بالإضافة إلى مجتمع كبير من المطورين، فهي مشروع مفتوح المصدر.
تسهل React عملية إنشاء واجهات مستخدم تفاعلية، عليك فقط تصميم عروض Views لكل حالة في تطبيقك، وستحدث React بكفاءة المكونات الصحيحة وتصيرها عندما تتغير بياناتك، تعتمد React بشكل أساسي على مفهوم المكونات Components.
حيث يجب عليك بناء مكونات مغلفة تدير حالتها الخاصة، ومن ثم تركب هذه المكونات مع بعضها لإنشاء واجهات مستخدم معقدة.
ولما كان منطق المكونات مكتوب باستخدام JavaScript بدلاً من صيغة القوالب، فبإمكانك تمرير الكثير من البيانات عبر تطبيقك بسهولة وإبقاء الحالة بعيدة عن DOM.
تسير React على مبدأ "تعلم مرة واكتب في أي مكان"، إذ لا تفترض تعاملك مع تقنية محددة، بل تستطيع تطوير ميزات جديدة فيها دون إعادة كتابة شيفرة جديدة.
يمكن تصيير React على الخادم باستخدام Node.js، ويمكن من خلالها إنشاء تطبيقات الهواتف النقالة عبر React Native.
هي مكتبة للغة JavaScript تستخدم لبناء واجهات المستخدم، تدار React من شركة Facebook بالإضافة إلى مجتمع كبير من المطورين، فهي مشروع مفتوح المصدر.
تسهل React عملية إنشاء واجهات مستخدم تفاعلية، عليك فقط تصميم عروض Views لكل حالة في تطبيقك، وستحدث React بكفاءة المكونات الصحيحة وتصيرها عندما تتغير بياناتك، تعتمد React بشكل أساسي على مفهوم المكونات Components.
حيث يجب عليك بناء مكونات مغلفة تدير حالتها الخاصة، ومن ثم تركب هذه المكونات مع بعضها لإنشاء واجهات مستخدم معقدة.
ولما كان منطق المكونات مكتوب باستخدام JavaScript بدلاً من صيغة القوالب، فبإمكانك تمرير الكثير من البيانات عبر تطبيقك بسهولة وإبقاء الحالة بعيدة عن DOM.
تسير React على مبدأ "تعلم مرة واكتب في أي مكان"، إذ لا تفترض تعاملك مع تقنية محددة، بل تستطيع تطوير ميزات جديدة فيها دون إعادة كتابة شيفرة جديدة.
يمكن تصيير React على الخادم باستخدام Node.js، ويمكن من خلالها إنشاء تطبيقات الهواتف النقالة عبر React Native.
Apache Cordova
هو إطار تطوير جوال مفتوح المصدر، تسمح لك كوردوفا باستخدام تقنيات الويب القياسية مثل HTML5 و CSS3 و JavaScript لتطوير تطبيق للجوال يعمل على جميع المنصات.
بعض مزايا استعمال كوردوفا هي:
• احتوائها على واجهة سطر أوامر قوية.
• توفير الكثير من الإضافات والأدوات التي تسد الحاجة الأساسية لأغلب التطبيقات.
• المرونة، والسرعة، وقابلية التعديل والتخصيص.
• تشمل أغلب وأشهر أنظمة تشغيل الهاتف المحمولة والهواتف الذكية مثل أندرويد، و iOS.
• وجود مجتمع كبير يوفر الكثير من الدعم والإضافات والمكتبات التي يمكن الاستفادة منها.
تقتصر أغلب مساوئ استعمال كوردوفا على مساوئ التطبيق الهجين الذي يختلف عن التطبيق الأصيل بعدة نواحٍ منها:
التطبيق الهجين أبطأ من الأصيل، ووجود الكثير من مشكلات التوافقية بين المنصات، وهدر الكثير من الوقت في اختبار وتحسين التطبيق على كم هائل من الأجهزة التي سيستهدفها.
هو إطار تطوير جوال مفتوح المصدر، تسمح لك كوردوفا باستخدام تقنيات الويب القياسية مثل HTML5 و CSS3 و JavaScript لتطوير تطبيق للجوال يعمل على جميع المنصات.
بعض مزايا استعمال كوردوفا هي:
• احتوائها على واجهة سطر أوامر قوية.
• توفير الكثير من الإضافات والأدوات التي تسد الحاجة الأساسية لأغلب التطبيقات.
• المرونة، والسرعة، وقابلية التعديل والتخصيص.
• تشمل أغلب وأشهر أنظمة تشغيل الهاتف المحمولة والهواتف الذكية مثل أندرويد، و iOS.
• وجود مجتمع كبير يوفر الكثير من الدعم والإضافات والمكتبات التي يمكن الاستفادة منها.
تقتصر أغلب مساوئ استعمال كوردوفا على مساوئ التطبيق الهجين الذي يختلف عن التطبيق الأصيل بعدة نواحٍ منها:
التطبيق الهجين أبطأ من الأصيل، ووجود الكثير من مشكلات التوافقية بين المنصات، وهدر الكثير من الوقت في اختبار وتحسين التطبيق على كم هائل من الأجهزة التي سيستهدفها.
Django
هو إطار عمل ويب، حر ومفتوح المصدر، مكتوب بلغة البرمجة بايثون، أنشئ سنة 2005، وأهم أهدافه تسهيل عملية تطوير مواقع الويب المعقدة، بالإضافة إلى أنه يعتمد نظام بنية MVT لبناء المشاريع (النماذج التي تتعامل مع البيانات، العروض وتحدد البيانات التي ستعرض، أما القوالب فتحدد كيف يظهر العرض على المتصفح).
هو إطار عمل ويب، حر ومفتوح المصدر، مكتوب بلغة البرمجة بايثون، أنشئ سنة 2005، وأهم أهدافه تسهيل عملية تطوير مواقع الويب المعقدة، بالإضافة إلى أنه يعتمد نظام بنية MVT لبناء المشاريع (النماذج التي تتعامل مع البيانات، العروض وتحدد البيانات التي ستعرض، أما القوالب فتحدد كيف يظهر العرض على المتصفح).