ما هي بعض الأشياء الشائعة التي يجب مراعاتها عند تطوير تطبيق قائم على الويب ليتم بيعه [مغلق]

StackOverflow https://stackoverflow.com/questions/189644

سؤال

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

سيتم بناء التطبيق على ASP.NET/C#/Linq/SQL Server.في هذه المرحلة، لست منفتحًا حقًا لدعم قواعد البيانات البديلة، لكنني أعتقد أنه يمكنني القيام بذلك في المستقبل عبر برامج تشغيل Linq مختلفة، إذا لزم الأمر.

جميع تطبيقات الويب التي قمت بإنشائها حتى الآن كانت عبارة عن تطبيقات مخصصة، لذا أود معرفة ما إذا كانت هناك أشياء أخرى أحتاج إلى معالجتها عبر المكونات الإضافية و/أو عناصر التكوين.فإن أي مدخلات تكون مفيدة.

شكرًا.

هل كانت مفيدة؟

المحلول

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

لديك عميل بالفعل، ومن المحتمل أن يقوم بتمويل الإصدار الأولي من التطبيق.أنت بحاجة إلى تقديم أكبر قدر ممكن مما يحتاجه هذا العميل بأسرع ما يمكن، وإلا فسيفشل قبل أن تفكر في السوق الشامل.

اصنع لنفسك معروفًا وتوقع أن هذا هو العميل الوحيد الذي سيستخدم التطبيق أو يشتريه على الإطلاق.صمم تطبيقك تمامًا كما كنت ستصمم أيًا من تطبيقاتك المخصصة الأخرى في الماضي.

كل ما عليك فعله لتوسيع نطاقه ليشمل عملاء آخرين لاحقًا هو الالتزام بميزات ووظائف مخزون asp.net قدر الإمكان، وإبقائه بسيطًا ومبسطًا قدر الإمكان، وقطع أكبر عدد ممكن من الميزات "المتقدمة" من الإصدار 1.x كما يمكنك الابتعاد.

1.x سيكون بمثابة أرض الاختبار الخاصة بك.تأكد من تقديم تطبيق يقوم بما يحتاجه عميلك الأولي للقيام به وأنه يقوم بذلك بشكل جيد للغاية.

إذا نجحت، وكان 1.x يلبي فعليًا معظم متطلبات عميلك الأولية، فستعرف أن لديك أيضًا تطبيقًا يلبي معظم احتياجات أي من عملائك.تهانينا، لقد قطعت بالفعل معظم الطريق نحو الحصول على تطبيق قابل للتطبيق في السوق التجارية!

الأشياء التي يجب الحذر منها:

  1. هل تحتاج حقًا إلى دعم منصات قواعد بيانات متعددة؟بالتأكيد، قد يكون لديك "بعض" العملاء الذين قد "يفضلون" MySql على SQL Server.سوف تميل إلى محاولة كتابة بعض DAL السحري الذي يمكنه دعم Oracle وMySQL وVistaDB وSQL Server وما إلى ذلك.فقط عن طريق تغيير بعض خيارات التكوين أو إجراء الاختيار الصحيح في برنامج التثبيت.لكن الحقيقة هي أن هذا النوع من حياد "المنصة" يضيف تعقيدًا هائلاً إلى تصميمك ويفرض قيودًا صارمة على الميزات التي تستفيد منها.أشياء مثل نمط تصميم الموفر قد تخدعك وتجعلك تعتقد أن هذا النوع من التصميم ليس بالأمر الصعب...لكن ستكون مخطئا.كن عمليًا وصمم طلبك بحيث يكون مقبولاً لدى 90% من السوق المحتملة.فيما يتعلق بالوصول إلى البيانات على وجه الخصوص، فمن الآمن عمومًا أن نقول إن 90% أو أكثر من السوق الراغبين في تثبيت وتشغيل تطبيق ASP.NET لديهم أيضًا القدرة والراغبين في استخدام SQLExpress أو SQL Server.في معظم الحالات، ستوفر الكثير من المال والوقت من خلال التصميم لخادم SQL فقط مما ستحققه من مبيعات إضافية من دعم قواعد بيانات متعددة.

  2. حاول تجنب جعل "كل شيء" قابلاً للتكوين عبر أدوات الإدارة عبر الإنترنت.على سبيل المثال، سوف تميل إلى أن يكون كل النص في التطبيق قابلاً للتكوين بواسطة أدوات الإدارة.وهذا أمر عظيم، ولكنه مكلف أيضا.يستغرق التطوير وقتًا أطول، ويتطلب منك زيادة نطاق التطبيق الخاص بك ليشمل مجموعة كاملة من الأدوات الإدارية التي لم تكن لتحتاج إليها لولا ذلك، كما أن ذلك يجعل التطبيق أكثر تعقيدًا وصعوبة في الاستخدام بالنسبة لـ 90% من عملائك التي لا تمانع في النص الافتراضي.

  3. النظر بعناية في الترجمة.إذا كنت لا تعتقد أنه سيكون لديك سوق دولية كبيرة، فالتزم بلغة واحدة.الترجمة ليست صعبة للغاية، ولكنها تعقد كل جانب من جوانب التعليمات البرمجية الخاصة بك قليلاً ...وهذا يضيف الكثير في أي تطبيق بأي حجم على الإطلاق.قاعدتي الأساسية هي استهداف لغة السوق الأولية فقط.إذا كان التطبيق مهتمًا بأسواق أخرى، فسأعود وأقوم بالترجمة إلى الإصدار 2.x بعد أن أسترد بعض النقود من الإصدار 1.0 وأثبت أن التطبيق يتمتع بسوق قابلة للحياة في المقام الأول.ولكن إذا كنت تعلم أنك ستتحدث بأكثر من لغة أو ثقافة واحدة، فادعم الترجمة منذ البداية.

  4. بالنسبة للإصدار 1.0، لا تقلق كثيرًا بشأن الوحدات النمطية المنسدلة أو واجهات برمجة تطبيقات الخدمة الفاخرة.إذا كان لديك بالفعل الكثير من الخبرة في الأطر القابلة لإعادة الاستخدام، فستكون قادرًا على الحصول على هذه الأشياء في الإصدار 1.0، ولكن إذا كنت تفتقر إلى الخبرة في هذا النوع من البنى، فسوف تضيع الكثير من الوقت في هذه الميزات في الإصدار 1.x، ولن تتمكن من ذلك. من المحتمل أن يخطئوا ويتعين عليهم إعادة التصميم في الإصدار 2.x على أي حال.

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

نصائح أخرى

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

يجب أن يكون

وأي شيء محدد العميل تكوين من خلال البيانات الفوقية. كيف يمكنك أن تفعل هذا هو تماما متروك لكم، ولكن الطرق الرئيسية هي من خلال XML، قاعدة البيانات أو خصائص الملفات.

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

وأعطى Abarax إجابة كبيرة، ويهمني التأكيد على أن عليك أن تنظر التعريب - على حد سواء للغات المحكية لغة المنظمة (الإنجليزية، الفرنسية، الألمانية، الخ) وعلى سبيل المثال بعض الأماكن قد نسميها الجدول الزمني، المفكرة أو ترتيب العمل، ولكل واحد وأنين وأنين وأنين إذا كان كل شيء لا يتطابق مع ما قد يسمى دائما شيء.

إذا كنت تستخدم تكنولوجيات مفتوحة المصدر، وقضاء بعض الوقت الحفاظ على جميع المعلومات الترخيص في مكان واحد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top