عند تصميم منصة البرمجيات ، ما هي العناصر الرئيسية التي تشكل ناجحة للتوصيل العمارة ؟

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

سؤال

لقد كنت أعجب حقا من قبل عدد متزايد من منصات البرمجيات التي تسمح خارج المطورين تسهم التعليمات البرمجية من خلال للتوصيل العمارة (plugins/extensions).

لقد كنت أدرس التي منصات أفضل المساعد المجتمعات...

ممتازة المساعد أبنية مع مزدهرة المساعد المجتمعات:

ثم هناك منصات مع أقل نشاطا المساعد المجتمعات:

(أجل التركيز, دعونا نضع جانبا أو تجاهل الأنظمة التي تمكن كاملة تطبيقات البرمجيات مثل مايكروسوفت ويندوز, فون, و Facebook.)

ماذا ستقول يعطي منصة برمجيات ناجحة المساعد في الهندسة المعمارية مع الكثير من الإضافات ، مقابل منصة أخرى مع أصغر أو غير المطور المجتمع ؟

فقط بدأت الأمور, هنا قائمة جزئية:

  • منصة لا شيء على نطاق واسع المفيدة:دعونا الناس تصفح الويب, بيع و شراء الاشياء نشر مدونات لوحات الرسائل ، إلخ.
  • منصة مفتوحة المصدر (أو على الأقل شفرة المصدر متاحة بحرية).
  • جميع وظائف مهمة في المنصة بالكامل plugabble خلال السنانير والمرشحات.
  • كل أو معظم للتوصيل وظائف موثقة توثيقا جيدا (أو هناك ويكي بحيث يمكن للمطورين الوثيقة بالنسبة لك).
  • هناك منتدى أو قائمة البريد الإلكتروني حيث يمكن للمطورين حصة الإضافات و تبادل النصائح و الحيل
  • هناك منتدى أو قائمة البريد الإلكتروني حيث أقل تطورا يمكن للمستخدمين الحصول على المساعدة في تكوين وتركيب الإضافات.

أي نوع من الأشياء التي يمكن أن منصة المطور هل لإنشاء للتوصيل العمارة التي تشجع الكثير من خارج للمطورين لإنشاء الإضافات ؟

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

المحلول

شخصيا هناك 3 الرئيسية contributers إذا كنت تعلم أن (و) كتابة تطبيقات إلى أي نظام معين:

هو نظام مفيد جدا حتى ان كنت ترغب في استخدام يكفي أن تكون دوافع كافية لتمديد ؟

هو النظام باستخدام اللغة التي أنا على دراية أو سهلة التعلم بدلا من أن بعض غامضة أو الملكية أو معقدة بشكل مفرط الحل (انظر elisp)?

هو نظام البرنامج المساعد للغاية موثقة جيدا في لغة واضحة لدرجة أنني يمكن أن تذهب عن العمل من كتابة البرنامج المساعد لا قضاء ساعات (أو أيام) فك رموز النظام ؟

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

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

نصائح أخرى

كنت في عداد المفقودين نقطة.

JVM هو للتوصيل العمارة.كل ملف فئة المقابس في ذلك و يمتد ذلك.

أباتشي هو للتوصيل العمارة في عدة مستويات.وهناك "تعديل".بعض تعديل تشغيل أخرى المترجمين ، والتي هي في حد ذاتها للتوصيل أبنية.PHP, mod_wsgi/بيثون ، إلخ.كلها موصول أباتشي.

بيثون هو للتوصيل العمارة مع بيثون .بيك الملفات و ملفات الكائن (.DLL, .حتى) أن المكونات في ذلك.

كل لغة الإطار هو-في الواقع-وهو للتوصيل العمارة.

منصة هو الأساس

واحدة من منصة البرمجيات هو بمثابة الأساس الذي تقوم عليه برامج أخرى تعتمد من أجل أداء مهمة أخرى.وهذا قد التماس بسيط و واضح البيان, لكنه مهم.

أساسيات يجب أن يكون من السهل

منصة يجب أن يكون الغرض منصة المطورين يجب أن يكون على بينة من هذا عند تصميم واجهات برمجة التطبيقات بحيث يصبح من الواضح ما primarry استخدام الحالات و واجهات برمجة التطبيقات حولهم ينبغي straightford ممكن استخدام فيما يتعلق بالطريقة التي تم تصميمها ولكن أيضا فيما يتعلق doccumentation من حولهم.

تمديد نقاط ينبغي أن يكون واضحا

القابلية للتوسعة في platoform عن توفر للمطورين oppotunity تمديد أو تغيير المنصة.إذا كان هذا هو شيء كنت ترغب في تشجيع ثم عليك أن تجعل من الواضح جدا طبيعة وحدود هذا التمدد وتوفير مجموعة محددة جيدا من واجهات تسمح لهذا.

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

آسف إذا كان هذا طبقات قليلا "achitectural astronaught" أنا لا أعتقد أنني جعلت بعض النقاط الصحيحة ، فقد جعلها سيئة, لا تتردد في هذه النقطة أو إضافة لهم

لا تنسى الكسوف (مع >1000 مسجل 3rd الطرف "الإضافات" (في الواقع أنها مصنوعة من أصغر الإضافات في الكسوف المصطلحات)).جزء من النجاح قد يأتي من أن هناك قوانين جيدة من الإبهام على كيفية تصميم البرنامج المساعد الذي هو أيضا قابلة للتمديد من قبل الآخرين.هناك أيضا صارمة API الإصدار سياسة (والتي بالطبع لها سلبياتها أيضا).

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