تخطَّ إلى المحتوى

مقدمة في Kotlin: لغة أندرويد الحديثة

الدرس 1 من 11 · Kotlin

إذا فتحت أي تطبيق حديث على هاتف أندرويد، فهناك احتمال كبير أن يكون مكتوباً بلغة Kotlin. في هذا الدرس ستتعرف على هذه اللغة: من أين جاءت، ولماذا أصبحت لغة أندرويد الأولى، وستكتب أول برنامج لك وتفهم كل سطر فيه.

Kotlin لغة برمجة حديثة طورتها شركة JetBrains، وهي الشركة التي تصنع محررات برمجة مشهورة مثل IntelliJ IDEA و Android Studio. أُعلن عنها عام 2011، وصدرت نسختها المستقرة الأولى عام 2016. والاسم مأخوذ من جزيرة روسية قريبة من مدينة سانت بطرسبرغ حيث بدأ فريق تطويرها.

لماذا أصبحت لغة أندرويد الأولى؟

Section titled “لماذا أصبحت لغة أندرويد الأولى؟”

لسنوات طويلة كانت Java هي اللغة الأساسية لتطبيقات أندرويد. ثم في عام 2017 أعلنت Google دعمها الرسمي لـ Kotlin، وفي 2019 أعلنت أن أندرويد أصبح يتبنى نهج «Kotlin أولاً». والسبب أن Kotlin:

  • أقصر: تكتب نفس البرنامج بأسطر أقل بكثير من Java.
  • أكثر أماناً: فيها نظام يمنع أشهر أخطاء Java، وهو الخطأ الذي يحدث عند استخدام قيمة فارغة (null).
  • متوافقة مع Java: يمكن لكود Kotlin و Java أن يعيشا في نفس المشروع ويستدعي كل منهما الآخر، فلم تضطر الشركات لإعادة كتابة تطبيقاتها.
  • حديثة: فيها مزايا كثيرة تجعل الكتابة ممتعة وواضحة.

تخيّل أن Java سيارة قوية لكنها قديمة الطراز، و Kotlin سيارة جديدة من نفس المصنع: تعمل على نفس الطرق، وتفهم نفس قطع الغيار، لكنها أسهل في القيادة وفيها أنظمة أمان أحدث.

  • تطبيقات أندرويد: الاستخدام الأشهر بلا منازع.
  • السيرفرات: عبر أطر عمل مثل Ktor و Spring.
  • التطبيقات متعددة المنصات: تقنية Kotlin Multiplatform تسمح بمشاركة الكود بين أندرويد و iOS.
Main.kt
fun main() {
println("Hello, Kotlin!")
}
الناتج
Hello, Kotlin!

ثلاثة أسطر فقط! لنفهمها:

  • fun: اختصار لـ function، أي «دالة». بها نعرّف أي دالة في Kotlin.
  • main(): الدالة الرئيسية. كل برنامج Kotlin يبدأ تنفيذه منها، مثل نقطة الانطلاق في السباق.
  • { }: الأقواس المعقوفة تحدد بداية الدالة ونهايتها.
  • println("..."): تطبع النص ثم تنتقل إلى سطر جديد (ln اختصار line).

لاحظ أنه لا توجد فاصلة منقوطة في نهاية السطر! في Kotlin الفاصلة المنقوطة اختيارية، ونادراً ما يكتبها المبرمجون.

قارن مع نفس البرنامج في Java:

public class Main {
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}

ترى الفرق؟ هذه بداية الأسباب التي جعلت المطورين يحبون Kotlin.

fun main() {
val name = "سارة" // ثابت: لا يتغير
var age = 14 // متغير: يمكن تغييره
age = age + 1
println("اسمي $name وعمري $age سنة")
}
الناتج
اسمي سارة وعمري 15 سنة
  • val (من value) لقيمة ثابتة لا تتغير بعد إنشائها.
  • var (من variable) لمتغير يمكن تغيير قيمته.
  • $name داخل النص تضع قيمة المتغير مباشرة.
  • بدون تثبيت: افتح موقع Kotlin Playground الرسمي (play.kotlinlang.org) في المتصفح، واكتب الكود، واضغط Run.
  • على جهازك: ثبّت IntelliJ IDEA Community المجاني لكتابة برامج Kotlin العامة، أو Android Studio إذا كان هدفك تطبيقات أندرويد. كلاهما من JetBrains ويدعم Kotlin بالكامل.

افتح Kotlin Playground واكتب برنامجاً فيه:

  1. ثابت val لاسم مدينتك.
  2. متغير var لعدد الكتب التي قرأتها هذا العام، ثم زِده بواحد.
  3. اطبع جملة تجمع القيمتين. مثال على الناتج:
الناتج
أعيش في أسيوط وقرأت 6 كتب هذا العام
  • محاولة تغيير val: تظهر رسالة Val cannot be reassigned. إذا احتجت التغيير، استخدم var.
  • الخلط بين Kotlin و Java في الكتابة: لا تكتب System.out.println في Kotlin، بل println.
  • كتابة الكود خارج main: أوامر مثل println يجب أن تكون داخل دالة.

سؤال

ما الكلمة التي تعرّف قيمة ثابتة لا تتغير في Kotlin؟

سؤال

لماذا تفضّل Google لغة Kotlin لتطبيقات أندرويد؟

  • Kotlin لغة حديثة من JetBrains، وأصبحت اللغة المفضلة رسمياً لتطبيقات أندرويد.
  • كودها أقصر وأكثر أماناً من Java، ومتوافقة معها بالكامل.
  • البرنامج يبدأ من fun main()، والطباعة بـ println.
  • الفاصلة المنقوطة اختيارية، و val للثوابت و var للمتغيرات.
  • جرّب الكود على Kotlin Playground، أو استخدم IntelliJ IDEA و Android Studio.