الرئيسية / برامج وشروحات عامة / إستخدامات لغة البرمجة Scala

إستخدامات لغة البرمجة Scala

ما هي Scala ؟
إن ظهور لغة برمجية دائما ما يتوطد بحل مشاكل برمجية مسبقة في لغة برمجية، فالجافا على سبيل المثال تلقت إنتقادات واسعة على مر السنوات، خصوصا بعد هيمنة لغات مثل Python و Ruby على مجال البرمجة كونها لغات عالية المستوى و ذات ذكاء و مرونة في الإستخدام، مما جعل الجافا تتأخر قليلا في اللحاق بها. لكن الأمر لم يدم طويلا، فبدل تطوير الجافا مراراً و تكراراً، دعونا نطلق لغة برمجية مثل الجافا، لا بل هي الجافا نفسها تشتغل في نفس بيئة و مقومات العمل، لكن هذه المرة بتقنيات عالية تنافس الـ Ruby و Python و شبيهاتها، و هنا ظهرت الـ Scala.

إن شاهدت سلسلة ” أبطال الديجيتال ” يوما، فيمكننا وصف الجافا أنها ” رعد ” من هذه السلسلة، بينما Scala هي ” جلمود ” التطوير الأقوى لـ ” رعد “. يعود ذلك لكونها لغة برمجية رفيعة المستوى (High Level)، و تدمج بين كل من البرمجة الوظيفية Functional و البرمجة كائنية التوجه OOP، و هي لغة ذات إستخدامات شاسعة ( و هو ما يهدف له هذا المقال في الأساس ) و شبيهة بالجافا بشكل كبير، لذلك إن كنت مبرمج جافا، فيمكنك البدء في Scala اليوم و الآن.

 

إستخدام Scala في تطوير تطبيقات سطح المكتب
عندما نتحدث عن تطوير برمجيات سطح مكتب بإستخدام Scala فنحن نتحدث تلقائيا عن الجافا في هذه المسألة و ذلك للتشابه الكبير في المكتبات و العتاد و التقنيات أيضا، بل في الحقيقة، معظم المبرمجين لا يستخدمون الآن Scala في تطوير تطبيقات سطح المكتب، و ذلك عائد لضعف الأدوات اللازمة و المكتبات في هذه اللغة، إذ نجد على سبيل المثال أن C# توفر عتاداً أفضل لصناعة برمجيات سطح المكتب خصوصا من الناحية الجرافيكية، و هو ما تفتقد إليه الجافا أولا و الـ Scala ثانيا.

لذلك، إن كنت تود تعلم الـ Scala لغرض تطوير تطبيقات سطح المكتب (Desktop Apps) فننصحك بالتخلي عن الفكرة و تعلم لغة برمجية جيدة، فالـ Scala و الـ Java سيئين في تطوير هذا الصنف من البرمجيات. نعم، يمكنك تطوير برمجيات من خلالها، لكن الأمر صعب و عسير مقارنة مع تقنيات أخرى.

إستخدام Scala في تطوير تطبيقات الويب
تعتبر Scala من أقوى التقنيات حاليا لتطوير تطبيقات ويب متكاملة، نعم المنافسة مشتدة بين إطارات مثل Laravel, Django, Rails و لا ننس الجافاسكربت و ملايين إطاراتها المخصصة و كل ذلك، لكن الـ Scala تقفز بكل ذلك إلى مستوى آخر كليا.

أولا، يجب عليك أن تدرك أن تطوير برمجية ويب بإستخدام Scala أمر صعب و بعيد عن المألوف، لكن النتائج التي ستحصل عليها لن يستطيع أي إطار آخر توفيرها لك.

في Scala، تقوم بإدارة قواعد البيانات عبر خدمات مختلفة مثل Slick او QUILL، و ليس MySQL كما عهدنا، أيضا، يوجد إطارات عديدة و مكتبات مختلفة في Scala تسمح لك بالحصول على برمجية ويب متكاملة مثل Scalatra الشهير الذي يدمج بين كل من الـ JVM و الـ Scala في تطوير تطبيقات الويب، أما إن كنت من المتعصبين للجافاسكربت، فيوجد مكتبة ScalaJS التي تدمج بين Scala و Javascript في الحصول على نتائج مبهرة على الويب.

قد يتسائل سائل، إن كانت صعبة فلما نستخدمها أصلا لتطوير تطبيقات الويب ؟ الإجابة أنها توفر لك تقنيات برمجة عالية عكس الإطارات الأخرى التي يجب عليك دائما مراقبة تقنيات الحماية، و إن كنت تتسائل عن منصات الويب التي تعتمد على Scala فشركة Twitter في المقدمة، و حتى  Apple في مواقع الويب خاصتها، و منصة الكورسات الشهيرة  Coursera كذلك، و مواقع إخبارية مثل واشنطن بوست و Huffington كذلك.

 

إستخدام Scala في تطوير تطبيقات الأندرويد 

لا تنشق الـ Scala عن الـ Java كثيرا، فكما أشرنا فهي تشتغل على نفس بيئة الجافا، و تستطيع في هذه الحالة أيضا أن تطور تطبيقات أندرويد ذات كفاءة عالية. يمكن تحقيق ذلك عبر مكتبة Scaloid مفتوحة المصدر، التي تقوم بتحويل و تهيئة مشروعك الأندرويد بتقنية Scala بدل الجافا.

ستخبرني، لما قد يود شخص تحويل الكود جافا الى كود Scala لتطوير برمجية أندرويد؟ تذكر دائما يا صديقي أن الـ Scala رفيعة المستوى  High Level تدمج بين كل من البرمجة العملية و البرمجة كائنية التوجه، و يمكنها أن تختصر عليك أطنانا من الأسطر البرمجية في جافا في عشرات الأسطر في Scala، كما لو أخبرناك أنه يمكنك تطوير تطبيق أندرويد بإستخدام Python بدل Java من حيث كتابة الكود البرمجي.

أما من حيث التشغيل و الآداء فلا يختلف الأمر إطلاقا عن الجافا، و ستلاحظ أن الكفاءة و العمل متشابهين كثيراً بين تطبيق جافا و تطبيق تم تطويره بإستخدام Scala.

عن noureldien

التعليقات مغلقة

إلى الأعلى