تطبيق الويب الحالي Ruby on Rails على Heroku (PostgreSQL) ، المصادقة المبتكرة ، تحتاج إلى إضافة Rails API للجوال المدعوم

0

لدي تطبيق ويب RoR موجود يستخدم حاليًا Devise للمصادقة.

أخطط لإضافة وظيفة واجهة برمجة التطبيقات بطريقة أو بأخرى لخلفية الهاتف المحمول.

هل تنصح بإضافة وظيفة API إلى تطبيق الويب واستخدام JWT ، على سبيل المثال ، لتمكين مصادقة الجوال. بدلاً من ذلك ، هل سيكون لديك تطبيقان منفصلان ، تطبيق ويب وواجهة برمجة تطبيقات ، يشاركان نفس مثيل Postgres على Heroku؟

أرى إيجابيات وسلبيات في كلا الاتجاهين ، ولكن يبدو لي أن فصله إلى تطبيقين سيفوق إضافة وظيفة API إلى تطبيق الويب. ربما ، من المنطقي أن تبدأ من جديد باستخدام واجهة برمجة التطبيقات (API) فقط وإضافة وظيفة عميل تطبيق الهاتف المحمول وعميل تطبيق الويب.

1 إجابة

0

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

JWTs للمصادقة هي طريقة رائعة للقيام بذلك ويمكن لـ Devise دعمها عن طريق إضافة جوهرة مثل devise-jwt حيث إن إضافة مسار والتعامل مع إنشاء وتحديث الرموز المميزة بنفسك هو الكثير من العمل.

بالنسبة إلى واجهة برمجة التطبيقات نفسها ، قد ترغب في التفكير في استخدام JSON: API مع جوهرة jsonapi-rails أو GraphQL مع جوهرة graphql . بهذه الطريقة عندما يريد شخص ما استخدام واجهة برمجة التطبيقات الخاصة بك ، يمكنه استخدام محول لإطار العمل الخاص به يمكنه التحدث إلى هذا النوع من واجهات برمجة التطبيقات ولا داعي للقلق بشأن بنية ما يتم إرجاعه. هناك محولات لكل من واجهات برمجة التطبيقات التي تعمل مع Andrioid و IOS و Ember و React وجميع أطر الواجهة الأمامية الرئيسية الأخرى.

:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام