استخدام لغة Kotlin في تطوير تطبيقات الخادم

من موسوعة حسوب

تُعدّ لغة Kotlin أداةً قويةً في تطوير تطبيقات الخادم؛ إذ تتيح كتابة الشيفرة بشكلٍ دقيقٍ ومعبِّر مع الحفاظ على التوافقيّة التامّة مع تقنيات لغة Java وبمعدّل تعلّم سريع، وذلك من خلال:

  • القدرة على التعبير: إذ تساعد مميّزات لغة Kotlin المبتكرَة (مثل دعمها للبواني الحافظة للنوع (type-safe builders) والخاصّيات المُعمّمة (delegated properties)) على إنشاء بنىً تجريديّة abstraction سهلة الاستخدام.
  • قابلية التوسّع: إذ تدعم لغة Kotlin ميّزة الروتينات المساعدة coroutines، وهي بهذا تتيح لتطبيقات الخادم إمكانيّة التوسعة لعدد أكبر من العملاء clients بالاعتماد على متطلبات عتاديّة بسيطة.
  • التوافقيّة: إن لغة Kotlin متوافقة كليًّا مع بيئات العمل في لغة Java، وبهذا فهي تتيح لك الاستفادة من التقنيّات التي اعتدت عليها سابقًا على الرغم من استخدامك لغة أكثر حداثةً.
  • سهولة الانتقال من لغة Java: إذ تُؤمِّن لغة Kotlin الانتقال التدريجيّ إليها خطوةً بخطوة من الشيفرات الضخمة في لغة Java، وبهذا يمكنك كتابة شيفرات برمجيّة جديدة مع إبقائك للأجزاء الأخرى السابقة للنظام في بيئة Java.
  • الأدوات: إذ توفّر لغة Kotlin إضافةً إلى بيئتها التطويريّة المتكاملة (IDE) أدوات عملٍ مُخصّصة (كما في حالة بيئة Spring مثلًا) في الإضافة الخاصّة ببيئة IntelliJ IDEA Ultimate.
  • المُعدّل السريع للتعلّم: إن الشروع بلغة Kotlin سيكون أمرًا سهلًا للغاية بالنسبة للمطوّر بلغة Java، ويساعده في خطواته الأولى المحوّل الآلي (convertor) للتحويل من Java إلى Kotlin والموجود في إضافات Kotlin‏ (Kotlin Plugins)، ويتوفّر كذلك دليلٌ تعليميٌّ مساعدٌ في أساسيات اللغة وعددٌ من التمارين التفاعليّة بالانكليزيّة عبر هذا الرابط.

بيئات العمل المتاحة لتطوير تطبيقات الخادم باستخدام لغة Kotlin

  • تستفيد بيئة العمل Spring من مميّزات لغة Kotlin للحصول على واجهات تطبيقات برمجيّة API أكثر دقّةٍ (ابتداءً من الإصدار 5.0)، ويسمح مُولِّد المشاريع المتوفر عبر الانترنت بإنتاج مشروعٍ جديدٍ باستخدام لغة Kotlin.
  • تقدّم بيئة العمل Vert.x (المستخدَمة لبناء تطبيقات الويب التفاعليّة بالاعتماد على آلة Java الافتراضية (JVM)) دعمًا مخصَّصًا للغة Kotlin متضمِّنةً توثيقًا كاملًا عبر موقعها.
  • تُعدُّ بيئة Ktor بيئة عملٍ أصليّة للغة Kotlin وهي متوفرة عبر الانترنت من قِبل شركة JetBrains، وتتيح بيئة العمل هذه إمكانية التوسّع الكبير بالاعتماد على الروتينات المساعدة (coroutines) (من لغة Kotlin) وتقدِّم واجهةَ تطبيق برمجيّة اصطلاحيةً سهلةَ الاستخدام.
  • تعدُّ بيئة العمل Kotlinx.html لغةً مخصّصة المجال (DSL)، وتُستخدَم لبناء صفحات HTML في تطبيقات الويب إذ تقدِّم العديد من البدائل لأنظمة القوالب التقليديّة مثل قالبَي JSP و FreeMarker.
  • أما الخيارات المتاحة (بحالة المعلومات المخزنة الدائمة)  تتضمن الوصول المباشر في برمجية JDBC، وواجهات JPA بالإضافة إلى استخدام قواعد البيانات NoSQL من خلال محركاتها عبر لغة Java. حيث إنه لدى استخدام JPA يُستفاد من إضافة Kotlin-JPA الموجودة بالمترجم بملاءمة بعض الأصناف بما يتناسب مع متطلبات بيئة العمل.

نشر تطبيقات الخادم بلغة Kotlin

يمكن نشر التطبيقات بلغة Kotlin ضمن أيّ مُضيف (host) يدعم تطبيقات Java للويب بما فيها AWS، ومنصة Google السحابيّة والعديد من الخدمات الأخرى، فإذا أردت نشر التطبيقات بلغة Kotlin عبر منصّة Heroku مثلًا فيمكنك اتِّباع التعليمات الواردة بالانكليزيّة في الدليل الرسميّ المساعد.

وتوفّر شركة AWS Labs مشروعًا نموذجًا توضِّح فيه استخدام لغة Kotlin من أجل كتابة الدوال AWS Lambda.

مستخدمو لغة Kotlin من جهة الخادم

إنَّ Corda هي منصَّة للسجلات مفتوحةَ المصدر وموزَّعة، تُدعَم من كبرى المصارف ومبنية بشكلٍ كاملٍ عبر لغة Kotlin.

أمّا نظام JetBrains Account والمسؤول عن كافَّة مبيعات التراخيص وعمليات التحقُّق في شركة JetBrains فهو مكتوبٌ بأكمله بلغة Kotlin ووُضع بالخدمة منذ عام 2015 دون أيّ مشاكل جوهريّة.

الخطوات التالية

إن كلًّا من دليليّ إنشاء تطبيقات الويب باستخدام Http Servlets و إنشاء خدمات الويب RESTful عبر Spring Boot يوضح كيفيّة بناء تطبيق ويب صغير باستخدام لغة Kotlin وتشغيله.

ولتقديمٍ أكثر تفصيلًا للغة يمكن الاستعانة بالتوثيق الرسمي بالانكليزية أو الدليل المتوفر بالانكليزية عبر موقع Kotlin Koans.

مصادر