ما هو Technology Stack؟ - دليل كامل
نشرت: 2021-02-22بكلمات بسيطة ، تسمى مجموعة التكنولوجيا مجموعة الحلول ؛ البنية التحتية للتكنولوجيا هي قائمة بجميع خدمات التكنولوجيا المستخدمة لبناء وتشغيل تطبيق واحد. على سبيل المثال ، عند إنشاء تطبيق Facebook ، تم استخدام مجموعة من أطر عمل الترميز واللغات ، بما في ذلك JavaScript و HTML و CSS و PHP و ReactJS.
يتحدث المطورون عن مكدسات التكنولوجيا لأنها تسهل مشاركة الكثير من المعلومات حول كيفية تطوير التطبيق. غالبًا ما يتم تطبيق المفهوم على خدمات التسويق (Martech stacks) أو المبيعات (أكوام المبيعات) ولكنه نشأ في ثقافة تطوير البرمجيات. ستلخص مجموعة التقنيات بسرعة لغات البرمجة. نظرًا لأن لغات البرمجة لها ميزات وقيود بارزة ، فإن مجموعة التكنولوجيا تؤثر على نقاط القوة والضعف في التطبيق الكلي.
كيفية بناء Tech Stack الخاصة بك
يقرر فريق البرنامج في الغالب التقنية التي يريدون استخدامها ويبني على لغة ترميز أساسية ، مضيفًا أدوات وخدمات إضافية. تسمى حزمة الخدمات الناتجة "المكدس" لأن كل خدمة إضافية تعتمد على تلك الموجودة أسفلها ، مما يسمح للمطورين بتخصيص التطبيق. يتم تقسيم جميع مكدسات التقنية بين النهاية الخلفية والواجهة الأمامية ، والمعروفة باسم جانب الخادم وجانب العميل.
ستكون الشاشة والغلاف ولوحة المفاتيح هي الواجهة الأمامية ، مما يمكّن المستخدم من التواصل مع الكمبيوتر المحمول. عندما يشتمل تطبيق لوظيفة ما على مهندس يتمتع بخبرة خلفية وخلفية أمامية وخبرة كاملة ، فإنه يشير إلى جزء المكدس التكنولوجي الذي يفضل أن يتخصص فيه مقدم الطلب. تتطلب تطبيقات الويب ولغات البرمجة والخوادم وأنظمة التشغيل تقنيات الخلفية.
يُعرف اختصار LAMP ، وهو اختصار لنظام التشغيل Linux ، وخادم Apache HTTP ، ونظام إدارة قواعد البيانات العلائقية MySQL ، و PHP ، باسم مكدس تقنيات تطوير الويب الشهير.
الواجهة المرئية ، مثل مواقع الويب والألعاب ، هي تقنية الواجهة الأمامية. هذه هي العناصر المرئية التي يتم التعرف على معظم التطبيقات من أجلها وتزود المستخدمين بالموارد التي يحتاجون إليها لإنجاز المهام. عادةً ما تكون لغات الواجهة الأمامية أكثر سطحية من لغات النهاية الخلفية.
تم تصميم غالبية واجهات تطبيقات الويب باستخدام لغة برمجة JavaScript وأطر عمل AngularJS و Backbone.js و ReactJS. بالنسبة لتطبيقات الهواتف الذكية ، تشتمل تقنيات الواجهة الأمامية على Objective-C / SWIFT لنظام التشغيل iOS و Java لتطبيقات Android.
الترتيب الذي يتم بناء المكدس به مهم ، مثل كثيرًا أساس المبنى. كل طبقة جديدة مبنية على الأخيرة ، وليس من السهل اقتلاع الطبقات المدفونة.
فيما يلي بعض النصائح الأساسية لبناء مجموعات التكنولوجيا:
خطة للمستقبل
يمكن أن يكون التخطيط لمكدس تقني للمستقبل سيفًا ذا حدين. إذا لم يفكر المطورون في كيفية توسيع نطاق تطبيقاتهم ، فقد يضيفون خدمات إضافية تجعل من الصعب إدارتها. يجب أن ينجذب المطورون دائمًا نحو المزيد من التقنيات واللغات ، والتي غالبًا ما تكون أكثر موثوقية.
اعتمد على مجتمع المصادر المفتوحة
يعمل المطورون في جميع أنحاء العالم على إنشاء موارد مفتوحة المصدر مجانية للاستخدام ومتاحة لأي شخص لديه اتصال بالإنترنت. النطاق والفائدة التي يوفرها لمجتمع المصدر المفتوح مذهلين. من خلال الاعتماد ، جزئيًا على الأقل ، على البرامج مفتوحة المصدر ، فإن الفرق الهندسية التي تفكر في تطوير مجموعة تقنية سيكون لديها وقت أسهل.
ضع في اعتبارك الغرض من التطبيق
يميل المطورون إلى اختيار اللغات التي يعرفونها بالفعل ، ولكن من المفيد التراجع والسماح للغرض من التطبيق بتحديد التقنية اللازمة لإنشاء مجموعة التكنولوجيا المناسبة.
استخدم التحليلات
لا يمكن للمطورين إدارة مكدس التكنولوجيا ما لم يعرفوا ما يحدث ، ولهذا السبب يستخدم الكثيرون تحليلات المنتج.
تم تصميم الأنظمة الأساسية للتحليلات لربط مصادر البيانات عبر المكدس معًا وتوفير مراقبة دقيقة للمستخدم. يتيح ذلك للمطورين تحديد المشكلات التي يواجهها المستخدمون داخل تطبيقاتهم لتصحيح الأخطاء وإصلاحها.
ضع في اعتبارك الصيانة
قبل بنائه ، يمكن للفرق تسعير التقنيات المطلوبة لدعم مجموعة التكنولوجيا الخاصة بهم. ينجذب المطورون أيضًا إلى اللغات المبتكرة التي يمكنها تحسين واستئناف خبراتهم. على الرغم من أن لغات البرمجة المعمول بها قد توفر الموثوقية ، إلا أنها قد تجعل من الصعب توظيف أفضل المواهب. في بعض الأحيان ، قد تكلف الابتكارات الأرخص تكلفة أكبر لجذب أفضل المواهب.
لماذا تعتبر مجموعة التكنولوجيا مهمة؟
تتمثل أعظم قوة في مجموعة التكنولوجيا في قدرتها على المحادثة ، كما هو موصوف. أي أن أهمية مجموعة التكنولوجيا تكمن في قدرتها على نقل الكثير من المعلومات بإيجاز. لا تحدد هذه البيانات طول عمر تقديمك فحسب ، بل تحدد أداء عملك ككل. مكدس MEAN ، على سبيل المثال ، يعتمد بالكامل تقريبًا على JavaScript كلغة برمجتها. في عدة أقسام من تقنية بناء التطبيقات ، يزيل اعتماد MEAN الصارم على JavaScript طبقة من التعقيد.
على سبيل المثال ، يجب أن يكون من السهل نسبيًا تعيين مطورين يعرفون JavaScript ، لأن JavaScript لغة معروفة جيدًا ، ويحتاج المطورون فقط إلى التعرف عليها. تحتوي JavaScript أيضًا على العديد من المكتبات والهياكل التي ، عندما يحين الوقت ، تعد بالمرونة في توسيع نطاق عملك.
كل كومة ، من ناحية أخرى ، تأتي مع عيوبها. يتدفق العديد من الأفراد على JavaScript بالكامل بسبب نجاحها. لبناء المجموعة التقنية المثلى ، يجب على فريق محترف من مطوري البرامج وضع كل هذه العوامل في الاعتبار.
أشياء يجب مراعاتها أثناء اختيار Tech Stack
متطلبات المشروع ومميزاته
عند تكوين كومة تقنية ، من الضروري مراعاة حجم المشروع والغرض منه لأنها تؤثر بشكل كبير على خيارات تقنيات معينة. كلما كان المشروع أكبر وأكثر أهمية ، كلما كان حجم المكدس التقني أكبر وأكثر تعقيدًا ، مثل المجموعات الراسخة مثل Python-Django أو Node للمشاريع الصغيرة (تطبيقات MVP أو تطبيقات الصفحة الواحدة). يمكن أن تكون Js-React مثالية.
عادةً ما تحتاج المشاريع متوسطة الحجم مثل تجار التجزئة عبر الإنترنت أو الهواتف الذكية في السوق المتوسطة إلى حزم تقنية أكثر تعقيدًا من عدة مستويات من لغات البرمجة وأطر العمل. للحفاظ على سلامة التطبيق وأدائه ، تتطلب المشاريع الكبيرة ، مثل الأسواق المعقدة أو تطبيقات المؤسسات ، مجموعة تقنية كبيرة.
الموارد والخبرة
لتحديد مجموعة تقنية ، من الضروري أن تكون لديك خبرة ومعرفة فنية ومعمارية عميقة. لاختيار التقنيات بكفاءة ، من الضروري معرفة كل المداخل والمخارج والاختلافات بينهما. لذلك ، عند تكوين تلك الأكوام ، يجدر إعطاء الأفضلية لتلك التقنيات حتى تتمكن من العمل بثقة.
يمكن أن يؤدي اختيار مثل هذه التقنيات إلى ضياع الوقت لمطوري المشروع لاكتساب نظرة ثاقبة على التكنولوجيا الجديدة بدلاً من المضي قدمًا بشكل فعال.
قابلية التوسع
يجب أن تكون بنية التطبيق الخاص بك قابلة للتطوير ، لأن قابلية التوسع ضرورية لمزيد من التطوير. تحدد قابلية التوسع ما إذا كان التطبيق الخاص بك يمكنه إدارة الحمل.
على سبيل المثال ، يجب أن تسمح مجموعة التكنولوجيا الخاصة بك للتطبيق بالتعامل مع هذا النمو إذا زاد عدد المستخدمين.
يوجد نوعان من قابلية التوسع: أفقي وعمودي. الأول يعني القدرة على العمل والتعامل مع عدد متزايد من المستخدمين على أجهزة مختلفة. تعني قابلية التوسع الرأسي القدرة على إضافة بعض الميزات أو العناصر الجديدة إلى التطبيق في المستقبل.
من الأفضل استخدام لغات برمجة قوية مثل JavaScript لتحقيق قابلية توسع جيدة.
قابلية الصيانة
قابلية الصيانة هي العامل الأساسي والعامل الرئيسي عند إنشاء التطبيقات. حتى عندما تقوم بالتوسيع ، يجب أن تتم صيانة التطبيق المطور دون بذل جهود إضافية. بشكل ملحوظ ، يعتمد متغيرين على قابلية صيانة التطبيق:
- الهندسة المعمارية: لدعم قابلية إعادة الاستخدام ، لتكون قابلة للتطوير ومتحركة.
- قاعدة الشفرة : يجب ألا تكون قاعدة الشفرة طويلة جدًا أو موجزة جدًا ؛ ستستغرق معالجة رمز طويل وقتًا أطول ، وقد يؤدي أيضًا رمز قصير أثناء تصحيح الأخطاء إلى حدوث أخطاء.
حماية
يرغب أي مستخدم نهائي في التأكد من أن بياناته آمنة. لذلك ، عند تكوين مكدسات تقنية ، من الضروري اختيار التقنيات التي توفر مستوى أمانًا عاليًا. تحدث المشكلة بشكل خاص عندما يتعلق الأمر بالمدفوعات عبر الإنترنت.
سرعة التطوير
تعد سرعة تطوير المشروع من أهم العوامل. إذا تم تطوير المشروع بسرعة ، فسيكون الخيار الأفضل هو اختيار الحلول الجاهزة للأكوام التقنية التي توفر تكاملاً سهلاً. من خلال عمليات تكامل الجهات الخارجية ، تعمل مجموعات التكنولوجيا هذه على تقليل وقت التطوير الإجمالي.
الأكوام التقنية وراء التطبيقات الشعبية
كمثال على مجموعة تقنية رائعة ، دعنا نلقي نظرة على العديد من المشاريع البارزة.
سبوتيفي
الخادم: Nginx
قواعد البيانات: Cassandra، PostgreSQL
إطار من جانب الخادم: Django
لغات البرمجة: جافا ، بايثون
Airbnb
الخادم: Nginx
قواعد البيانات: MySQL و Amazon و Redis و Hadoop
إطار العمل من جانب الخادم: القضبان
لغات البرمجة: JavaScript، Ruby
بينتيريست
الخادم: Nginx
قواعد البيانات: MySQL و Redis و Hadoop و HBase
إطار عمل من جانب الخادم: Django ، JavaScript MVC
لغات البرمجة: Java ، Python ، GO.
Shopify
الخادم: Nginx
قواعد البيانات: MySQL و Redis و Hadoop و
إطار العمل من جانب الخادم: القضبان
لغات البرمجة: Ruby، GO
افكار اخيرة
بالنسبة لأي مشروع ناجح ، يعد اختيار الكومة التقنية المناسبة أمرًا ضروريًا للغاية. قبل الشروع في اختيار التقنيات ، من الضروري تحليل المشروع بعناية والنظر في نوع المشروع ومتطلباته وتجربة فريقك وموارده وأشياء مثل قابلية التوسع والسرعة والأمان.
على الرغم من وجود حلول جاهزة ، لا يمكنهم دائمًا تطوير مشروع بكل المتطلبات. لذلك ، عند تكوين مكدس تكنولوجي ، غالبًا ما يتم إعطاء الأفضلية للنهج الفردي.
مصادر أخرى مفيدة:
شرح حزمة تكنولوجيا التسويق
أفضل 30 أداة لمكدس تكنولوجيا التسويق الخاص بك
فوائد حزم السحابة المتكاملة
تكنولوجيا جانب البيع في الغد: حلول التداول عبر الأصول للمكتب الأمامي