ماذا اتعلم java vs Kotlin

انا تعلمت برمجة الويب وكني لا اجد نفسي فيها او بمعني اصح لم احبها وانا مؤمن بان اعمل ما احب حتي انجح او اتقدم فية لكني احببت برمجة تطبيقات أندرويد ولكن وجدت لغتان شائعتان الجافا والكوتلن وبحثت علي الانترنت عن ايهما افضل وجدت هذا السؤال يتكرر للكثير من للناس ولكني لم اجد الاجابة الكاملة ولكن حسب فهمي انة اولا ليس المهم لغة البرمجة بل المهم هو المبرمج نفسة وثانيا ان لغة الجافا هي لغة قديمة وقوية وشهير ولكن وجد من مميزات الكوتلن انها سهلة واكودها قصير وهذة ميزة وعيب الميزة هي السهول والسرعة والعيب انها لا تتحكم بكل شيء لقصر اكوادها كما في الجافا والي الان انا ارجح الكوتلن فما تنصحني


أنا أنصح بالكوتلن لعدة أسباب:

1- الكوتلن اخترعت في اﻷساس للابتعاد عن مشاكل موجودة في الجافا

2- صارت الكوتلن لغة رسمية للأندرويد منذ فترة من قبل جوجل

3- ﻷن كل مكتبات الجافا يمكن استخدامها من كوتلن، قد يبدو لك ذلك غريباً ولكنه حقيقي ، أنا بنيت مشاريع وب ضخمة بالكوتلن واستخدمت الكثير الكثير من مكتبات الجافا دون مشاكل بل قد تبدو لك مكتبات الجافا وكأنها كتبت بالكوتلن حين تستعملها بمشروع كوتلن.

4- الفائدة الوحيدة من تعلم الجافا في رأيي هو احتمال استلام مشاريع أندرويد legacy أو احتمال العمل بشركة لم تعتمد الكوتلن بعد.

في برمجة تطبيقات الجوال لدينا نظامان رئيسيان هما اﻷندرويد وios وهناك ثلاثة طرق لبرمجة التطبيقات التي تستهدف النظامين:

1- ما يسمى native وهي الطريقة الرسمية التي تعلمك إياها شركة غوغل للأندرويد وشركة أبل للـios وفي هذه الطريقة تتعلم kotlin للأندرويد وswift للـios وبسبب اﻻختلاف الكبير بين التقنيات المستخدمة عند برمجة تطبيق أنت ستبرمج في الواقع تطبيقان هما للمستخدم تطبيق واحد ولكن بالنسبة لك تطبيقان منفصلان ﻷن الكودان يكاد لا يربطهما شيء.

هذه الطريقة تضمن أفضل performance كما تضمن الوصول المباشر لمقدرات النظام سواءٌ كان اﻷندرويد أم ios.

2- ما يسمى hybrid وهي طريقة تستخدم نفس تقنيات الوب HTML5-CSS-Javascript لتحويلها إلى تطبيق جوال يعمل على منصتي ios وandroid من أمثالها ionic وcordova وPhonegap ، مشكلة هذه الطريقة هي performance وشخصياً لا أنصح بها.

3- تقنيات تبرمج فيها التطبيق بكود واحد يستهدف كلاً من اﻷندرويد وios ويكون بسرعة قريبة من الـnative، ميزة هذه التقنيات تخفيف العبء على شركة البرمجيات فبدلاً من جلب فريقي تطوير واحد للأندرويد والثاني للـios نجلب فريقاً واحداً لتطوير تطبيقات الجوال.

أمثلة على هذه التقنيات React Native,Flutter وشخصياً أرى للـFlutter مستقبلاً واعداً

شكرا لك علي النصيحة وفعلا لقد بحث ووجدت ان الflutter لغة جميلة وسيكون لها مستقبل لانها يتوفر الكثير