التخطي إلى المحتوى الرئيسي

لماذا عليك الاتجاه إلى البرمجة باستخدام Kotlin

أعلنت شركة جوجل في مؤتمر I/O 2017 عن بدء دعمها للغة البرمجة كوتلن Kotlin لتطوير تطبيقات الأندرويد، وسيتم تضمينها في نسخة برنامج Android Studio 3.0 الجديدة، ولن تحتاج لإعدادات إضافية للتثبيت.
تعد جافا وكوتلن من أشهر لغات البرمجة التي تستخدمها غوغل لتطوير تطبيقات الأندرويد. توجد كوتلن منذ عام 2011 حيث ظهرت كلغة جديدة ل Java Virtual Machine، وقد طورها فريق من المبرمجين من سان بطرسبرغ يدعى Jet Brains.
أطلق الفريق أول نسخة مستقرة من كوتلن العام الماضي Kotlin 1.0، ومنذ ذلك الوقت أصدروا التحديث الجديد kotlin 1.1 في مطلع آذار الماضي، وسرعان ما بدأ العالم بالحديث عنها، وكذلك أحبها المجتمع البرمجي! يتلقى الفريق أي اقتراحات بشأن اللغة ويعتمدون عليها أثناء التطوير، وكذلك هي لغة مفتوحة المصدر Open sourced on Github، وبالطبع كمبرمج هذا أمر رائع بالنسبة لك!
لنقارن الآن بينها وبين الجافا، بالطبع يجب أن نوضح أولًا أنّ كوتلن ليست هنا لتحل محل الجافا على الإطلاق، أي كود يكتب بالجافا سيعمل مع كوتلن والعكس صحيح!

تتطلب كوتلن أسطر أكواد أقل

أقل بحوالي 20%. كما نعلم عمر لغة الجافا 22 عامًا، أنشأتها أوراكل Oracle لتكون متوافقة مع ما سبقها، مما يعني أنّه على كل نسخة جديدة أن تدعم ميزات موجودة في النسخ التي سبقتها، ولذلك مع كل تحديث يصبح من الأصعب تضمين ميزات جديدة، ونتيجة لذلك يتزايد عدد الأكواد التي يطلب كتابتها كل مرة.
وعلى النقيض تمامًا، بنيت كوتلن من الصفر، مما يعني غياب بنية الطبقات المكدسة فوق بعضها.

تحدث انهيارات أقل مع كوتلن

ل JVM الخاصة بكوتلن مشاكل أقل مقارنة مع ما يدعى خطأ المليار دولار “one billion dollar mistake” – أي مشكلة NullPointerExeption – التي يمكن تفاديها هنا. توجد هذه المشكلة في جميع لغات البرمجة، ولكن تختلف طرق التعامل معها. على سبيل المثال، في لغة جافا عليك أن تتحقق يدويًا إذا كان الرابط يساوي null أم لا، وإذا أخطأت، مفاجأة لقد انهار البرنامج! أمّا في كوتلن فيتم ضبط جميع الأغراض object إلى Null بالإضافة للتحقق التلقائي لاستثناء NullPointer، لضمان عمل الكود بشكل سليم من دونه.

توفر عليك كوتلن الكثير من الوقت!

أكواد أقل تضمن لك أخطاء برمجية أقل، وبالتالي صرف وقت أقل على عملية التكويد، وعادةً ما يحسب أي فريق لتطوير البرمجيات الكلفة الكلية للمشروع وفقًا لعدد ساعات التكويد.

إمكانية التشغيل المتداخل Interop

ربما تتساءل كيف سيؤثر هذا على الكود الذي قمت بكتابته؟ لا تقلق فكما ذكرت سابقًا كوتلن ليست هنا لتحل محل الجافا، بل هما متوافقتان تمامًا. مما يعني أنّه يمكنك كتابة جزء من الكود باستخدام الجافا والباقي باستخدام كوتلن وسيعملان معًا دون مشاكل.
بالإضافة إلى وجود أداة في برنامج Android Studio تقوم “بترجمة” الجافا إلى كوتلن، وهي تعمل بشكل جيد في الغالب، أي تعطيك لمحة على ما تبدو عليه توابع method الجافا بلغة كوتلن.

المجتمع

لا يمكننا إنكار عظمة وروعة لغة الجافا، فعدد مستخدميها كبير جدًا ومجال دوراتها التعليمية واسع، بالإضافة لإمكانية إيجاد الحلول لجميع المشاكل أليس كذلك؟
ولكن تكمن مشكلتها في كونها مغلفة، فنادرًا ما يتأثر تطويرها بحاجة مطوري الجافا، ولكن كوتلن على عكسها تمامًا فكما ذكرت سابقًا يقوم الفريق بأخذ الاقتراحات بعين الاعتبار والتطوير على أساسها، وعلاوة على ذلك يوجد فريق Kotlin slack المؤلف من مجموعة من المطورين المتحمسين للمساعدة في حل أي مشكلة.

التطبيقات المحلية

وهذا إنجاز يعمل الفريق على تحقيقه، مع فكرة تشغيل أكواد كوتلن على عدة منصّات platforms، من دون الحاجة إلى ترجمتها إلى JVM، مما يجعلها أكثر سرعة ولا تحتاج إلى لغة جافا، ومن هذه المنصّات الويب Web ،ios، وتطوير الألعاب.
وهذه الإجابة على بعض الأسئلة الشائعة حول كوتلن بشكل عام:

ما هي أدوات البناء التي تدعمها كوتلن؟

بالإضافة إلى JVM، تتضمن الأدوات الرئيسية Gradle ،Maven ،Ant، وKobalt. بالإضافة للأدوات المتوفر للجافا سكربت JavaScript.

هل تستهدف كوتلن جافا 6 فقط؟

لا. يمكنك الاختيار بين بايت كود bytecode جافا6 وجافا8، وقد يتم إنشاء المزيد من البايتكود لإصدارات أحدث للمنصة.

أين يمكنك أن تتعلم أكثر عن كوتلن؟

من أفضل المواقع لتتعلمها هو https://kotlinlang.org. من هنا يمكنك تحميل الكومبايلر “المترجم”، أو أن تجربها مباشرةً، وكذلك الحصول على المراجع والدورات التدريبية.

هل تتوفر أي كتب عن كوتلن؟

بالطبع، من ضمنها Kotlin in Action من تأليف أعضاء الفريق ديمتري جيميروف Dmitry Jemerov، وسفتلانا إساكوفا Svetlana Isakova، وكذلك كتاب Kotlin for Android Developers لمطوري الأندرويد.

هل يوجد أي مؤتمرات مستقبلية لكوتلن؟

أجل، المؤتمر الرسمي الأول سيكون في سان فرانسيسكو بتاريخ 2-3 نوفمبر 2017، وكذلك يتم تغطيتها في عدة مؤتمرات في أنحاء العالم، ويمكنك الاطلاع على قائمة الأحداث القادمة على الرابط upcoming talks on the web site.
في الختام، يبقى السؤال: هل يجب أن تنتقل إلى استخدام كوتلن كليًا؟
بالطبع الإجابة تعتمد على فريق المبرمجين الذي تعمل معه ومتطلبات العمل، ومدى صعوبة الانتقال من لغة إلى أخرى. لكن فريق Jet Brains قد قام بابتكار محول بين كوتلن وجافا الذي قد يسهل عملية الانتقال ما بين اللغتين، ولكن يمكن أن تحدث بعض الأخطاء خلال عملية التحويل لذلك يجب مراقبة بعض العمليات وربما ضبطها بشكل يدوي، وكذلك قد لا تتحول بعض المتغيرات والتوابع أيضًا!
ولا تنس أنّ إمكانية الانتقال إلى لغة أخرى تعتمد على ضخامة مشروعك. الخيار الأفضل هو أن تبدأ بالعمل مع مهندسين جدد يستخدمون نفس التقنية، واللغات التي عمل عليها أصحاب المشروع السابقين. ولكن عندما يكون التغيير حتميًا، بالطبع ننصح بما هو جديد… وهنا نقصد اختيار الكوتلن على الجافا.

تعليقات

المشاركات الشائعة من هذه المدونة

تصميم الالعاب الالكترونية

100 مليار دولار هو حجم وناتج تجارة وصناعة سوق الألعاب الالكترونية دوليا، ليصبح هذا السوق في أهمية أسواق أي سلع استراتيجية أخرى .. مع انتشار الهواتف الذكية بصورة كبيرة و انتشار العاب و تطبيقات الهواتف الذكية اصبح هناك العديد من   الاشخاص يهتمون بتصميم العاب الاندرويد و الايفون  لذلك تقوم شركة لودكس بتصميم العاب اندرويد وايفون والالعاب الاونلاين والعاب الديسك توب بكل احترافية وبتصميمات رائعة وجودة عالية .    Game Developing           

the best way to learn how to draw

Drawing is a skill which develops as you practice. You're not alone when you say that you're terrible at drawing; all the great artists have started drawing with  stick figures  at some point in their life. Figures like this one - ​The reason why they went ahead from these so called " stick figures"  to something much more, is that they had an insatiable desire within them to draw even better, every time they put their pencil on paper. This shear fact separated them from the rest, and that's the only reason why they were successful in honing their skill to reach where they reached later on in their respective lives. First and foremost, the one great thing that's in your favor is- the fact that you are dedicated to improve your drawing. I say this because it seems that way, as you are asking this question. And this is really important because any art form can not be learned just for the sake of it; there has to be passion, interest, curiosity, and ded...

What is a KPI - A Key Performance Indicator Meaning

A  Key Performance Indicator  is a measurable value that demonstrates how effectively a company is achieving key business objectives. Organizations use KPIs at multiple levels to evaluate their success at reaching targets. High-level KPIs may focus on the overall performance of the enterprise, while low-level KPIs may focus on processes in departments                           such as sales, marketing or a call center.  lodex solutions