سؤال

لدي أداة ترحيل قاعدة بيانات Java مفتوحة المصدر (http://www.liquibase.org) التي أفكر في النقل إلى .NET.

غالبية الأداة (على الأقل من جانب التعقيد) موجودة حول منطق مثل "إذا كنت تضيف مفتاحًا أساسيًا وكانت قاعدة البيانات هي Oracle استخدام SQL. قاعدة البيانات هي postgres استخدام هذا SQL ".

يمكنني أن أتخلى عن قاعدة كود java وتثبيتها (يدويًا و/أو تلقائيًا) ، ولكن مع التحديثات وإصلاحات الأخطاء إلى المنطق أعلاه ، لا أريد أن أضطر إلى تطبيقه على كلا الإصدارين. ما أود القيام به هو نقل كل هذا المنطق إلى نموذج يمكن تجميعه واستخدامه بواسطة كل من إصدارات Java و .NET بسذاجة.

لا يحتوي الرمز الذي أتطلع إلى تحويله على أي استخدام متقدم للمكتبة (JDBC ، System.out ، إلخ) من شأنه أن يختلف بشكل كبير من Java إلى .NET ، لذلك لا أعتقد أن هذه ستكون مشكلة (في أسوأ الأحوال يمكن أن تكون مصمم حول).

إذن ما أبحث عنه هو:

  • اللغة التي يمكنني فيها ترميز الأجزاء المشتركة من تطبيقي وتجميعها في فصول قابلة للاستخدام من خلال اللغات "القياسية" على النظام الأساسي المستهدف
  • لا يضيف أي متطلبات وقت التشغيل إلى النظام
  • لا شئ لذا من الغريب أنه يخيف المساهمين المحتملين

أعرف أن Python و Ruby على حد سواء لديهم تطبيقات على JVM و CLR. إلى أي مدى تناسب متطلباتي؟ هل كان أي شخص ناجحًا (أو غير ناجح) باستخدام هذه التقنية لتطبيقات المنصات المتقاطعة؟ هل هناك أي مسكات أحتاج للقلق؟

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

المحلول

تفحص ال لغة برمجة Fantom. إنه يحتوي على بناء جملة مثل Java/C#-ولكن يمكن أن يستهدف إما Java VM أو .NET CLR.

هُم "لماذا فانتوم" تقدم الصفحة نظرة عامة عالية المستوى على مقاربتها في قابلية النقل مقابل اللغات الديناميكية التي تعمل على VM.

نصائح أخرى

قد يكون لديك بعض الحظ باستخدام ikvm.net. لست متأكدًا من حالته الدقيقة ، لكن الأمر يستحق المحاولة إذا كنت مصرة على تشغيل رمز Java على .NET Framework. ويشمل تنفيذ .NET لمكتبة فئة Java Base ، لذلك يبدو أنها كاملة بشكل معقول.

الخيار الآخر الوحيد الذي قد أقترحه هو نقل الكود إلى J# اللغة ، لغة .NET كاملة (على الرغم من أنها ليست من الدرجة الأولى ، بمعنى أن C# أو VB.NET). تم تصميم اللغة بحيث كانت الاختلافات مع جافا ضئيلة.

إذا كنت تفكر في نهج emdedded ، فقد تنظر إلى لوا.

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