استخدام لغة Kotlin في نطاق JavaScript

من موسوعة حسوب
< Kotlin
مراجعة 03:55، 3 مارس 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (تعديل الروابط وتصحيح بعض الجمل)
اذهب إلى التنقل اذهب إلى البحث

تتيح لغة Kotlin إمكانيّة استهداف لغة JavaScript من خلال تحويل (transpiling) شيفرات Kotlin إلى ما يماثلها في JavaScript ؛ إذ تستهدف بالوقت الحاليّ مواصفة ECMAScript 5.1، ومن المُخطَّط له أيضًا التوافق مع مواصفة ECMAScript 2015 لاحقًا.

لدى اختيارك لاستخدام لغة Kotlin بهدف كتابة شيفرات JavaScript فإنّ أي شيفرة بلغة Kotlin (كونها جزءًا من المشروع ومن المكتبة القياسيّة المرتبطة بلغة Kotlin) ستُحوَّل إلى شيفرة JavaScript، ولكنّ هذا لا يشمل أيًّا ممّا يتعلَّق ببيئة JDK أو JVM أو Java أو أيّ من منصّاتها أو مكتباتها المُستخدَمة، ويُستبعَد أثناء عملية الترجمة (compilation) أيُّ ملفٍ غير متعلِّقٍ بلغة Kotlin.

ويحاول مترجم Kotlin ‏(Kotlin compiler) تحقيق الأهداف الآتية:

  • أن يكون الخرج بحجم تخزينٍ مثاليّ
  • أن يصبح الخرج مقروءًا بلغة JavaScript
  • تحقيق توافقية التبديل (interoperability) مع الأنظمة الوحدويّة (module systems) الموجودة
  • تحقيق نفس الفعاليّة في المكتبة القياسيّة سواءً أكان الهدف JavaScript أو JVM (لأقصى درجة ممكنة)

كيف يمكن القيام بذلك؟

يمكنك ترجمة شيفرة Kotlin إلى شيفرة JavaScript بإحدى الطرائق الآتية:

  • إنشاء شيفرة Kotlin تستهدف JavaScript من طرف العميل client:
    • التعامل مع عناصر DOM: إذ توفِّر Kotlin عددًا من الواجهات الستاتيكيّة (statically typed interfaces) للتعامل مع نمط Document Object Model ممّا يسمح بإنشاء عناصر DOM وتعديلها.
    • التعامل مع الرسوميّات مثل WebGL: إذ يمكنك استخدام لغة Kotlin لإنشاء عناصر رسوميّة في صفحة ويب بالاعتماد على WebGL.
  • إنشاء شيفرة Kotlin تستهدف JavaScript من طرف الخادم server:
    • العمل مع تقنيات طرف الخادم server-side technology: إذ يمكنك استخدام لغة Kotlin للتعامل مع JavaScript من طرف الخادم server مثل Node.js.

ويُمكِن استخدام لغة Kotlin مع المكتبات أو منصات العمل الخارجيّة مثل jQuery أو React، إذ إنّه للوصول للمنصات الخارجية عبر واجهات API (من نوع strongly-typed) تستطيع استخدام أداة ts2kt وذلك لتحويل تعريفات TypeScript الموجودة في مركز توثيق التعريف Definitely Typed إلى لغة Kotlin، أو يمكنك استخدام النمط الديناميكيّ كبديلٍ للوصول إلى أي منصة دون اللجوء إلى strong typing.

وتعمل شركة JetBrains على تطوير عددٍ من الأدوات خصّيصًا لمجتمع React مثل: React bindings وCreate React Kotlin App ؛ إذ تساعد أداة Create React Kotlin App على البدء ببناء تطبيقات React باستخدام Kotlin بدون إعدادات خاصّة بعملية البناء (build configuration).

وتُعدُّ لغة Kotlin متوافقةً مع  CommonJS و AMD و UMD مما يحقِّق تفاعلًا مباشرًا مع مختلف الأنظمة الوحدويّة (module systems).

مصادر