تخطَّ إلى المحتوى

تطوير برمجيات مخصّصة

تطوير برمجيات مخصّصة بـ Laravel

أكثر تطبيق الأعمال بنية تحتية لا يريد أحد الدفع مقابلها. ما يقدّمه Laravel قياسيًا، وإلى أين تنتمي الميزانية، ومتى يفوز المنتج الجاهز.

تطبيق الأعمال في معظمه ليس عن الأعمال.

عُدّ الكود في أي نظام من هذا النوع، فالجزء الذي يحمل كيف تعمل شركتكم فعلًا أقلية منه. والباقي هو الجهاز الذي يحتاجه كل تطبيق كهذا قبل أن يستطيع فعل أي شيء مفيد - وهذا التمييز أنفع ما يمكن فهمه قبل طلب واحد، لأنه موضع كسب الميزانيات وخسارتها.

العشرون بالمئة التي هي لكم فعلًا

الجزء القيّم في بناء خاصّ هو ما لم يكن منتج ليقدّمه لكم أبدًا: قواعد أسعاركم، وسلسلة موافقاتكم، وطريق عمل من عرض سعر إلى مجدول إلى مفوتَر، والاستثناء الذي ينطبق على عميل واحد لأسباب تعود إلى عقد.

هنا ينبغي أن يذهب التفكير، وفي مشروع سيئ الإدارة هنا ينتهي التفكير، لأن الميزانية استُهلكت في تشغيل البنية التحتية.

فالسؤال الذي يستحق أن يُطرَح على مورّد ليس أي إطار يستخدم. بل ما نسبة التقدير التي تُصرَف على أشياء متطابقة في كل تطبيق بناه في حياته.

ما يحتاجه تطبيق أعمال على Laravel قبل أن يفعل شيئًا مفيدًا

القائمة أطول مما يتوقّع أكثر الناس ولا شيء منها قابل للتفاوض.

يجب أن يسجّل أحد الدخول، ويجب أن يستطيع أحد إعادة ضبط كلمة مرور دون مطوّر. ويجب أن يرى أشخاص مختلفون أشياء مختلفة، مفروضًا في موضع أفضل من بند قائمة مخفي - الصلاحية ليست المصادقة، والفرق يظهر أول مرة يصل تصديرٌ إلى سجلات لم يكن لمشغّله أن يراها.

ويجب أن يحدث عمل خارج طلب الويب. توليد مستند، إرسال بريد، استيراد ليلي، إعادة حساب رقم. وهذا يعني طابورًا، ويعني إعادة محاولة، ويعني مهامًّا آمنة للتشغيل مرتين - والطابور المبني على عجل هو كيف يستلم عميل الفاتورة نفسها ثلاث مرات.

ويحتاج المخطّط تاريخًا لا حالةً راهنة، حتى تُراجَع التغييرة وتُطبَّق على بيئة أخرى. ويجب قبول ملفات من أشخاص خارج المنظّمة دون أن يصير ذلك حادثة أمنية. ويجب أن توجد اختبارات على المسارات التي يتغيّر فيها المال والحالة، وإلا لن يجرؤ أحد على لمس النظام في السنة الثانية.

وLaravel يقدّم كل ذلك قياسيًا، بجودة لا تبلغها أكثر الفرق لو بنتها، والأهم أنه يقدّمه بشكل يعرفه المطوّر التالي. أما إطار خاص اختُرع قبل أربع سنوات على يد شخص رحل منذئذ فهو أغلى أنواع البرمجيات المخصّصة وجودًا.

التكاملات عادةً هي النطاق الحقيقي

الجزء الذي يتجاوز الخطة في هذه المشاريع لا يكون الشاشات تقريبًا أبدًا.

بل أن التطبيق يجب أن يتوافق مع نظام محاسبة ونظام ERP ومزوّد دفع وشركة شحن ونظام CRM وجدول بيانات، ولم يُصمَّم أي منها ليتوافق مع شيء. وهندسة التحدّث إليها مباشرة. أما القرارات فلا.

أي نظام يملك اسم العميل، وما يحدث إذا تغيّر في الجهة الأخرى. ومن يسند رقم الفاتورة. وما يفعله إشعار الدائن في الجهتين. وكيف يُطبَّق سداد جزئي. وما يحدث عندما يتعطّل نظام وقد سجّل الآخر العملية.

تلك قرارات تجارية بمظهر تقني، وتُحسَم مع فريقي المالية والتشغيل عندكم لا بتقدير منّا. والعمل من هذا النوع موضَّح في هندسة التكاملات؛ وفي بناء خاص يكون كثيرًا نصف المشروع، والخطة التي تعدّه بندًا في النهاية خطة تتأخّر.

كيف يسير عمل مخصّص على Laravel

على مراحل، تنتهي كل واحدة بشيء منشور يستطيع الناس استخدامه فعلًا.

المرحلة الأولى تأخذ مسارًا واحدًا من أوله إلى آخره - لا مخطّط خمسة - لأن ذلك ما يُلزم المخطّط بملاقاة بيانات حقيقية. وهو أيضًا ما ينتج تقديرًا للباقي له قيمة، وهو ما لا ينتجه رقم يُقال في الأسبوع الأول.

وكل مرحلة تُحدَّد كتابةً قبل بدئها. وحيث يوجد لديكم مطوّرون يكونون في طلبات الدمج من الأسبوع الأول؛ هكذا تنتقل الأعراف، وهي الصورة الوحيدة التي يبقى فيها النظام قابلًا للصيانة بعد توقّفنا عن العمل عليه.

وترحيل البيانات القائمة يسير بالتوازي لا في النهاية. يُطابَق النظام الجديد مقابل القديم، سجلًّا بسجلّ، حتى يتوافقا - والاختلافات نتائج لا أخطاء، وهي دائمًا أكثر مما توقّع أحد.

ما تحصلون عليه من بناء مخصّص بـ Laravel

في ختام كل مرحلة، تطبيق يعمل على بنية تحتية تسيطرون عليها.

ومعه: المستودع وتاريخه الكامل، ببناء ونشر لا يعتمدان علينا. وترحيلات لا نسخة احتياطية من قاعدة البيانات. ووصف مكتوب لنموذج البيانات ولكل قيد ولما يمنعه - لأن قيدًا لا يستطيع أحد تفسيره قيدٌ سيحذفه مطوّر قادم. واختبارات على المسارات التي تحرّك المال أو تغيّر الحالة. وقرارات التكامل مسجّلة، ومنها التي اختلفنا عليها، لأنها ما يحتاجه مطوّر جديد وما تُسقطه وثيقة التسليم دائمًا.

أين يغلب الشراء البناء

هذا الجواب يكون أحيانًا لا، وسماعه الآن أرخص.

إن كان منتج يغطّي الأكثر وكانت الفجوة ذوقًا لا عملية، فاشتروا المنتج وهيّئوه. المقارنة الصادقة خمس سنوات مقابل خمس سنوات لا سنة أولى مقابل سنة أولى، وعلى المدى الأطول تغلب التهيئة أكثر مما يتوقّع الناس.

وإن كانت العملية لا تزال تُخترع، فالبناء سيصبّ في الخرسانة قرارًا لم يتخذه أحد. أبقوها يدوية حتى يثبت الشكل.

وإن كان الحجم صغيرًا إلى حدّ تكلّف فيه الصورة اليدوية ساعةً في الأسبوع، فالأتمتة هواية لا استثمار.

وإن لم يصر أحد في الشركة أفضل حالًا عند نجاحه - لا شخص بعينه يسهل عمله - فسيُترك مهما كان جيدًا. وهذا أكثر فشل رأيناه، وهو ليس تقنيًا أبدًا.

النطاق والشروط

نموذج التعاقد
نطاق محدّد يُتفق عليه كتابةً قبل بدء العمل. وليس أجرًا يوميًا مقابل قائمة مفتوحة.
السعر والمدة
يُحدَّدان لكل مشروع بعد تحديد النطاق، ويُعرضان معًا قبل بناء أي شيء.
ما نحتاجه منك
شخص واحد يملك اعتماد القرارات، ووصول إلى مستودعك ونظام تتبّع المهام لديك.
غير مشمول
كل ما يقع خارج النطاق المتفق عليه. فيصير نطاقًا مستقلًا لا أمر تغيير.
تكاليف الأطراف الثالثة
الاستضافة والتراخيص ورسوم الواجهات البرمجية واشتراكات الخدمات السحابية تتعاقد عليها وتدفعها أنت.
الفوترة
⁦Codefacture Yazılım A.Ş.⁩، تركيا. باليورو أو الدولار أو الجنيه الإسترليني عبر حوالة بنكية، دون ضريبة قيمة مضافة تركية على الخدمات المصدَّرة.

أسئلة متكررة

كيف نعرف إن كنا نحتاج بناءً خاصًّا أصلًا؟
عُدّوا الحلول الملتوية. الشركة التي لديها جدولا بيانات وبريد مشترك يُستخدم كطابور وشخص واحد يعرف أي رقم صحيح تدفع ثمن برمجية بالفعل - في الرواتب - ولا تحصل على أي من الضمانات. هذه حالة بناء. أما الشركة التي شكواها أن منتجًا مزعج الاستخدام لكنه يؤدي العمل فليست كذلك: مقايضة الإزعاج بالتزام صيانة مقايضة سيئة، وهي الصورة التي يندم عليها الناس.
لماذا يهمّ Laravel إن كان المقصود منطق عملنا نفسه؟
لأن منطق العمل أقلية الكود. الجلسات والصلاحيات والعمل في الخلفية مع إعادة المحاولة والجدولة والترحيلات والبريد ومعالجة الملفات وهيكل اختبار - كل تطبيق من هذا النوع يحتاجها جميعًا، ولا شيء منها يميّزكم، وكلها يمكن أن تُخطئ بطرق تكلّف مالًا حقيقيًا. أخذها قياسيًا هو كيف تصل الميزانية إلى الجزء الذي يخصّكم. ومن يصون النظام بعد أربع سنوات سيعرف شكله، وهذا ما لا يقدّمه إطار مُصنَّع في البيت أبدًا.
ما الذي يتبيّن دائمًا أنه أكبر من المتوقّع؟
التكاملات وحالة البيانات القائمة، بهذا الترتيب. دفع فاتورة إلى نظام محاسبة أسبوعان؛ أما الاتفاق على أي نظام يملك اسم العميل وما يفعله إشعار الدائن وكيف يُطبَّق سداد جزئي فهو بقية المشروع. والبيانات التي ستُهاجر أسوأ مما يظن أي أحد - مكرّرات، وحقل تاريخ يحمل أربع صيغ، وعمود حالة بقيم لا يستطيع أحد تفسيرها. نحن نطابق مقابل النظام القديم بدل التحويل دفعةً واحدة، وهذا أبطأ وهو الطريقة الوحيدة التي تبقي الشركة واثقة بأرقامها.
كيف يُحسَب السعر؟
لكل مرحلة، تُثبَّت كتابةً قبل بدء كل مرحلة، ولا تكون أبدًا أجرًا يوميًا مفتوحًا. المرحلة الأولى صغيرة بقصد وتنتهي بشيء يعمل. ورقم إجمالي يُقال قبل أن يرى أحد بياناتكم ليس تقديرًا، ومعاملته كتقدير هو كيف تنتهي المشاريع بسعر ثابت ونطاق يتقلّص في صمت.
ماذا نملك في النهاية؟
كل شيء. المستودع بتاريخه، ونشر يعمل بدوننا، والمخطّط ترحيلاتٍ، والمنطق مكتوبًا كما تُقرَّر. لا ترخيص، ولا مكوّن مستضاف تستأجرونه منّا، ولا جزء من النظام نستطيع نحن وحدنا تغييره. فإن لم يكن هذا صحيحًا في عرض تقرؤونه، فالسؤال عن السبب يستحق.
اتصل بنا+1 848 272 7583واتساب+90 850 308 5436البريدinfo@codefacture.comصفحة التواصل