كوتلين "Kotlin" : خيارك الأول لبرمجة تطبيقات الأندرويد ستختارها وستكون راض عنها 😋 , لمن لا يعلم شيئاً عنها فقد أسلفنا أنها ابتكرت عن طريق شركة JetBrains وهي الشركة التي تقف وراء IntelliJ و Android Studio .
كلاسات جافا القياسية جدا، لدينا كلاس تسمى 'Car' وكلاس 'Ford' وهو امتداد ل car.
في كوتلين نفس الرمز سيكون كالتالي:
كوتلين "Kotlin" لغة حديثة جدا وجميلة و يمكن استخدامها مع ملفات جافا لذلك لا يتطلب الامر منك تحويل المشروع بأكمله.
في هذا المقال سأريكم كيف أن كتابة الكود الذي تستعمله في تطبيقات الأندرويد "غالبا ما كنت تستخدم جافا " أن كتابته عن طريق كوتلين أسرع وأبسط ...!👍😋
اقرأ أيضاً:
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
مصادر تعليمية أخرى لتعليم البرمج بلغة كوتلين Kotlin
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
مصادر تعليمية أخرى لتعليم البرمج بلغة كوتلين Kotlin
Kotlin اللغة الرسمية لتطوير وبرمجة تطبيقات أندرويد.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
كلاسات جافا القياسية جدا، لدينا كلاس تسمى 'Car' وكلاس 'Ford' وهو امتداد ل car.
في كوتلين نفس الرمز سيكون كالتالي:
عدد الاسطر اللازمة لكتابة الكود بلة جافا 15سطر من التعليمات البرمجية , اما بلغة كوتلين هي 3 أسطر فقط !
في كوتلين يمكنك تعريف constructors مضمنة في تعريف فئة وكان لديك getters و setters اعتمادا على أساس رؤية الحقول .
يتم استبدال الكلمة الرئيسية ‘extends’ في جافا فقط ب ':' ويمكنك أيضا تضمين مضمون الكلاس (in this case: Car(“Ford”) )..
ال"Constructors" و " methods " أيضاً تدعم قيم افتراضية وهذا شئ لا توفره لغة جافا :
من الممكن ومن الممكن أيضا أن يكون لدينا حقل مسمى لإنشاء كائن "object" وهذا يساعد في حل مشكلة رئيسية في لغة جافا حسب وجهة نظري , ولفهم معنى أن يستعمل الحقل لانشاء كائن تخيل كلاس لكتاب في جافا مع arameter as a string واحد:
من هو “George” ? هل هو ال author? ام هو اسم ال book? او هو ال book? في لغة Kotlin يمكنك غمل هذا كالتالي:
بالتأكيد أفضل!
في لغة Kotlin يمكنك اضافة كلمة دلالية ‘data’ في بداية ال class, واذا قمت بذلك , فان ال compiler سيضيف هذه ال ميثودز free:
- equals()/hashCode() pair, hh
- toString() of the form "Ford(name=Ford, model=Focus)", hh
- componentN() hh
- copy() hh
اذا بكلمة دلالية واحده ستحصل كود اكثر for free! وسأريك ماذا تعنيدالة componentN() hh وهذا شئ لا يمكن أن تفعلة في لغة جافا . هذه هي الفكرة التي يمكن ان تدمر ال declaration of your class:
أيضا نسخة ال method مهمة جدا لانشاء كائن اخر من السابق له:
في لغة Kotlin يمكن ان تكون ال property أ:
var او val . وتعتقد أن val حقل نهائي في جافا (ولهذا يمكن تعديلة) و var a mutable property لايجب ان تكون null, واذا كنت ترغب بان يكون لديك a mutable nullable property فانت تحتاج للتعريف بالتعبير “?”:يمكن الوصول بامان ل a property والتي تكون null عن طريق الكلمة الدلالية ‘?’:
في الاندرويد معظم الوقت تحتاجه لانتظار callbacks من ال framework لانشاء كائنات , وهذا يعني انها تطلب ان تكون معرفة ب null وان يكون ال framework جاهزا ومن ثم وفي كل مرة تستعمل هذه الكائنات فانت تحتاج للتاكد من انها null ام لا.
في لغة Kotlin تحل هذه المشكلة بالكلمة الدلالية اللاتينية لخصائص ال var :
لاحظ انت لا تحتاج لعمل ‘name?’ لكن فقط “name’ لان الكلمة اللاتينية الدلالية تخبر ال compiler بأنك تريد تعبئة ال property قبل استعمالها!
في الاندرويد معظم الوقت تحتاجه لانتظار callbacks من ال framework لانشاء كائنات , وهذا يعني انها تطلب ان تكون معرفة ب null وان يكون ال framework جاهزا ومن ثم وفي كل مرة تستعمل هذه الكائنات فانت تحتاج للتاكد من انها null ام لا.
في لغة Kotlin تحل هذه المشكلة بالكلمة الدلالية اللاتينية لخصائص ال var :
لاحظ انت لا تحتاج لعمل ‘name?’ لكن فقط “name’ لان الكلمة اللاتينية الدلالية تخبر ال compiler بأنك تريد تعبئة ال property قبل استعمالها!
0 Comments
إرسال تعليق
لقد قمت بتجربة مدونتى مؤخرًا؟ ربما يكون لديك بعض الأفكار عن الطريقة التي نجعل بها من المدونة أكثر متعة وفائده. أبلغنا عن رأيك. فنحن نحب سماع آراء قراء المدونة.