الفرق بين المراجعتين لصفحة: «Kotlin/android overview»

من موسوعة حسوب
ط تعديل الروابط
لا ملخص تعديل
 
(مراجعتان متوسطتان بواسطة مستخدم واحد آخر غير معروضتين)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:استخدام لغة Kotlin للتطوير في بيئة Android}}</noinclude>
<noinclude>{{DISPLAYTITLE:استخدام لغة Kotlin للتطوير في بيئة Android}}</noinclude>
تعدّ لغة Kotlin أداةً مناسبةً لتطوير تطبيقات Android، إذ إنها تزوّد منصةَ العمل في نظام Android بميّزات لغات البرمجة الحديثة بدون أي قيودٍ جديدة.  
تُعدُّ لغة Kotlin أداةً مناسبةً لتطوير تطبيقات Android لأنّها تزوِّد بمنصةٍ للعمل في نظام Android بميّزات لغات البرمجة الحديثة بدون فرض أي قيودٍ جديدة.  


== ميزات استخدام لغة Kotlin للتطوير في بيئة 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 تدعم [[Kotlin/inline functions|الدوال المباشرة (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، وفي التطبيقات الحقيقية تُضيف لغة Kotlin بضع مئات فقط من التوابع (methods) وبحجم أقل من 100K بملف التطبيق (‎(.‎‎apk.
* '''حجم التخزين (Footprint):''' تتميّز لغة Kotlin بصغر حجم تخزين المكتبات أثناء التشغيل (runtime library)، والذي يُمكن تخفيضه أكثر بالاعتماد على ProGuard، وتُضيف لغة Kotlin في التطبيقات الحقيقية عدّة مئاتٍ فقط من التوابع (methods) وبحجمٍ أقلّ من 100K بملف التطبيق (ذي اللاحقة ‎(.‎‎apk.
* '''زمن ترجمة البرامج (Compilation Time):''' تدعم لغة Kotlin الترجمة التزايديّة الفعّالة (efficient incremental compilation)، وبالتالي فإنه بينما تُحضَّر بعض العمليات الاستباقيّة الإضافيّة للبناء النظيف (clean build) تكون سرعة البناء التزايديّ (incremental build) بسرعةٍ مماثلة (أو ربما أسرع) مما هي عليه في لغة Java.
* '''زمن ترجمة البرامج (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)، ومن المفيد كذلك الاطلاع على عددٍ من [http://try.kotlinlang.org/koans التمارين التفاعليّة].


== بعض الأمثلة لاستخدام لغة Kotlin في بيئة Android ==
== بعض الأمثلة لاستخدام لغة Kotlin في بيئة Android ==
اعتمدت بعض الشركات الكبرى على لغة Kotlin في بناء تطبيقاتها ومما جاء في تجاربهم:
اعتمدت بعض الشركات الكبرى على لغة Kotlin في بناء تطبيقاتها، ومما جاء في تجاربهم:
* [https://www.youtube.com/watch?v=mDpnc45WwlI طرحت شركة Pinterest لغة Kotlin في تطبيقها الشهير] والمُستخدَم من قبل 150 مليون مستخدمٍ  كل شهر.
* طرحت شركة [https://pinterest.com Pinterest] لغة Kotlin في تطبيقها الشهير المُستخدَم من قبل 150 مليون شخص كل شهر.
* [https://m.signalvnoise.com/how-we-made-basecamp-3s-android-app-100-kotlin-35e4e1c0ef12 كُتب تطبيق Basecamp بشكل كاملٍ بلغة Kotlin] وقد أفادت الشركة بالفرق الكبير لدى مبرمجيها من ناحية ارتياحهم والتحسُّن الكبير بالجودة والسرعة أثناء العمل.
* كُتب تطبيق [https://basecamp.com/ Basecamp] بلغة Kotlin كليَّا، وقد أفادت الشركة بالفرق الكبير لدى مبرمجيها من ناحية ارتياحهم والتحسُّن الكبير بالجودة والسرعة أثناء العمل.
* لدى [https://medium.com/keepsafe-engineering/lessons-from-converting-an-app-to-100-kotlin-68984a05dcb6 تحويل تطبيق Keepsafe's App Lock بأكمله إلى لغة البرمجة Kotlin] انخفض عدد الأسطر في الشيفرة بنسبة 30% وعدد التوابع (methods) بنسبة 10%.
* لدى تحويل تطبيق [https://www.getkeepsafe.com/ Keepsafe's App Lock] بأكمله إلى لغة البرمجة Kotlin انخفض عدد الأسطر في الشيفرة بنسبة 30% وعدد التوابع (methods) المستخدمة بنسبة 10%.


== أدوات التطوير في Android ==
== أدوات التطوير في Android ==
تتيح لغة Kotlin عددًا من الأدوات التطويريّة في بيئة Android مما يميّزها عن لغات البرمجة الأخرى، ومن هذه الأدوات:
تتيح لغة Kotlin عددًا من الأدوات التطويريّة في بيئة Android مما يميّزها عن لغات البرمجة الأخرى، ومن هذه الأدوات:
* إضافات ‎Android‎‎ ‏‎(Android Extensions)‎ وهي عبارة عن إضافات تُضاف للمترجم (compiler) والتي تسمح بالتخلص من استدعاءات <code>findViewById()‎</code> في الشيفرة والاستعاضة عنها بخاصيّات تركيبيّة مُولَّدة من قِبل المترجم (synthetic compiler-generated properties).
* إضافات ‎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 (أي Domain-Specific Language) والتي تتيح إمكانية الاستغناء عن ملفات التخطيط (layout) ذات اللاحقة ‎.xml واستخدام شيفرة Kotlin بدلًا منها.


== الخطوات التالية ==
== الخطوات التالية ==
* حمّل برنامج [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] (بالانكليزيّة) للبدء بتطبيقك الأول.
* لمزيد من المعلومات التفصيليّة حول لغة Kotlin يمكن الاطِّلاع على [[Kotlin|التوثيق الخاصّ بها]].
* لمزيد من المعلومات التفصيليّة يمكن الاطلاع على التوثيق الرسمي [[Kotlin|بالعربية]].
* اطَّلِع على [https://developer.android.com/samples/index.html?language=kotlin مشاريع Google النموذجيّة] المكتوبة بلغة 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://kotlinlang.org/docs/reference/android-overview.html صفحة استخدام لغة Kotlin للتطوير في بيئة Android في توثيق  Kotlin الرسميّ]
* [https://kotlinlang.org/docs/reference/android-overview.html استخدام لغة Kotlin للتطوير في بيئة Android في التوثيق الرسميّ للغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Android]]
[[تصنيف:Kotlin Android]]

المراجعة الحالية بتاريخ 11:25، 9 مايو 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 (أي Domain-Specific Language) والتي تتيح إمكانية الاستغناء عن ملفات التخطيط (layout) ذات اللاحقة ‎.xml واستخدام شيفرة Kotlin بدلًا منها.

الخطوات التالية

مصادر