انا تعلمت برمجة الويب وكني لا اجد نفسي فيها او بمعني اصح لم احبها وانا مؤمن بان اعمل ما احب حتي انجح او اتقدم فية لكني احببت برمجة تطبيقات أندرويد ولكن وجدت لغتان شائعتان الجافا والكوتلن وبحثت علي الانترنت عن ايهما افضل وجدت هذا السؤال يتكرر للكثير من للناس ولكني لم اجد الاجابة الكاملة ولكن حسب فهمي انة اولا ليس المهم لغة البرمجة بل المهم هو المبرمج نفسة وثانيا ان لغة الجافا هي لغة قديمة وقوية وشهير ولكن وجد من مميزات الكوتلن انها سهلة واكودها قصير وهذة ميزة وعيب الميزة هي السهول والسرعة والعيب انها لا تتحكم بكل شيء لقصر اكوادها كما في الجافا والي الان انا ارجح الكوتلن فما تنصحني
ماذا اتعلم java vs Kotlin
أهلاً بك أدم,
كما قلت فإن لغة جافا هي لغة قديمة وقوية وتنشئ بإستخدامها مشاريع كبيرة وتكون ذات كفاءة عالية ويوجد بها الكثير من التفاصيل التي تجعلها من أشهر اللغات في العالم ,في حال لم تكن هذه أول لغة برمجة لك وفي حال كنت تعلم أساسيات البرمجة فيمكنك تعلم برمجة تطبيقات الهاتف بإستخدام كوتلين ولكن كوتلين كلغة برمجة أساسها لغة جافا أي أنه أستخدمت لغة جافا في بناءها لذا فتعلمك من عدمه يعتمد ما إذا كنت قد تعلمت أو تعرف لغة جافا في حال كنت لا تعرف فمن المفضل أن تستخدم جافا في ذلك أما في حال كان لديك خلفية جيدة عنها فتعلم بإستخدام كوتلين.حيث أن معرفتك في جافا ستستهل كثيراً تعلمك لكوتلين لذا فالمسار في تعلم جافا ثم كوتلين سيكون خياراً جيداً. والسهولة في الكود بإستخدام كوتلين وقصر أكوادها يعتمد على الشيء الذي تريده ففي حال كان هذا الكود القصير يلبي رغبتك فستستخدمه أما في حال لم يكن كذلك فستقوم ببناءه بإستخدام جافا.
لكن هنالك خيار آخر وهو flutter حيث أنه بإستخدامها يمكنك بناء تطبيقات لكل من أندرويد و iOS وهي تعتمد على لغة Dart المبنية من قبل شركة Google كما هي flutter ايضاً. flutter لغة لغة جديدة ولكنها واعدة ولديها مستقبل جيد ينتظرها لذا فإبقها في بالك للمستقبل أو يمكنك البدء بدها لكن من ناحية طلبات العمل فكوتلين تتفوق عليها في الوقت الحالي.
أنا أنصح بالكوتلن لعدة أسباب:
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 مستقبلاً واعداً
التعليقات