Kotlin Multiplatform Academy · درس

ما ليس موجودًا في Common stdlib

واجهات API الخاصة بـ JVM التي ينبغي تجنبها في commonMain

الدرس 4 من 413 خطوة

ما ليس موجودًا في Common stdlib درس مجاني في Kotlin Multiplatform Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Kotlin Multiplatform Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Kotlin Multiplatform Academy 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Common Has Limits

Not every Kotlin API is multiplatform. The common stdlib is a careful subset, and many familiar JVM tools are missing.

No java.* in Common

Anything under java packages is JVM-only. It compiles on Android but breaks the moment iOS tries to build it.

java.util.Date Is Out

The old java.util.Date and Calendar do not exist in common code. Reach for kotlinx-datetime instead.

No File or Path Here

JVM file APIs like java.io.File are absent from commonMain. File access needs a multiplatform library or expect/actual.

Reflection Is Limited

Full reflection is a JVM feature. Common code only gets a tiny subset, so design without heavy runtime introspection.

Threads Look Different

java.lang.Thread is unavailable in common. For background work you use coroutines, which are fully multiplatform.

How To Spot a Trap

If an import starts with java or javax, it cannot live in commonMain. That prefix is your warning sign.

import java.util.UUID

The Compiler Catches You

Put JVM-only code in common and the build fails fast with an unresolved reference for the iOS target. That is helpful, not scary.

Two Ways Out

When you need a platform API, either find a multiplatform library or wrap it yourself with expect/actual per target.

Stay in the Safe Zone

Stick to Kotlin stdlib types and kotlinx libraries in common, and your shared layer stays portable everywhere. 🙂

Plan Before You Code

Before sharing logic, ask whether it needs a JVM-only API. If so, isolate it so commonMain stays clean.

Quick Check

Which import does NOT belong in commonMain?

Recap

Avoid java.* APIs in commonMain. Use stdlib types, kotlinx libraries, or expect/actual to keep shared code truly portable.

البدء مجانًا

تعلم Kotlin مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «ما ليس موجودًا في Common stdlib» مجاني؟

نعم — نص درس «ما ليس موجودًا في Common stdlib» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Kotlin Multiplatform Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Kotlin Multiplatform Academy 4 دروس في المجموع.

ماذا ستتعلم في «ما ليس موجودًا في Common stdlib»؟

واجهات API الخاصة بـ JVM التي ينبغي تجنبها في commonMain تتمرن على Kotlin Multiplatform Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Kotlin Multiplatform Academy؟

لا تُشترط خبرة سابقة. Kotlin Multiplatform Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «ما ليس موجودًا في Common stdlib»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Kotlin Multiplatform Academy هذا؟

نعم. كل درس في Kotlin Multiplatform Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. السلاسل والأرقام والمجموعات في كل مكان
  2. map وfilter وfold في التعليمات البرمجية المشتركة
  3. التواريخ باستخدام kotlinx-datetime
  4. ما ليس موجودًا في Common stdlib
← العودة إلى Kotlin Multiplatform Academy