هناك طريقة أخرى لفهم الفرق بين الاثنين وهي فهم المعرفة المطلوبة من مطور برامج الواجهة الأمامية. تركز القائمة أدناه على تطوير الويب كمثال.
كلاهما
- أدوات التحكم في الإصدار مثل غيت هاب أو سورس فورج أو ميركوريال
- أدوات وبروتوكولات نقل الملفات مثل بروتوكول نقل الملفات أو rsync
تركز الواجهة الأمامية
- اللغات الترميزية ولغات الويب مثل لغة ترميز النص الفائق و أوراق الأنماط المتتالية و جافا سكريبت والمكتبات المساعدة شائعة الاستخدام في تلك اللغات مثل Sass أو جي كويري
- معالجة طلب غير متزامن و أجاكس
- تطبيقات ذات صفحة واحدة (مع أطارات عمل مثل React أو أنجولار جي إس أو Vue.js)
- أداءالويب (أول الطلاء ذي مغزى، وقت التفاعل، 60 حركة وتفاعلات FPS، استخدام الذاكرة، إلخ)
- استجابة تصميم الويب
- مشكلات توافق المستعرضات وطرق معالجتها
- اختبار شامل من خلال متصفح headless browser
- أنشئ نظامًا تلقائيًا لتحويل ملفات جافا سكريبت وحزمها، وتقليل حجم الصور ... باستخدام أدوات مثل Webpack أو Gulp.js
- محرك البحث الأمثل
- صعوبة الوصول
- الاستخدام الأساسي لأدوات تحرير الصور مثل برنامج جنو لمعالجة الصور أو أدوبي فوتوشوب
- واجهة البصرية
تركز الخلفية
- لغات البرمجة النصية مثل نود.جي إس أو بي إتش بي أو بايثون أو ياقوت أو بيرل أو Compiled languages مثل C أو جاوة أو Go
- أطر اختبار تلقائية للغة المستخدمة
- الوصول إلى بيانات التطبيق
- منطق تطبيق الأعمال
- إدارة قواعد البيانات
- قابلية التوسع
- توافر عالية
- المخاوف الأمنية والتوثيق والترخيص
- معمارية البرمجيات
- تحويل البيانات
- طرق النسخ الاحتياطي والبرمجيات
لاحظ أن كلتا المواضع، على الرغم من إمكانية العمل على منتج واحد، لديها مجموعة مميزة للغاية من المهارات.
المصدر: wikipedia.org