لا يخفى على أي مبرمج ومطور تطبيقات سطوع نجم لغة البرمجة كوتلنوذيوع صيتها، إذ هي -لمن لا يعرفها بعد- لغة حديثة عهد أصدرت عام 2011 واعتمدتها غوغل لغةً رسميةً لتطوير تطبيقات آندرويد منذ عام 2017 بعد أن قرَّرت دعمها لتزاحم جافا في استعمالها آنذاك وتسبقها بكثير من مزايا وتحسينات، وبذلك يصبح لمنصة آندرويد لغة كما تعد لغة Swift لغةً رسميةً لتطوير تطبيقات iOS. إن كنت مطور تطبيقات آندرويد، فلابد أن تبدأ مع هذه اللغة بداية قوية لدخول مجال تطوير البرمجيات بقوة. لذا أتى هذا الكتاب ليشرح لغة كوتلن بدءًا من الأساسيات وحتى المفاهيم المتقدمة شرحًا عمليًا مدعَّمًا بالأمثلة القابلة للتطبيق، والتي توضِّح المفاهيم البرمجية التي يحاول هذا الكتاب إيصالها.
فبعد أن نشرنا ترجمة كتاب تعلم لغة GOبسهولة وكتاب بوستجريسكل كتاب الوصفاتحصلنا على بعض التبرعات المالية التي أتاح لنا ترجمة وإخراج هذا الكتاب، و هذا الكتاب مترجمٌ عن كتاب «Programming Kotlin» لمؤلفيه ستيفن سامويل (Stephen Samuel) وستيفان بوكيتيو (Stefan Bocutiu) ، والذي نَشَرتَه دار نشر Packt. إن الترجمة العربية هذه مرخصٌة بموجب رخصة المشاع الإبداعي « نَسب المُصنَّف 4.0»
دعم وادي التقنية تأليف وترجمة العديد من الكتب التقنية في مجال البرمجيات الحرة ومفتوحة المصدر، وتوفيرها مجانا للمستخدم التقني العربي، من أهم الكتب التي دعمها وادي التقنية: تعلم جافا سكربت ودفتر مدير دبيان، سطر أوامر لينُكس، انطلق في انكسكيب، تعرف على البرمجيات الحرة،تعلم لغة GO بسهولة، كتاب الشفرة الكاملةو كتاب بوستجريسكل كتاب الوصفات، وغيرها الكثير من الكتب التقنية المتخصصة.
محتويات الكتاب
تمهيد
1. ما يغطيه هذا الكتاب
2. ما الذي تحتاج إليه مع هذا الكتاب؟
3. لمن هذا الكتاب؟
4. تحميل الشيفرة البرمجية للأمثلة
5. أخطاء مطبعيَّة
الفصل الأولالبدء مع كوتلن
1. استخدام سطر الأوامر لتصريف وتشغيل شيفرة كوتلن
2. مُشغِّل كوتلن الآني
3. الصدفة التفاعلية مع الأداة REPL
4. سكربتات مكتوبة بكوتلن؟ !
5. كوتلن مع Gradle
6. كوتلن مع Maven
7. كوتلن وبيئة التطوير IntelliJ
8. كوتلن وبيئة التطوير Eclipse
9. الخلط بين كوتلن وجافا في مشروع واحد
10. خلاصة الفصل
الفصل الثانيأساسيات كوتلن
1. القيم والمتغيِّرات
2. استنتاج النوع
3. الأنواع الأساسيَّة
4. التعليقات
5. الحزم
6. الاستيرادات
7. قوالب السلسلة النصيَّة
8. المجالات
9. 2.9. حلقات التكرار
10. معالجة الاستثناءات
11. استنساخ الأصناف
12. المساواة المرجعيَّة والمساواة الهيكليَّة
13. الكلمة المفتاحية this
14. مرئية المتغيرات
15. 2.16. تعابير التحكم بتدفق التنفيذ
16. صياغة العَدم null
17. تعبير when
18. الدالة التي تعيد شيئًا
19. التسلسل الهرمي للنوع
20. خلاصة الفصل
الفصل الثالثالبرمجة كائنيَّة التوجه في كوتلن
1. الأصناف
2. الواجهات
3. الوراثة
4. رؤية المغييرات
5. الأصناف المجرَّدة
6. واجهة أم صنف مجرَّد؟
7. التعددية الشكلية
8. قواعد الاستبدال
9. الوراثة مقابل التكوين
10. تفويض الصنف
11. الأصناف المُغلقَة
12. خلاصة الفصل
الفصل الرابعالدوال في كوتلن
1. تعريف الدوال
2. الدوال وحيدة التعبير
3. الدوال التابعة للأصناف
4. الدوال المحليَّة
5. دوال المستوى الأعلى
6. المُعامِلات المسماة
7. المُعامِلات الافتراضيَّة
8. الدوال الملحقة المُوسِّعة
9. المعاملات
10. الصياغة المختصرة للدوال (الدوال المجرَّدة )
11. الدوال التعاودية
12. عدد متغيِّر من الوسائط
13. دوال المكتبة القياسيَّة
14. الدوال المُعمَّمة
15. الدوال النقيَّة
16. جافا من وجهة نظر كوتلن
17. كوتلن من جافا
18. خلاصة الفصل
الفصل الخامسالدوال الأعلى مرتبةً والبرمجة الوظيفيَّة
1. الدوال الأعلى مرتبةً
2. المُغلِّفات
3. الدوال مجهولة الاسم
4. مراجع الدالة
5. مستقبلات الدالة المُجرَّدة
6. الدوال في آلة جافا الافتراضية JVM
7. دالة مركبة
8. الدوال المباشرة
9. التجريف والتجزيء
10. التحفيظ
11. الأسماء البديلة والمستعارة
12. النوع Either (إمَّا )
13. تخصيص اللغات مخصَّصة المجال
14. التحقق من الأخطاء وتراكمها
15. خلاصة الفصل
الفصل السادسالخاصيات
1. لماذا نستخدم الخاصيات؟
2. الصياغة والاختلافات
3. المرئية
4. التهيئة اللاحقة
5. الخاصيات المُعمَّمة
6. التهيئة الكسولة
7. استعمال lateinit مقابل lazy
8. المراقبات
9. تعميم خاصيَّة لا عدميَّة
10. الخاصيات أم التوابع؟
11. خلاصة الفصل
الفصل السابعأمان القيم الفارغة، والانعكاس، والتوصيفات
1. الأنواع القابلة للإنعدام
2. التحويل الذكي بين الأنواع
3. الوصول الآمن للقيم الفارغة
4. عامل ألفيس
5. التحويل الآمن بين الأنواع
6. النوع Optional
7. الانعكاس
8. البانيات
9. الكائنات والكائنات المرافقة
10. خاصيات KClass المفيدة
11. الدوال والخاصيات المنعكسة
12. التوصيفات
13. التوصيفات القياسيَّة
14. اكتشاف التوصيف وقت التشغيل
15. خلاصة الفصل
الفصل الثامنالتعميم والأنواع المُعمَّمَة
1. دوال ذات معاملات غير محدَّدة النوع
2. أصناف ذات معاملات غير محدَّدة النوع
3. التعددية الشكلية المقيَّدة
4. تباين النوع
5. النوع Nothing
6. الأنواع المُسقَطة
7. إزالة الأنواع
8. تجسيد النوع
9. قيود النوع العوديَّة
10. أنواع البيانات الجبريّة
11. خلاصة الفصل
الفصل التاسعأصناف البيانات
1. الإنشاء التلقائي للجالبات وللضابطات
2. التابع copy
3. التابع toString العجيب
4. توليد التابعان hashCode و equals تلقائيًا
5. التصريحات المهدومة (Destructed declarations)
6. الأنواع الهادمة (Destructing types)
7. قواعد تعريف صنف بيانات
8. أوجه القصور
9. خلاصة الفصل
الفصل العاشرالتجميعات
1. التسلسل الهرمي للصنف
2. المصفوفات (النوع Array)
3. القوائم (النوع List)
4. الخرائط (النوع Map)
5. الأطقم (النوع Set)
6. العرض في وضع القراءة فقط
7. الوصول المفهرس
8. المتتالية (النوع Sequence)
9. خلاصة الفصل
الفصل الحادي عشرالاختبار في كوتلن
1. البداية
2. اختيار الأنماط
3. المطابقات
4. المفتشون
5. المعترضات
6. ضبط المشروع وتهيئته
7. اختبار الخاصيّة
8. الاختبار القائم على جدول
9. الوسوم والشروط والتهيئة
10. خلاصة الفصل
الفصل الثاني عشرالخدمات المصغَّرة مع كوتلن
1. التعريف
2. العيوب والمساوئ
3. لماذا الخدمات المصغَّرة؟
4. إطار العمل Lagom
5. تعريف الخدمات
6. تنفيذ خدمة Lagom
7. خلاصة الفصل
الفصل الثالث عشرالتزامن
1. الخيوط
2. قفل جامد وقف متحرك
3. المنفِّذون
4. حالات التسابق
5. خلاصة الفصل
لتنزيل الكتاب من هناأو من هنا.