السلام عليكم و رحمة الله تعالى و بركاته اخواني الكرام اسمي رضا و انا من المغرب و اريد البدا فبرمجة الويب فعند البحت حول هذا الموضوع وجدت ان هناك اتجاهين في الويب هما : Back-end و Front-end فوجدت ان Front-end تعني Design عامة ولكن انا لا يعجبني Design و لا اميل اليه ما اميل اليه هو البرمجة فتعمقت ووجدت ان Back-end هو البرمجة في الويب عامة فققررت ان ابدا به و اخربني بعض الاصدقاء ان للبدا في Back-end يجب ان تبدا في Front-end اولا مع العلم اني تعلمت اولا html و اخبروني اخرون للبدا في Back-end يجب تعلم php فهل يمكنني تعلم Back-end دون تعلم Front-end مع العلم اني لا اميل الى Design و لا احبه و لو اردت في Back-end ما هي اللغات التي يجب دراستها لو ممكن اجوبة و شكرا (y)
هل ابدا بال Front-end ام Back-end في الويب ?
عليكم السلام، مرحبا رضا،
على ما أعتقد هناك خطأ في تفسيرك للمصطلحات التي ذكرتها Front-end و Back-end وايضاً Design.
وهذا خطأ شائع جداً، حيث كلمة Design او تصميم في عالم البرمجيات لاتعني الواجهات الرسومية (GUI - Graphical user interface)
التصميم (Software Design) تعني تصميم هيكلة وميكانيكية البرنامج ويدخل من ضمنها تصميم الخوارميات وحالات الاستعمال (use-cases) وتصميم ايضاً الاختبارات. تقريباً معناها أشمل من تصميم الواجهات الرسومية. حتى تصميم الواجهات (Interface Design) بمصطلح اكاديمي لاتعني تصميم الواجهات الرسومية فحسب، أو تصميم الواجهات التي يتعامل معها البشر. هناك تصميم واجهة (Interface Design) لتتعامل مع آله او برمجيات اخرى.
وكذلك Front-end لاتعني تصميم الواجهات فحسب أو الرسومات. فهناك موظفون في شركات تحت مسمى Front-end Developer لا يقومون بعرض سطر. صحيح جزء الـ Front-end مسؤول عن كل مايتعلق بالواجهات الرسومية للمستخدم البشري ولكن لايحصر Front-end بهذا المجال فحسب.
فـ Font-end هو المترجم الوسط بين المصدر والمتلقي. في حالة كان المصدر هو مستخدم بشري يكون المتلقي هو الـ Back-end، فوظيفة Front-end هي ترجمة المدخلات من لغة يفهمها المصدر، الى لغة يفهمها المتلقي.
وفي حالة كان المصدر هو الـ Back-end والمتلقي هو مستخدم بشري فوظيفة Front-end ترجمة معطيات Back-end إلى لغة او طريقة عرض يفهمها المتلقي البشري. لذلك افضل مصطلح يعرف لـ Front-end هو Data representation (معيد شرح البيانات). او Data presentation layer (طبقة شرح البيانات).
هذا في مايخص المفاهيم، أما فيما يهم التعلّم. لغة البرمجة او إطار العمل أمور لاتهم، ولا يهم أيّهما تبداء كونك مبتدئ Front/Back-end أنصحك أن تتابع دورة Playlist في يوتيوب لشخص (يبني برنامج) وتطبّق معه خطوة خطوة وتحل المشاكل. يعني في نهاية الدورة تكون قد انهيت تصميم برمجية. أقصد التعلّم بالعمل.
بعد التطبيق ستتضح لك رؤيا عامة ومفاهيم وأسس مبنية على المنطق البرمجي من خلال هذا الفهم تستطيع التحوّل من لغة الى اخرى، تقنية او اطار عمل الى اخر.
بالتوفيق
شكرا اخي على تفسيرك انا ما قصدته هو اني لا اعشق المجال كالتصميم يعني الالوان , القياسات ..... فما اعشقه هو البرمجة يعني اكواد ك C ..... ليس ك CSS فما اردت طرح سؤال حوله اريد الدخول الى Backend مع العلم اني تعلمت HTML5 هل استطيع بدون تعلم cSS ? مع العلم اني قد اخترت PHP ?
نعم تستطيع، ونصيحتي لك كانت لا تتعلم كل تقنية على حده، تعلم كيف تنشئ منتج كامل من خلال دورة تتابع وتطبّق. بعد ذلك طور مهاراتك كلٍ على حِده.
اقصد (لا تتعلم HTML ثم تتعلم php ثم تتعلم قواعد البيانات مثل MySQL) خذ من كل بحر قطرة من خلال ان تعمل برمجية (تصنع برمجية) ستتعلم من خلالها استخدام كل شيء على حدة. وكيف تفعل ذلك؟
من خلال اتّباع دورات اشخاص قاموا بتصميم مشاريع كامله. من الامثلة على ذلك
وهذا ايضاً
وهذه
الى آخره
مرحبا" يا صاح ...
أصغي إلي أرجوك
أنت أنا قبل 7 اشهر
رحلة طويلة و ممتعه سأسردها عليك لعلك تستفيد من تجربتي ...
دعنا نشبه موقع الويب المتكامل كالسيارة تماما"
- لدينا الشكل الخارجي مكان الإطارات في السيارة و مكان المقود .. الخ) هذا تتكفل به HTML بشكل كامل
لكن هل HTML كافية ؟ لا عليك تعلم HTML 5 و التقنيات الثورية التي ادخلتها على عالم الويب من ملفات صوتيه و فيديو كانت تأكل من وقتك ساعات لإعدادها بواسطة الاداة "فلاش" حتى يوتيوب استغنى عن flash و انتهج الـ HTML 5 بسطرين يمكنك اضافة فيديو لمحتواك
تحدى نفسك !! هذا التحدي مقدم منك لك .. انت تتعلم HTML و HTML 5 في يوم واحد انا انجزت ذلك و كان ذلك ممتعا"
دعنا نعود لسيارتنا الفاتنه .. يجب انت تغري العميل لشراءها .. لا ؟ الالوان الزاهية .. المؤثرات .. لو مررت مؤشر الماوس على ايقونة اضافة موضوع في هذا الموقع سيحدث تأثير معين هذا يتم بواسطة CSS 3 - يمكنك تعلمها في يومين
لماذا لا نجلعها لامبرجيني و نجعلها تتحدث للمستخدم و تعطه اشعارات و مميزات عديدة ؟ java script الافضل في هذا المجال تعلم اساسياتها - لست بحاجة لاحترافها - ثم انتقل إلى مكتبة JQuery الجميلة تحتاج حوالي اسبوعين من العمل الجاد لفعل ذلك
هل علي أن أبدأ بالتصميم من الصفر كلما حاولت بناء مشروع جديد ؟ سيبدو الامر غبيا" لذا وجدت Bootstrap تويتر قامت ببناء اطار العمل بوت ستراب لتسهيل العمل على CSS اشكال جاهزة قابل للحفظ و التعديل توفر عليك وقتا" و جهدا"
أول مشروع لك لا تستخد فيه بوتستراب لكي تتمرن على CSS و عندما تجد نفسك خبرتها ابدأ باستخدام بوستراب
- سيارة بدون محرك هل تمزح ؟ بحاجة لمحرك لتتحرك سيارتنا و إلأ سيضحك منها المنافسون
لذلك علينا البداء بالجد كلما سبق هو عبارة عن front-end مهارات جميلة و ممتعه و لكن الجد و الابداع موجود كله في Back-end
محرك السيارة هو عبارة عن إحدى لغات البرمجة (PHP -python - C sharp .. etc )
بالاضافة للغة قواعد بيانات Sql على سبيل المثال
إذا" شهرين لتعلم front end و خمسة لتعلم Back end تراراااااااااام انت الآن full stack developer الشركات ستسابق للحصول على خدماتك
لا يا صديقي .. لقد كذبت على نفسي قبلك عندما اعتقدت اني انجزت كل شيء
بعد احتراف كل هذه المهارات علينا رؤيتها و تعلم استخدامها مع بعضها
متابعة كورسات بناء مشاريع Real world الانضمام لمجتمعاات اللغه التي احترفتها و عندها تكون Full stack developer اي تجمع بين الفرونت اند و الباك اند
مرغوب جدا" للشركات
تبني افكارك كمشاريع بدون اي مشكلة
ستعتقد نفسك عبقريا" (مبرمجا" :) )
رحلة ممتعه و طويلة صديقي ابدأ في هذه اللحظة و ادخل هذا العالم الرائع ..
بالتوفيق
صديقي , ال back-end و front-end
مترابطين مع بعضهما فكل واحد مكمل للاخر , فان كنت تريد العمل وحدك يُفضل تعلم الاثنتين , اما اذا كنت تنوي العمل في شركات او مع مجموعات يمكنك تعلم احداها لان اخرين سيقومون بالاخرى .
بشكل عام لتتعلم ال back-end لابد من اساسيات في html لعمليات التجربة ورؤية النتائج بتنسيق مُعين.
لغات الويب الخاصة بالback-end كثيرة وليست محصورة بلغة PHP , هذا الموقع مثلاً لا يحتوي سطر من لغة php
بعض لغات برمجة الويب (يمكنك البحث عن الكل) :
PHP
Ruby
Python
ASP
JAVA EE
لماذا لا تكون full-stack developer؟ هناك موقع اسمه FreeCodeCamp، يمكنك أن تتعلم منه الـ Front-End و الـ Back-End. مع بعض الكتب المجانية المتوفرة على الأنترنت و بعض المواقع الأخرى التي تقدم مشاكل برمجية لحلها و تحسين قدراتك، يمكنك بلوغ مستوى جيد جدا. يمكنك لاحقا التركيز على مجال معين.
ان كنت تريد أن تبني موقعا كاملا متكاملا بدون استأجار عامل آخر يجب أن تتعلم ال html و css و js وطبعا قواعد البيانات هذا لا مفر منه.. أما ان لم تكن هناك مشكلة بالاستعانة بآخرين يمكنك البدأ بالbackend لكن أعتقد أنك ستعود ستعود للفرونت اند، أغلب مبرمجي الباكاند كانو مبرمجي فرونت اند. وانت اسأل نفسك، الباك اند يأتي بعد مستوى الفرونت اند، أيعقل أن يسألك احدهم عن شيء يتعلق ب front end وانت لا تملك أدنى فكرة؟؟ ان كنت تريد أن تكون مبرمج موهوب يجب أن تلم بكل شيء، ومسافة قطع تطوير الويب تبدأ بخطوة واحدة وهي الhtml..
ابدأ كما نصح أهل الخبرة فهم أدرى.
هل يمكنني تعلم Back-end دون تعلم Front-end
في ما يتعلق بـ php .. لا أعلم
ولكن قمت ذات مرة بإنشاء موقع باستخدام Asp.Net - web forms من الصفر
الموقع كان مليئ بالوظائفية وكان ذا تصميم وألوان احترافية
من دون ان اعرف ما هو css
مهمة Back-end هي التعامل مع Front-end
لذلك لا بد من تعلم Front-end أولاً
فهل يمكنني تعلم Back-end دون تعلم Front-end مع العلم اني لا اميل الى Design و لا احبه و لو اردت في Back-end ما هي اللغات التي يجب دراستها لو ممكن اجوبة و شكرا (y)
يجب تعلم Front-end اولا حتى لو كان توجهك للـ back-end لكن يكفيك تعلم الأساسيات فقط مع بعض التطبيقات البسيطة
بالنسبة للغات التي يجب تعلمها كـ back-end هي كثيرة وليست مقتصرة فقط على php هناك روبي وبايثون و asp.net وتقنية node.js
نصيحتي الشخصية لك هي تعلم روبي في حال كنت تريد بناء مشاريع شخصية او نتفيذ افكار تنوي تطبيقها على الويب
لأنه يوجد إطار العمل الرائع روبي او ريلز والذي سيسهل عليك الكثير من الأمور البرمجية واختصار الكثير من الجهد والوقت اثناء العمل
وفي حال أردت دخول سوق العمل من خلال تطورير انظمة إدارة محتوى مثل وورد بريس جوملا ودروبال وغيرها والإستثمار في بيع القوالب والإضافات فتعلم php لأن اشهر انظمة ادارة المحتوى تتعامل مع لغة php
مقال قد يفيدك :
عليكم السلام ورحمة الله وبركاته
يمكنك الاستغناء عن التصميم واخذ تصاميم جاهزه وربطها مع اللغه اللتي تحبها وهناك مواقع تقدم تصاميم جاهزه مجانا او بفلوس .
فقط لو احببة افهم ماذا تعني الرموز او سجلها بورقه على جنب
لكن يفضل مثل ما قال بعض الاخوه ( عمل مشروع متكامل ) لكي تفهم البيئه وتفهم لماذا تستخدم ذي ولماذا تستخدم الاخرى .
نصيحه اخويه : لا تستعجل بالامور لكي لا تضيع وقتك , اعطي كل شيء حقه , خلص خمس مقاطع فيديو وارجع طبقها وحاول تولف فيها وارجع بعد طبقها حيث تكون متمكن منها وتفهم ماذا تعني لك , وبعدها انتقل للاخرى وهكذا
حتى لو اخذت مده اطول ,
التعليقات