اظنك فهمت كوتلن بشكل خاطئ
30 August
اظن ان كثيرا منا نحن المبرمجون قررنا الانتقال الى الكوتلن كونها لغة قوية تتوفر على مميزات رائعة اظن اول ما قمت به هو تحويل ملف جافا الى كوتلن لكن دعني اخبرك ان الكوتلن ليست الجافا بل انه باستعمالك لهذه الخاصية فانك ضيعت وقتك مع الكوتلن خلاصة القول ان الكوتلن تكتب بشكل مختلف عن الجافا فما هي هذه الاختلافات .
اولا مثال توضيحي
fun main(args:Array<string>){ //normal code fun ism():String { return "normal way" } //kotlin code fun isma():String ="kotlin way" println(ism()) println(isma()) }
فان استعملت الطريقة الاولى فاعلم ان روح الكوتلن توجد داخلك.
اما الطريقة الثانية :اين روح الكوتلن هل ترها ساعدني ارجوك.😆😆😆
اما الان فاليك كيف تحول كود جافا الى كود كوتلن .
1-لا تستعمل set و get
اظن ان الاغلبية الساحقة يعرفون هذا لا يجب استعمالها الا في حالة عدم وجود بديل واليك مثال توضيحي :
مثلا لتغيير نص داخل مشهد نستعمل على سبيل المثال لا الحصر عليك استعمالها مع كل الخواص الممكنة :
هناك العديد من الاختصارات عليك معرفتها اختصارات الدوال كما في المثال التوضيحي اعلاه و الوصول الى ملفات XML اليك احد تدويناتي عنها و استعمال مكتبة Anko و هي مكتبة من كوتلن تساعدك على اختصار الكثير من الاشياء وغيرها .
3-مكتبة ANKO
هل تخيلت يوما امكانية بناء واجهة تطبيق من خلال من خلال ملف كوتلن نعم واكثر هل تخيلت يوما انه يمكنك جلب بيانات من قاعدة البيانات في سطر واحد مكتبة عجيبة و ساحرة تحتاج الى دورة كاملة واليك مثال بسيط على احدى استعمالتها.
حسنا هذه ملف xml :يحتوى على بعض المشاهد:
ههه عفوا هذا ليس ملف XML بل هذا ملف كوتلن لرسم واجهة المستخدم هل رايت كم هو بسيط
لم اتعذب في حياتي اكثر من المرة التي ارغب في كتابة التواست 😡😡😡😡😡Toast
مع anko هكذا مثلا
اما الطريقة الثانية :اين روح الكوتلن هل ترها ساعدني ارجوك.😆😆😆
اما الان فاليك كيف تحول كود جافا الى كود كوتلن .
1-لا تستعمل set و get
اظن ان الاغلبية الساحقة يعرفون هذا لا يجب استعمالها الا في حالة عدم وجود بديل واليك مثال توضيحي :
مثلا لتغيير نص داخل مشهد نستعمل على سبيل المثال لا الحصر عليك استعمالها مع كل الخواص الممكنة :
textView.setText("your text") textView.text ="your text" getContext context2-استعن بخاصية الاختصارات في الكوتلن .
هناك العديد من الاختصارات عليك معرفتها اختصارات الدوال كما في المثال التوضيحي اعلاه و الوصول الى ملفات XML اليك احد تدويناتي عنها و استعمال مكتبة Anko و هي مكتبة من كوتلن تساعدك على اختصار الكثير من الاشياء وغيرها .
3-مكتبة ANKO
هل تخيلت يوما امكانية بناء واجهة تطبيق من خلال من خلال ملف كوتلن نعم واكثر هل تخيلت يوما انه يمكنك جلب بيانات من قاعدة البيانات في سطر واحد مكتبة عجيبة و ساحرة تحتاج الى دورة كاملة واليك مثال بسيط على احدى استعمالتها.
حسنا هذه ملف xml :يحتوى على بعض المشاهد:
coordinatorLayout { verticalLayout { // maybe put some content here } floatingActionButton { imageResource = android.R.drawable.ic_menu_edit onClick { ui.owner.startActivityForResult(1) } }.lparams { gravity = Gravity.BOTTOM or Gravity.END } }
ههه عفوا هذا ليس ملف XML بل هذا ملف كوتلن لرسم واجهة المستخدم هل رايت كم هو بسيط
لم اتعذب في حياتي اكثر من المرة التي ارغب في كتابة التواست 😡😡😡😡😡Toast
مع anko هكذا مثلا
toast("great")
4-data class :
حسنا هل تذكر مع الجافا كيف كان الكود طويل عند الاستعانة ب ListView هذه المرة اصبح من السهولة انشائه فقط لاحظ وقارن :
public class VideoGame { private String name; private String publisher; private int reviewScore; public VideoGame(String name, String publisher, int reviewScore) { this.name = name; this.publisher = publisher; this.reviewScore = reviewScore; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPublisher() { return publisher; } public void setPublisher(String publisher) { this.publisher = publisher; } public int getReviewScore() { return reviewScore; } public void setReviewScore(int reviewScore) { this.reviewScore = reviewScore; }
يا سبحان الله هل هذا كود لتحرير فلسطين 😋هنا تكمن بساطة الكوتلن كل هذا الكلا س مختصر هنا :
data class VideoGame(val name: String, val publisher: String, var reviewScore: Int)
حسنا هذا درس خفيف عن البساطة في الكود اتمنى ان تعجبك التدوينة .
اترك لنا تعليقا