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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

تُعدّ لغة Kotlin أداةً قويةً في تطوير تطبيقات الخادم (server)؛ إذ تكون الشيفرات فيها دقيقةً ومعبِّرة، وتمتاز بالتوافقيّة التامّة مع لغة Java ومن السهل تعلُّمها بسرعة.

ميزات استخدام لغة Kotlin لتطوير تطبيقات الخادم (Server)

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

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

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

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

تُنشَر التطبيقات بلغة Kotlin ضمن أيّ مُضيف (host) يدعم تطبيقات Java للويب بما فيها AWS‏ (Amazon Web Services)، ومنصة Google السحابيّة والعديد من الخدمات الأخرى، كما يمكن نشر التطبيقات بلغة Kotlin عبر منصّة Heroku، وتوفّر شركة AWS Labs مشروعًا نموذجيًا توضِّح فيه استخدام لغة Kotlin من أجل كتابة الدوال AWS Lambda.

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

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

مصادر