الفرق بين المراجعتين لصفحة: «Kotlin/android overview»
< Kotlin
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:استخدام لغة Kotlin للتطوير في بيئة Android}}</noinclude> تُعتبر لغة Kotlin أداةً مناسبةً لتطوي...' |
ط تعديل الروابط |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:استخدام لغة Kotlin للتطوير في بيئة Android}}</noinclude> | <noinclude>{{DISPLAYTITLE:استخدام لغة Kotlin للتطوير في بيئة Android}}</noinclude> | ||
تعدّ لغة Kotlin أداةً مناسبةً لتطوير تطبيقات Android، إذ إنها تزوّد منصةَ العمل في نظام Android بميّزات لغات البرمجة الحديثة بدون أي قيودٍ جديدة. | |||
== ميزات استخدام لغة Kotlin للتطوير في بيئة Android == | |||
* '''التوافقية (Compitability):''' تتوافق لغة Kotlin كليًّا مع بيئة JDK6 وبهذا يُمكن تشغيل التطبيقات المكتوبة بلغة Kotlin على الأجهزة ذات الإصدارات الأقدم من أنظمة Android بدون أي مشاكل تُذكر، كما وتدعم برمجية Android Studio أدوات لغة Kotlin بشكلٍ تامّ ومتوافقٍ مع أنظمة بناء Android. | * '''التوافقية (Compitability):''' تتوافق لغة Kotlin كليًّا مع بيئة JDK6 وبهذا يُمكن تشغيل التطبيقات المكتوبة بلغة Kotlin على الأجهزة ذات الإصدارات الأقدم من أنظمة Android بدون أي مشاكل تُذكر، كما وتدعم برمجية Android Studio أدوات لغة Kotlin بشكلٍ تامّ ومتوافقٍ مع أنظمة بناء Android. | ||
* '''الأداء (Performance):''' تعمل التطبيقات المكتوبة بلغة Kotlin بسرعةٍ مماثلةٍ للتطبيقات المكتوبة بلغة Java وذلك بفضل البنية المتماثلة فيما بينهما (وهي بنية bytecode)، ويُضاف لذلك أنّ لغة Kotlin تدعم الدوال السطرية (inline functions) وبالتالي فإن شيفرات lambdas غالبًا ما تعمل بسرعةٍ أكبر من مثيلاتها في لغة Java. | * '''الأداء (Performance):''' تعمل التطبيقات المكتوبة بلغة Kotlin بسرعةٍ مماثلةٍ للتطبيقات المكتوبة بلغة Java وذلك بفضل البنية المتماثلة فيما بينهما (وهي بنية bytecode)، ويُضاف لذلك أنّ لغة Kotlin تدعم الدوال السطرية (inline functions) وبالتالي فإن شيفرات lambdas غالبًا ما تعمل بسرعةٍ أكبر من مثيلاتها في لغة Java. | ||
* '''توافقية التبديل (Interoperability):''' إن لغة Kotlin متوافقة كليًّا مع لغة Java بدعمها لكافة مكتبات Android المتوفرة في تطبيق Kotlin متضمّنةً عمليات معالجة التعليقات (annotation processing) وبهذا فهي تدعم كلًا من ربط البيانات (databinding) و بيئة Dagger. | * '''توافقية التبديل (Interoperability):''' إن لغة Kotlin متوافقة كليًّا مع لغة Java بدعمها لكافة مكتبات Android المتوفرة في تطبيق Kotlin متضمّنةً عمليات معالجة التعليقات (annotation processing) وبهذا فهي تدعم كلًا من ربط البيانات (databinding) و بيئة Dagger. | ||
* '''حجم التخزين (Footprint):''' تتميّز لغة Kotlin بصغر حجم تخزين المكتبات أثناء التشغيل (runtime library) والذي يُمكن أيضًا تخفيضه بالاعتماد على ProGuard، وفي | * '''حجم التخزين (Footprint):''' تتميّز لغة Kotlin بصغر حجم تخزين المكتبات أثناء التشغيل (runtime library) والذي يُمكن أيضًا تخفيضه بالاعتماد على ProGuard، وفي التطبيقات الحقيقية تُضيف لغة Kotlin بضع مئات فقط من التوابع (methods) وبحجم أقل من 100K بملف التطبيق ((.apk. | ||
* '''زمن ترجمة البرامج (Compilation Time):''' تدعم لغة Kotlin الترجمة التزايديّة الفعّالة (efficient incremental compilation)، وبالتالي فإنه بينما تُحضَّر بعض العمليات الاستباقيّة الإضافيّة للبناء النظيف (clean build) تكون سرعة البناء التزايديّ (incremental build) بسرعةٍ مماثلة (أو ربما أسرع) مما هي عليه في لغة | * '''زمن ترجمة البرامج (Compilation Time):''' تدعم لغة Kotlin الترجمة التزايديّة الفعّالة (efficient incremental compilation)، وبالتالي فإنه بينما تُحضَّر بعض العمليات الاستباقيّة الإضافيّة للبناء النظيف (clean build) تكون سرعة البناء التزايديّ (incremental build) بسرعةٍ مماثلة (أو ربما أسرع) مما هي عليه في لغة Java. | ||
* '''المُعدّل السريع للتعلّم (Learning Curve)''': إن الشروع بلغة Kotlin سيكون أمرًا سهلًا للغاية بالنسبة للمطوّر بلغة Java، ويساعده في خطواته الأولى المحوّل الآلي (convertor) للتحويل من Java إلى Kotlin والموجود في إضافات Kotlin (Kotlin Plugins) | * '''المُعدّل السريع للتعلّم (Learning Curve)''': إن الشروع بلغة Kotlin سيكون أمرًا سهلًا للغاية بالنسبة للمطوّر بلغة Java، ويساعده في خطواته الأولى المحوّل الآلي (convertor) للتحويل من Java إلى Kotlin والموجود في إضافات Kotlin (Kotlin Plugins). | ||
== بعض الأمثلة لاستخدام لغة Kotlin في بيئة Android == | == بعض الأمثلة لاستخدام لغة Kotlin في بيئة Android == | ||
سطر 16: | سطر 18: | ||
== أدوات التطوير في Android == | == أدوات التطوير في Android == | ||
تتيح لغة Kotlin عددًا من الأدوات التطويريّة في بيئة Android مما يميّزها عن لغات البرمجة الأخرى، ومن هذه الأدوات: | تتيح لغة Kotlin عددًا من الأدوات التطويريّة في بيئة Android مما يميّزها عن لغات البرمجة الأخرى، ومن هذه الأدوات: | ||
* | * إضافات Android (Android Extensions) وهي عبارة عن إضافات تُضاف للمترجم (compiler) والتي تسمح بالتخلص من استدعاءات <code>findViewById()</code> في الشيفرة والاستعاضة عنها بخاصيّات تركيبيّة مُولَّدة من قِبل المترجم (synthetic compiler-generated properties). | ||
* [http://github.com/kotlin/anko مكتبة Anko] وهي مزوَّدةٌ بمجموعةٍ من المغلِّفات (wrappers) المتوافقة مع لغة Kotlin بما يتعلق بواجهات Android (Android APIs) بالإضافة إلى ميّزة DSL والتي تتيح إمكانية الاستغناء عن ملفات التخطيط (Layout) ذات اللاحقة .xml واستخدام شيفرة Kotlin بدلًا منها. | * [http://github.com/kotlin/anko مكتبة Anko] وهي مزوَّدةٌ بمجموعةٍ من المغلِّفات (wrappers) المتوافقة مع لغة Kotlin بما يتعلق بواجهات Android (Android APIs) بالإضافة إلى ميّزة DSL والتي تتيح إمكانية الاستغناء عن ملفات التخطيط (Layout) ذات اللاحقة .xml واستخدام شيفرة Kotlin بدلًا منها. | ||
سطر 23: | سطر 25: | ||
* حمّل برنامج [https://developer.android.com/studio/index.html Android Studio 3.0] وثبّته فهو يدعم دعم لغة Kotlin. | * حمّل برنامج [https://developer.android.com/studio/index.html Android Studio 3.0] وثبّته فهو يدعم دعم لغة Kotlin. | ||
* استفِد من الدليل التعليمي [https://kotlinlang.org/docs/tutorials/kotlin-android.html Getting Started with Android and Kotlin] (بالانكليزيّة) للبدء بتطبيقك الأول. | * استفِد من الدليل التعليمي [https://kotlinlang.org/docs/tutorials/kotlin-android.html Getting Started with Android and Kotlin] (بالانكليزيّة) للبدء بتطبيقك الأول. | ||
* لمزيد من المعلومات التفصيليّة يمكن الاطلاع على التوثيق الرسمي [[Kotlin|بالعربية] | * لمزيد من المعلومات التفصيليّة يمكن الاطلاع على التوثيق الرسمي [[Kotlin|بالعربية]]. | ||
* استكشف كتاب [https://leanpub.com/kotlin-for-android-developers Kotlin for Android Developers] فهو مصدرٌ جيدٌ يساعدك خطوةً بخطوة أثناء إنشائك لتطبيقٍ حقيقيٍّ باستخدام لغة Kotlin. | * استكشف كتاب [https://leanpub.com/kotlin-for-android-developers Kotlin for Android Developers] فهو مصدرٌ جيدٌ يساعدك خطوةً بخطوة أثناء إنشائك لتطبيقٍ حقيقيٍّ باستخدام لغة Kotlin. | ||
* اطَّلِع على [https://developer.android.com/samples/index.html?language=kotlin مشاريع Google النموذجية المكتوبة بلغة Kotlin]. | * اطَّلِع على [https://developer.android.com/samples/index.html?language=kotlin مشاريع Google النموذجية المكتوبة بلغة Kotlin]. |
مراجعة 03:40، 3 مارس 2018
تعدّ لغة Kotlin أداةً مناسبةً لتطوير تطبيقات Android، إذ إنها تزوّد منصةَ العمل في نظام Android بميّزات لغات البرمجة الحديثة بدون أي قيودٍ جديدة.
ميزات استخدام لغة Kotlin للتطوير في بيئة Android
- التوافقية (Compitability): تتوافق لغة Kotlin كليًّا مع بيئة JDK6 وبهذا يُمكن تشغيل التطبيقات المكتوبة بلغة Kotlin على الأجهزة ذات الإصدارات الأقدم من أنظمة Android بدون أي مشاكل تُذكر، كما وتدعم برمجية Android Studio أدوات لغة Kotlin بشكلٍ تامّ ومتوافقٍ مع أنظمة بناء Android.
- الأداء (Performance): تعمل التطبيقات المكتوبة بلغة Kotlin بسرعةٍ مماثلةٍ للتطبيقات المكتوبة بلغة Java وذلك بفضل البنية المتماثلة فيما بينهما (وهي بنية bytecode)، ويُضاف لذلك أنّ لغة Kotlin تدعم الدوال السطرية (inline functions) وبالتالي فإن شيفرات lambdas غالبًا ما تعمل بسرعةٍ أكبر من مثيلاتها في لغة Java.
- توافقية التبديل (Interoperability): إن لغة Kotlin متوافقة كليًّا مع لغة Java بدعمها لكافة مكتبات Android المتوفرة في تطبيق Kotlin متضمّنةً عمليات معالجة التعليقات (annotation processing) وبهذا فهي تدعم كلًا من ربط البيانات (databinding) و بيئة Dagger.
- حجم التخزين (Footprint): تتميّز لغة Kotlin بصغر حجم تخزين المكتبات أثناء التشغيل (runtime library) والذي يُمكن أيضًا تخفيضه بالاعتماد على ProGuard، وفي التطبيقات الحقيقية تُضيف لغة Kotlin بضع مئات فقط من التوابع (methods) وبحجم أقل من 100K بملف التطبيق ((.apk.
- زمن ترجمة البرامج (Compilation Time): تدعم لغة Kotlin الترجمة التزايديّة الفعّالة (efficient incremental compilation)، وبالتالي فإنه بينما تُحضَّر بعض العمليات الاستباقيّة الإضافيّة للبناء النظيف (clean build) تكون سرعة البناء التزايديّ (incremental build) بسرعةٍ مماثلة (أو ربما أسرع) مما هي عليه في لغة Java.
- المُعدّل السريع للتعلّم (Learning Curve): إن الشروع بلغة Kotlin سيكون أمرًا سهلًا للغاية بالنسبة للمطوّر بلغة Java، ويساعده في خطواته الأولى المحوّل الآلي (convertor) للتحويل من Java إلى Kotlin والموجود في إضافات Kotlin (Kotlin Plugins).
بعض الأمثلة لاستخدام لغة Kotlin في بيئة Android
اعتمدت بعض الشركات الكبرى على لغة Kotlin في بناء تطبيقاتها ومما جاء في تجاربهم:
- طرحت شركة Pinterest لغة Kotlin في تطبيقها الشهير والمُستخدَم من قبل 150 مليون مستخدمٍ كل شهر.
- كُتب تطبيق Basecamp بشكل كاملٍ بلغة Kotlin وقد أفادت الشركة بالفرق الكبير لدى مبرمجيها من ناحية ارتياحهم والتحسُّن الكبير بالجودة والسرعة أثناء العمل.
- لدى تحويل تطبيق Keepsafe's App Lock بأكمله إلى لغة البرمجة Kotlin انخفض عدد الأسطر في الشيفرة بنسبة 30% وعدد التوابع (methods) بنسبة 10%.
أدوات التطوير في Android
تتيح لغة Kotlin عددًا من الأدوات التطويريّة في بيئة Android مما يميّزها عن لغات البرمجة الأخرى، ومن هذه الأدوات:
- إضافات Android (Android Extensions) وهي عبارة عن إضافات تُضاف للمترجم (compiler) والتي تسمح بالتخلص من استدعاءات
findViewById()
في الشيفرة والاستعاضة عنها بخاصيّات تركيبيّة مُولَّدة من قِبل المترجم (synthetic compiler-generated properties).
- مكتبة Anko وهي مزوَّدةٌ بمجموعةٍ من المغلِّفات (wrappers) المتوافقة مع لغة Kotlin بما يتعلق بواجهات Android (Android APIs) بالإضافة إلى ميّزة DSL والتي تتيح إمكانية الاستغناء عن ملفات التخطيط (Layout) ذات اللاحقة .xml واستخدام شيفرة Kotlin بدلًا منها.
الخطوات التالية
- حمّل برنامج Android Studio 3.0 وثبّته فهو يدعم دعم لغة Kotlin.
- استفِد من الدليل التعليمي Getting Started with Android and Kotlin (بالانكليزيّة) للبدء بتطبيقك الأول.
- لمزيد من المعلومات التفصيليّة يمكن الاطلاع على التوثيق الرسمي بالعربية.
- استكشف كتاب Kotlin for Android Developers فهو مصدرٌ جيدٌ يساعدك خطوةً بخطوة أثناء إنشائك لتطبيقٍ حقيقيٍّ باستخدام لغة Kotlin.
- اطَّلِع على مشاريع Google النموذجية المكتوبة بلغة Kotlin.