اذهب إلى المحتوى

Mohamad Shafiee Jaddini

الأعضاء
  • المساهمات

    87
  • تاريخ الانضمام

  • تاريخ آخر زيارة

كل منشورات العضو Mohamad Shafiee Jaddini

  1. مرحبا @عبد الواحد نعم يمكنك استخدام الإصدار الخامس من bootstrap : v5.0.0-beta1 ، ولكن على الرغم من أن النسخة الحالية مطورة للعمل على أكبر شريحة من أنوية المتصفحات و الأجهزة إلا أنها لا زالت النسخة beta أي أن هنالك احتمالية بنسبة ضئيلة جدا وجود أخطاء في هذه النسخة من ناحية التوافق مع أنوية المتصفحات أو توفقية الـ responsiveness مع بعض الأجهزة (كمتصفحات الاندرويد ذات الاصدارات القديمة) أو مع مكتبات أخرى. يمكنك الاطلاع على قائمة المتصفحات و الأجهزة المدعومة و الأخرى غير المدعومة من خلال الإطلاع على الموقع الرسمي لبوتستراب.
  2. أهلاً @Shaaban Momammed يمكنك الإطلاع على كورس دورة علوم الحاسوب المقدم من أكادمية حسوب، والذي يتكلم عن المحاور التالية: مدخل إلى علوم الحاسوب أساسيات البرمجة أنظمة التشغيل ولينكس يمكنك الإطلاع على الكورس من خلال الرابط التالي: دورة علوم الحاسوب و فيما يلي نبذة عن الكورس: تم إعداد هذه الدورة على أيدي نخبة من المطورين بأسلوب شيّق وعملي. عندما تنهي هذه الدورة ستمتلك معرفة متقدمة بأهم مواضيع علوم الحاسوب، بدءاً من مكونات الحاسوب والتفكير المنطقي مروراً بأساسيات البرمجة ولغة JavaScript وحتى المواضيع الأكثر تقدماً مثل أنظمة التشغيل، قواعد البيانات وعالم الويب. تبدأ الدورة بأساسيات علوم الحاسوب ومن أبسط المفاهيم البرمجية إلى المفاهيم المتقدمة وأفضل الأساليب المتبعة في البرمجة. الدورة هي عبارة عن مساق تدريبي كامل يبدأ من الصفر تمامًا وتوصلك إلى مرحلة متقدمة من التعامل مع مختلف التقنيات. الدورة لا تعلّم الأساسيات فقط بل تضعك على بوابة الاحتراف لتكمل طريقك وتنافس المحترفين. تعتمد الدورة على التطبيق العملي مصحوبًا بالشرح النظري الأساسي، فإلى جانب تعلّم الأساسيات ستتعلم كيف توظف هذه المعلومات في حياتك العملية البرمجية، وكيف تتعامل مع مختلف الأنظمة خصوصًا نظام لينكس الشهير بين المبرمجين، وقواعد البيانات المختلفة عبر لغة SQL؛ الأمر الذي سيضعك على الطريق الصحيح في مشوارك البرمجي التعليمي والمهني.
  3. مرحبا @علي العبدالله ربما أنت تقصد صفحات : Landing Page إن هذا المصطلح يطلق على صفحات المواقع والتي تكون مبنية لأهداف تسويقية في الدرجة الأولى، تكون غالبا هذه الصفحات هي الصفحات الرئيسية للمواقع، تهدف بشكل أو بآخر إلى جذب الزائر و دفعه للقيام بعمل ما يصب في مصلحة الشركة المالكة للموقع، على سبيل المثال: إنشاء حساب في الموقع. عمل إشتراك مدفوع. طلب إحدى خدمات الموقع. ويهتم المصممون عند إنشاء هذه الصفحات بمبادئ و أسس علم التسويق وعلم تجربة المستخدم UX بشكل كبير، وبناءاً على تلكك القواعد يقومون بعمل تصاميم UI تقوم بجذب الزائر و دفعه للقيام بالعمل المنشود. وتعتمد أيضا عملية التصميم على تتبع سلوكيات الزائر (بتطبيق مبادئ علم النفس السلوكي) و تحليل دوافعه و أهدافه من الزيارة و الشعور الذي سينتابه عند دفعه للقيام بالفعل المنشود (مثلا: تسجيل الدخول أو عمل اشتراك) أحد أكبر الأمثلة العملية هي صفحة facebook الأساسية، حيث أنها توفر لك الحاجة الاساسية من زيارتك للموقع (وهي تصفح البوستات) مباشرة في الصفحة الرئيسية عند دخولك للموقع، وأيضا تتالي المنشورات في الموقع حيث ستقوم لا إراديا بعمل scroll لقراءة المزيد من المنشورات.
  4. مرحباً @Ahmed Sawy بدايةً يجب الإنتباه إلى أن node.js هي بيئة عمل مخصصة لبناء الـ Back-end باستخدام لغة javascript بينما لتطوير الـ front-end يوجد العديد من إطارات العمل مثل Angular - VueJs - React . و النقطة الأهم هي أن المبرمج المحترف عندما يقوم ببناء تطبيقه بشكل احترافي يقوم بفصل كود الـ back-end عن الـ front-end من ناحية الكود ( أي ملفات و مجلدات كود الـ front-end مختلفة عن ملفات و مجلدات الـ back-end ). و السؤال الآن كيف سنجعلهما يتواصلان مع بعضهما ؟ الإجابة: لنفترض وجود عشرات الطلاب من مختلف دول العالم يدرسون في نفس الجامعة، كيف سيتواصل الهندي مع العربي و الأسباني مع الصيني مثلاً ؟بكل بساطة سيتواصلون بلغة مشتركة فيما بينهم وهي اللغة الإنكليزية. بنفس الشكل إذا كان لدينا عدة تطبيقات و كل تطبيق مبني بلغة/مكتبة/إطار عمل معين كيف ستتخاطب مع بعضها؟ ستتخاطب و تتبادل البيانات عن طريق ما يدعى بالـ API - Application Programming Interface و هي عبارة عن آلية لتخاطب التطبيقات مع بعضها عبر تبادل البيانات ضمن صيغة JSON وهذا مثال عن بيانات بصيغة JSON: { "name":"John", "age":31, "city":"New York" } إذاً الخلاصة: الـ back-end في الـ Frameworks مستقل عن الـ front-end و يتخاطبان بينهما عن طريق APIs، وبالتالي إن تغيرت لغة أو إطار عمل أحدهما لن تؤثر على الآخر، فإذا جائك شخص ياباني أو هندي فإنك لن تهتم للغته الأم لأنك بالحالتين ستتحدث معه باللغة الإنكليزية. كذلك بالنسبة لك إذا اخترت للـ front -end أي من الفريموركس المذكورة أو لغات تطوير أخرى فإن ذلك لن يؤثر على عمل الـ back-end في حالتك هذه node.js .
  5. نعم الاستضافة مجانية، حتى أنك تحصل على domain name مجاني لكن متبوع بـ .app في نهايته، وقصدت هنا أن خدمة Hosting تحديداً تمكنك من رفع تطبيقات ويب front-end أو حتى back-end ولكن بخيارات محدودة للـ back-end على سبيل المثال express.js لكن ستكون مضطرا لاستخدام خدمات أخرى للـ firebase مثل: Cloud Function / Cloud Run لكي تبني الـ microservice APIs back-end لتطبيقك. ولا تنسى الخدمات الأخرى الخاصة بقواعد البيانات مثل Realtime Database وغيرها. باختصار firebase توفر لك جميع الخدمات التي تحتاجها لاستضافة موقع بالكامل. كل خدمة لها اسمها الخاص ( قمت بتعداد بعضهم في تعليقي الرئيسي) وكلهم يندرجون تحت الخدمة الرئيسية وهي firebase.
  6. مرحبا @Mohamed Hassan إن firebase هي خدمة سحابية مقدمة من شركة غوغل تتيح استخدام منصات برمجية موجودة على السحابة الخاصة بالشركة cloud وتدعى هذه التقنية SAAS اختصارا لـ Software as a service . ويمكنك الاتصال بهذه الخدمات و استخدمها في تطبيقك مهما كان نوعه (تطبيق ويب - اندرويد - IOS ) ومن الخدمات التي تتيحها المنصة: Cloud Firestore : خدمة قاعدة بيانات NO-SQL تتيحها غوغل لتخزين الداتا عبر الاتصال مع الـ back-end الخاص بتطبيقك، تستخدم بكثرة لتخزين الرسائل في تطبيقات الشات chate مثل تطبيقات الـ messaging Realtime Database : خدمة مشابهة للخدمة السابقة Firebase ML : خدمة تتيح تنفيذ تطبيقات وبناء مودلز لتعلم الآلة Machine Learning على المنصة Hosting : خدمة استضافة مواقع الويب ( الـ front-end ) بشكل خاص Cloud Functions: خدمة بناء Back-end APIs بالاضافة للعديد من الخدمات الأخرى يمكنك الإطلاع عليها على الموقع الرسمي للخدمة. كيفية استخدامها: تعتمد خدمة firebase على آلية استخدام firebase SDK اختصارا لـ firebase software development kit ضمن تطبيقك، يمكن تشبيهها "تجاوزاً" بإضافة مكتبة الى تطبيقك (إلا أنها تقنياً تختلف عن المكاتب من حيث البناء و لغة البرمجة و آلية التنفيذ). و من أجل استخدامها: تقوم أولاً بعمل حساب أو تسجيل الدخول في موقع firebase بحساب غوغل. تقوم باختيار الخدمة أو مجموعة الخدمات التي تريد الإستفادة منها (مثل الخدمات التي ذكرتها سابقاً) تقوم بإضافة الـ firebase SDK إلى تطبيق الأندرويد الذي تحاول بنائه أو إلى تطبيق الويب ضمن كود الـ javascript أو حتى ضمن كود الـ back-end الخاص بتطبيقك. تقوم بإرفاق الـ credentials الخاصة بحسابك ( كإسم المستخدم و تفاصيل سرية أخرى تكون موجودة على الموقع عند تسجيل الدخول) ضمن الكود الذي سيتصل بالـ SDK ، وذلك كي تتيح لتطبيقك الاتصال مع حسابك على firebase . مبارك! أصبح بامكان تطبيقك الآن الاتصال مع الخدمة المختارة في firebase و الإستفادة من ميزاتها الرائعة.
  7. مرحبا @Mohamed Hassan في البداية يجب الإنتباه إلى أن laravel هي Framework مبنية على لغة PHP و يتم تشغيلها ضمن السيرفر server-side. بينما React - VueJs هما Frameworks مبنيتان على لغة Javascript و يتم تشغيلها ضمن المتصفح client-side إن أي تطبيق ويب يقسم إلى قسمين back-end و front-end و يمكن فصل هذين القسمين و جعلهما غير مرتبطين مع بعضهما، كما هو في حالتنا هذه، فالـ laravel تستخدم لبناء الـ back-end و الاتصال مع قاعدة البيانات في السيرفر، ولا مشكلة في ما ستستخدمه لبناء الـ front-end ، أي يمكنك استخدام الفريمورك التي تريدها (VueJs - Angular - React) لبناء الـ front-end ولكن الميزة لـ VueJs هي أن شركة VueJs قامت ببناء الفريمورك بحيث تتوافق مع Laravel من ناحية الـ syntax ( يمكن ملاحظة أن شكل التعليمات متشابه بينهما إلى حد ما) من أجل بناء Single-page application أما بالنسبة للفرق بين React و React Native : React تستخدم لبناء front-end لتطبيقات الويب React Native هي عبارة عن framework تستخدم لبناء تطبيقات الجوال IOS/Android بكود واحد. وكلاهما أساسه مبني على لغة Javascript
  8. إن صناعة لغة برمجية أمر في غاية الصعوبة و التعقيد، إذ يجب عليك معرفة و إتقان عدة أمور، أهمها ان تعرف السبب الذي ستصمم هذه اللغة من أجله (على سبيل المثال: برمجيات للأنظمة المضمنة، تطبيقات الهواتف الجوالة، تطبيقات سطح المكتب ..الخ). كما يجب عليك الإلمام أيضا بلغة الآلة و كيفية تحويل اللغات المنخفضة المستوى (Assembly) إلى لغة الآلة ( 0-1) و طبعا يجب عليك التوسع في معرفة أسس تصميم المحولات/المترجمات (compiler) و المفسرات (Interpreter) و الفرق بينهما و مجال استخدام كل منها، بالإضافة إلى أهمية الإطلاع على أمثلة عملية مفتوحة المصدر لبناء لغات برمجية.
×
×
  • أضف...