Kotlin في المصادر المفتوحة: أفضل 10 مستودعات GitHub للمحترفين

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

Kotlin ليست مجرد Java بدون getters

\n\n

عندما أصدرت JetBrains لغة Kotlin في عام 2016، تعامل معها الكثيرون على أنها "قاتلة Java" أخرى. مرت ثماني سنوات - وأصبحت الآن اللغة الرئيسية لتطوير Android، ولها دور نشط في الواجهة الخلفية (بفضل Ktor و Spring Boot) وحتى في علم البيانات. لكن القوة الرئيسية لـ Kotlin هي مجتمعها. مشاريع المصادر المفتوحة بهذه اللغة ليست مجرد مجموعة من المكتبات، بل هي دروس حقيقية في الهندسة المعمارية الحديثة.

\n\n

في هذه المقالة، قمنا بتجميع أفضل مستودعات GitHub ذات المصادر المفتوحة بلغة Kotlin التي يجب على كل مطور دراستها. سترى كودًا حقيقيًا، وستفهم كيفية عمل المكتبات الشائعة، وربما تجد الإلهام لمشروعك الخاص. هيا بنا!

\n\n

لماذا يجب دراسة المصادر المفتوحة بلغة Kotlin؟

\n\n

قبل الغوص في القائمة، دعنا نجيب على السؤال: لماذا ننظر إلى كود الآخرين؟ أولاً، إنها أفضل طريقة لفهم idiomatic Kotlin - ليس فقط بناء الجملة، بل فلسفة اللغة. ثانيًا، غالبًا ما تحتوي مستودعات المصادر المفتوحة على أمثلة لحلول معمارية معقدة: Coroutines للبرمجة غير المتزامنة، وFlow للتدفقات التفاعلية، وSealed classes لنمذجة الحالات.

\n\n

لقد اخترنا مشاريع بمستويات مختلفة - من الأدوات المساعدة الصغيرة إلى الأطر الكاملة. يمكن عمل fork لكل منها ودراستها واستخدامها كقالب لمهامك الخاصة.

\n\n

أفضل مستودعات المصادر المفتوحة بلغة Kotlin

\n\n

1. Ktor - إطار عمل HTTP غير متزامن

\n

المستودع: github.com/ktorio/ktor

\n

إذا كنت تكتب واجهة خلفية بلغة Kotlin، فإن Ktor أمر لا غنى عنه. على عكس Spring، فهو خفيف الوزن ومعياري ويستخدم coroutines بشكل كامل. انظر كيف يبدو الخادم ببساطة:

\n\n
import io.ktor.server.engine.*\nimport io.ktor.server.netty.*\nimport io.ktor.server.routing.*\nimport io.ktor.server.response.*\n\nfun main() {\n    embeddedServer(Netty, port = 8080) {\n        routing {\n            get("/") {\n                call.respondText("Hello, Open Source!")\n            }\n        }\n    }.start(wait = true)\n}\n
\n\n

هذا الكود هو خادم عامل بأقل حد. في المستودع، ستجد أمثلة مع WebSockets، والتسلسل عبر kotlinx.serialization، والتكامل مع قواعد البيانات. ادرس هيكل الوحدات - فهو يوضح كيفية تنظيم مشاريع Kotlin بشكل صحيح.

\n\n

2. Kotlin Coroutines - أساس البرمجة غير المتزامنة

\n

المستودع: github.com/Kotlin/kotlinx.coroutines

\n

المستودع الرسمي من JetBrains. هنا سترى كيفية عمل launch وasync وFlow والقنوات. انتبه إلى الاختبارات - فهي مثال ممتاز لكيفية اختبار الكود غير المتزامن:

\n\n
import kotlinx.coroutines.*\nimport kotlinx.coroutines.test.*\nimport org.junit.Test\n\nclass CoroutineTest {\n    @Test\n    fun testAsyncOperation() = runTest {\n        val result = async {\n            delay(1000)\n            "Success"\n        }\n        assertEquals("Success", result.await())\n    }\n}\n
\n\n

من خلال دراسة هذا الكود، ستفهم كيفية عمل runTest ولماذا لا يجب الخوف من اختبار coroutines. هذا هو الأساس لأي تطبيق Kotlin حديث.

\n\n

3. Koin - حقن التبعية بدون سحر

\n

المستودع: github.com/InsertKoinIO/koin

\n

Koin هو إطار عمل DI خفيف الوزن لا يستخدم الانعكاس. كل شيء مبني على تركيبات DSL الخاصة بـ Kotlin. مثال على وحدة:

\n\n
val myModule = module {\n    single { Database() }\n    factory { Repository(get()) }\n}\n\nclass MyApp : Application() {\n    override fun onCreate() {\n        super.onCre                

المدونات

توصيات الكتب