
لقد بدأت مؤخرًا في تعلم Kotlin لتطوير Android ، وقد استمتعت به حقًا. Kotlin مشابه جدًا في بناء جملة Swift ، وهو ملائم. أنا مجرد مبتدئ في تطوير Android ، لذلك على الأرجح هناك العديد من المكتبات المفيدة التي لم تتح لي الفرصة لتعلمها بعد ، ولكن هذه القائمة هي بعض تلك التي استخدمتها بالفعل بنجاح أو أخطط للقيام بذلك قريبًا.
K Covenant هي مكتبة واعدة (للبرمجة غير المتزامنة المبسطة) لـ Kotlin. أستخدم PromiseKit في معظم مشاريع iOS الخاصة بي ، لذلك أردت العثور على شيء مشابه لنظام Android. يغطي K Covenant معظم الوظائف التي أحتاجها (الفجوة الوحيدة التي لاحظتها هي عدم وجود وظيفة recover
المكافئة في PromiseKit) ، لذا فهي تناسبني.
إذا كنت بحاجة إلى معالجة تحميل وعرض الصور في التطبيق ، فإن استخدام بيكاسو للقيام بذلك أمر بسيط للغاية. بالإضافة إلى تحميل الصور وتخزينها مؤقتًا بشكل غير متزامن ، يمكنك أيضًا تحويلها ، على سبيل المثال:
Picasso.get().load(url).resize(50, 50).centerCrop().into(imageView)
أستخدم أيضًا مكتبة تحويلات بيكاسو ، التي تضيف تحويلات إضافية إلى بيكاسو ، مثل القص على شكل دائرة.
بالمناسبة ، اكتشفت مؤخرًا أن Google توصي باستخدام Glide للعمل مع الصور ، وليس بيكاسو. لم أستخدم Glide حتى الآن ، ولكن نظرًا لأن Google توصي أيضًا بمكتبة Volley للعمل مع شبكة لا تحتوي فعليًا على وثائق ولديها بعض الأخطاء الغريبة حقًا ، فأنا لست متأكدًا من مدى ثقتك في هذه التوصية.
لم أستخدم مكتبة Kotlin هذه بعد ، ولكنها توفر طريقة سهلة لإضافة وظائف اختيار السمة إلى تطبيقك. سأقوم بتأجيله الآن واستخدامه في المستقبل عندما أحتاج إلى مثل هذه الميزة.
رأيت الجميع يتحدثون عن أنكو قبل أن أدركت كيف كانت تبدو ولماذا يحبها الجميع. Anko هي في الأساس مجموعة من الطرق الملائمة التي ستساعد على جعل تطوير Android على Kotlin أسهل وأكثر قابلية للفهم.
هناك بعض الأشياء الرائعة حقا فيه ، مثل هذه الطريقة موجزة للغاية لإنشاء وعرض رسائل نخب:
toast("Hi there!")
وبالنسبة لـ SnackBar:
longSnackbar(view, "Wow, such duration")
كما أنه يبسط إلى حد كبير إنشاء النوايا:
startActivity<SomeOtherActivity>("id" to 5)
هناك أيضًا طرق ملائمة مدمجة للنوايا الشائعة ، على سبيل المثال
browse(url)
share(text, [subject])
.
تقدم Anko أيضًا DSL جميلة لإنشاء layout
، لكنني لم أستخدم هذه الوظيفة حتى الآن. هنا مثال من الوثائق:
verticalLayout { val name = editText() button("Say Hello") { onClick { toast("Hello, ${name.text}!") } } }
هناك الكثير مما يجب أن تقدمه هذه المكتبة ، لذا فهي بالتأكيد تستحق اهتمامك.
بعد أن واجهت أخطاء غير عادية ونقصًا في الوثائق الخاصة بـ Volley ، صادفت موقع Fuel ، والذي أصبح الآن مكتبة الشبكة المفضلة لدي في Android.
يستخدم الوقود تعبيرات لامدا بدلاً من المستمعين لمعالجة الاستجابات. بصفتي مطورًا لنظام التشغيل iOS ، يبدو هذا مألوفًا بالنسبة لي. تعمل المكتبة أيضًا بشكل رائع مع K Covenant إذا كنت ترغب في ربط الشبكات بوعد ، وهو ما أفعله دائمًا.
لم أضطر بعد إلى استخدام المكتبة لتحليل JSON ، ولكن عندما أحتاج إليها ، سأحاول Forge. هو مكتوب من قبل نفس المطور الذي كتب الوقود ، ويبدو لطيفًا وسهل الاستخدام.
ربما لن أكتشف أمريكا مع أنواع النتائج ، لكنني بدأت للتو دراستها في iOS ، لذلك أنا سعيد لأنني وجدت مكتبة من هذا القبيل لـ Kotlin. تحتوي README لهذا المشروع على مثال جيد لكيفية استخدام أنواع النتائج لتحسين التعليمات البرمجية.
اقرأ أيضًا: "10 مكتبات يجب على كل مطور Android معرفتها"