ما هي لغة سويفت Swift
مع مليارات المستخدمين حول العالم، الذين ربّما تكون أنت واحدًا منهم، تعدّ شركة Apple العملاقة رائدة الابتكار والاختراع منذ تأسيسها وحتى يومنا هذا.
لذا إن كنت تبحث عن سبيلٍ للتّصميم، والتّطوير على إحدى منصّاتها أو أجهزتها؛ مثل MacOS، أ, iOS، فإنّ خير وسيلة لذلك هو لغةٌ من صلب الشركة، ولأجل غاية تلك الأنظمة والأجهزة، والحديث هنا عن Swift، اللّغة الجديدة “المفضّلة” عند Apple.
ما هي Swift!؟
هي لغة برمجةٍ مخصّصةٍ لتطبيقات iOS و macOS و watchOS و tvOS و Linux.
وتعدّ علامة Swift شركةً تم إنشاؤها بواسطة شركة Apple في عام 2014، ومع هذا الدّعم من إحدى أكثر شركات التّكنولوجيا تأثيرًا في العالم، تمّ اعتماد Swift لتصبح اللّغة الأساسيّة لتطوير iOS وما بعده.
خصائص لغة Swift
المصدر المفتوح
يعترف مؤسسو Swift بحقيقة أنّه من أجل بناء لغة برمجةٍ ناجحةٍ، يجب أن تكون التّكنولوجيا مفتوحةً للجميع.
لذلك، وفي غضون ثلاث سنواتٍ من تأسيسها، استحوذت Swift على مجتمع داعمٍ كبيرٍ، ووفرةٍ من أدوات الطّرف الثّالث.
الأمان
يشجّع بناء الجملة في لغة Swift على كتابة كودٍ نظيفٍ ومتّسقٍ، وقد يبدو “صارمًا” في بعض الأحيان، كما وتوفّر Swift ضماناتٍ لمنع الأخطاء وتحسين إمكانيّة القراءة.
السّرعة
تم بناء سويفت مع وضع الأداء في الاعتبار؛ إذ لا يساعد تركيبها البسيط وحياكتها على تطويرها بشكلٍ أسرع فحسب، بل إنها ترقى إلى أن تتّصف بجدارةٍ بمعنى اسمها “سريع”.
وكما هو مذكورٌ في apple.com، فإنّ Swift أسرع بـ (2.6) مرّة من Objective-C، وبـ ( 8.4) مرّة من Python.
تنامي الطّلب
اعتبارًا من مارس 2018، احتلّت Swift المرتبة الثّانية عشَر على مستوى اللّغات الأكثر شعبيّةً، وباتت تتفوّق على Objective-C و Go و Scala و R.
مع أكثر من 40 ألفًا من النّجوم على GitHub، و 187 ألف سؤالٍ على منصّة StackOverflow، أصبحت هذه اللّغة “اليافعة”واحدةً من اللّغات المهيمنة في عالم الصّناعة الّتقنيّة.
تاريخ موجز للغة Swift
(2013-2014) – التّأسيس والإطلاق
قُدِّمَت Swift لأوّل مّرة في مؤتمر أبل 2014 للمطوّرين في جميع أنحاء العالم، وقد ولّدت جدلًا كبيرًا منذ ذلك الحين.
بدأ Chris Lattner، كبير مديري شركة أبل في قسم أدوات المطوّر، تصميم المفاهيم الأساسيّة للّغة الجديدة في عام 2010.
حتى عام 2013، لم يتمكّن الفريق من حل سؤالٍ استراتيجيٍ حول كيفيّة توافق اللّغة الجديدة مع البيئة الحالية لـ Objective-C.
كان من الممكن أن يكون لإجبار جميع مطوّري iOS على الانتقال إلى لغةٍ جديدةٍ تأثير كبيرٍ على المجتمع، لذا، قرّرت الشّركة الاستمرار في الاستثمار في Objective-C مع الالتزام أيضًا بتطوير لغة برمجةٍ آمنةٍ جديدةٍ.
بعد عامٍ واحدٍ، تمكّن مطوّرو Apple المسجّلون من وضع أيديهم على النّسخة التّجريبيّة من اللّغة الجديدة.
في الشّهر الأوّل بعد نشرها كجزءٍ من أدوات Xcode ، تم تنزيل Swift أكثر من 11 مليون مرّة، وفقًا لـ Tim Cook .
كانت ردود الفعل الأوّلية على Swift مختلطةً في أحسن الأحوال؛ حيث كان بعض المطوّرين سعداء بميزاتها ومرونتها وبساطتها، في حين انتقدها آخرون.
مع ذلك، اتّفق معظمهم على أنه من السّابق لأوانه استخدام Swift في الإنتاج.
كانت اللّغة تتطّور بسرعةٍ، إذ كان يتمّ إدخال تغييراتٍ كبيرةٍ مع كل إصدارٍ جديد، ولكن ذلك لم يمنع سويفت من أن تصبح لغة التكنولوجيا “الأكثر شعبيّة”، وفقًا لمسح StackOverflow Developer 2015، وفي الوقت نفسه، تم إدراج اللّغة ضمن قائمة التّكنولوجيات العشرة “الأكثر طلبًا”.
(2015) – التّحوّل للمصدر المفتوح
منذ أن قرّرت شركة Apple جعل لغة سويفت مفتوحة المصدر في عام 2015، لم تتوقّف عن النّمو أبدًا، وهي اليوم تُعتِبر اللّغة الأسرع نموّاً في التّاريخ وفقاً لمؤشر TIOBE، وقد وصلت إلى الـ “Top10” في آذار 2017.
اليوم، تُستخدم SWIFT بنشاطٍ في تطوير iOS وتطبيقاته، وبناء تطبيقات سطح المكتب لـ OSX، وحتى كتقنيّة من جانب الخادم بفضل IBM.
أحد الأسباب التي جعلت سويفت تحظى بشعبيّةٍ كبيرةٍ خلال هذه الفترة القصيرة هو على الأرجح حقيقة أن شركة أبل هي الّتي صنعتها، فعندما تقوم شركة تحمل مثل هذا الاسم العالميّ، مع جيشٍ متعدد الملايين من الأتباع المخلصين، بعمل شيءٍ ما، فإن فرص النّجاح تتعاظم بشدّةٍ.
الآن، دعونا نلقي نظرةً دقيقةً على الفوائد والعيوب الهامة التي تصاحب Swift.
ماذا يجب أن تعرف عن هذه اللّغة!؟ هل هي جاهزةٌ للاستخدام في الإنتاج!؟ ما هي المخاطر الّتي ينطوي عليها بناء تطبيق Swift!؟
ميزات وإيجابيّات Swift
تُعدّ لغة Swift في كثير من الجوانب ذات مستوىً أعلى من سابقتها ـ C-Objective ـ ووفقًا للوصف الرسميّ من Apple؛ فإنّ سويفت تجمع بين أداء وكفاءة لغات البرمجة من خلال البساطة، وتفاعل تلك اللّغات.
التطوّر السريع
إن Swift لغةٌ نظيفةٌ ومعبرةٌ مع أسلوب بناءٍ وقواعدٍ مبسّطة، وتُعدّ سهلة القراءة والكتابة، وبالإضافة لذلك، فهي موجزةٌ للغاية، مما يعني كميّةً أقلّ من أسطر البرمجة لأداء نفس المهمّة، بالمقارنة مع Objective-C.
تحسين السّلامة والأداء
كما يوحي اسمها، فإن Swift تضفي عنصريّ “الجودة والسّرعة”، إذ تم تصميم اللّغة في البداية لتتفوّق على سابقتها، وبالفعل؛ فقد حققق الإصدار الأوّليّ زيادةً بنسبة 40٪ في الأداء مقارنةً بـ Objective-C.
واحدةٌ من نقاط قوّة Swift أيضًا هي سلامتها، فنظام الكتابة القويّ ومعالج الأخطاء يمنع تعطّل التّعليمات البرمجيّة، ما يسمح لك بمشاهدة الأخطاء في الشّفرة، وإصلاحها بسرعةٍ، وهذا ما يقلّل بشكلٍ كبيرٍ من الوقت والجهد.
انخفاض مساحة الذّاكرة
عند إنشاء تطبيق، يمكنك استخدام الكثير من شفرات الطّرف الثالث، والأطر، أو المكتبات التي يمكن إعادة استخدامها والتي غالبًا ما تكون مفتوحة المصدر، ويتمّ تجميعها في شفرة تطبيقك، ويمكن أن تكون هذه المكتبات ثابتة، أو ديناميكيّة (مشتركة).
قدّمت Swift أوّل المكتبات الديناميكيّة إلى نظام iOS عند إطلاقها.
إن المكتبات الثابتة تزيد حجم، ووقت تنفيذ التّطبيق، كما أنّه لا يمكن تحديثها تلقائيًّا، في حين توجد المكتبات الديناميكية خارج الشّيفرة، ولا يتمّ تحميلها إلا عند الحاجة إليها.
على الرّغم من أن الوصول إلى الرّمز الديناميكي من الخارج يستغرق وقتًا أطول من الاتصال به عندما يكون مدرجًا بالفعل، فلديك خيار الاستمرار في استخدام المكتبات الثّابتة عندما تريد عزل التّطبيقات الّتي ليس من المفترض مشاركتها.
إمكانية التشغيل المتداخل مع Objective-C
هناك سبيلان محتملان لاستخدامهما في نفس المشروع: إما إضافة ميزاتٍ جديدةٍ من Swift إلى كود Objective-C، أو استخدام عناصر Objective-C في مشروع Swift الجديد.
وفي كلتا الحالتين، تتوافق لغة Swift تمامًا مع Objective-C، ويمكن استخدامهما بشكلٍ متبادلٍ في نفس المشروع.
هذا مفيدٌ بشكلٍ خاص للمشروعات الكبيرة التي يتم توسيعها أو تحديثها،إذ تصبح عملية النقل أسهل، وأقلّ خطورةً.
إدارة الذاكرة التلقائية
تستخدم Swift إحصاء الذاكرة التلقائية (Automatic Memory Counting: ARC)، وهي تقنيةٌ تهدف إلى إضافة وظيفة جامع البيانات المهملة، والتي لم يتم تقديمها إلى iOS من قبل.
تستخدم لغات مثل Java و C# و Go جامعات البيانات المهملة لحذف مثيلات الفئة التي لم تعد مستخدمةً.
وهي مفيدةٌ لتقليل مساحة الذاكرة، ولكن، يمكن أن تضيف ما يصل إلى 20 بالمائة إلى نسبة عمل وحدة المعالجة المركزية.
قبل ARC، كان على مطوري iOS إدارة الذاكرة يدويًا والتحكم في حسابات الاحتفاظ بكل فئةٍ.
يقوم ARC الخاص بـ Swift بتحديد “الحالات instances ” التي لم تعد قيد الاستخدام، ويتخلّص منها نيابةً عنك، فهو بالتالي يسمح لك بزيادة أداء تطبيقك دون التأخير في الذاكرة، أو وحدة المعالجة المركزية.
الدعم عبر الأجهزة، وأنظمة التشغيل:
لا توفر Swift دعمًا لأجهزة iPhone و iPad فقط، بل لجميع أجهزة Apple، بما في ذلك Apple TV و Apple Watch و Mac.
وبصرف النظر عن ذلك، هناك بالفعل دعم لنظام Linux، ونية لنقلها رسميًا إلى منصة Windows، حتى أن هناك بعض الشائعات التي تقول إن Google ستزيح Java لصالح Swift باعتبارها لغة من الدرجة الأولى لتطوير Android، ومع ذلك، فإن الإعلان الأخير من Google I / O يبين أن Kotlin هو مستقبل Android .
المجتمع مفتوح المصدر، وسهولة التعلم
مع الدعم القوي من شركة آبل وآي بي إم ، سرعان ما اكتسبت Swift واحدًا من أكثر مجتمعات المصادر المفتوحة نشاطًا وحيويةً، إذ تعد Swift حاليًا أكثر اللغات نجوميةً على GitHub ، يليها Google Go.
أمّا في مجال تعلّم اللغة، فبالإضافة إلى الكتب الإلكترونية الرسمية، هناك الكثير من المبادئ التوجيهية للمجتمع، والبودكاست، ودورات عبر الإنترنت، وحتى الحياة الواقعية، وتطبيقات الطرف الثالث، وبالطبع Swift Playgrounds – وهي تجاربٌ تعليميةٌ مرموقةٌ من Apple.
سلبيات Swift
في حين يبدو أن هناك الكثير من الأسباب التي تجعل منها لغةً “كاملةً”، فإن Swift في الواقع، لا تزال بعيدةً عن ذلك.
العديد من المطورين وأصحاب الأعمال حذرون للغاية عندما يتعلق الأمر بالانتقال إلى اللغة الجديدة؛ وهناك عدة أسبابٍ لذلك.
Swift لا تزال “يافعةً” جدًّا
قد تكون Swift أسرع وأقوى لغةٍ في العالم، لكنها ما زالت صغيرة جدًا، فلديها العديد من القضايا التي تحتاج إلى المعالجة، والتنمية، فبعد كل شيءٍ، ثلاث سنواتٍ هو وقتٌ قليلٌ جدًّا لأي لغةٍ لتنضج، حتى لو كانت من Apple.
علاوةً على ذلك، فهي تنطوي على عددٍ محدودٍ للغاية من المكتبات والأدوات “الأصلية”، إذ إن العديد من الموارد والأدوات المخصصة لإصدارات Swift السابقة لا فائدة منها مع الإصدارات الأحدث.
تُعتبر Swift “هدفًا متحركًا”
غالباً ما توصف Swift بأنّها غير مستقرةٍ، وذلك بسبب التغييرات الرئيسية التي يتم إدخالها مع كل إصدارٍ جديدٍ.
محدودية المواهب
بينما ينمو مجتمع Swift بسرعةٍ، فإنه لا يزال أصغر بكثيرٍ مقارنةً بأي لغةٍ أخرى مفتوحة المصدر.
ووفقًا لأحدث استبيان للمطورين في StackOverflow، فإن 8.1 بالمائة فقط من 78،000 شخصٍ، هم من يستخدمون Swift.
وفي الوقت نفسه، يفيد Upwork.com، وهو سوقٌ عالميٌّ مستقلٌ، أن الطلب على المبرمجين في Swift ينمو، مما قد يؤدي إلى وجود فجوةٍ في الموهبة.
أي أنّه رغم وجود عدد لا بأس به من المطوّرين، إلّا أن القليل منهم من لديه تلك الخبرة القديرة!.
عدم وجود دعم لإصدارات iOS السابقة
واحدةٌ من المشاكل الرئيسية التي واجهها العديد من المطورين هو عدم التوافق مع الإصدارات القديمة، إذ سيضطر مطورو البرامج إلى إعادة كتابة مشروعاتهم بالكامل إذا كانوا يريدون التبديل إلى أحدث إصدارٍ من Swift.
بينما يوفر Xcode أداةً لمساعدة المطورين على تحديث رمز Swift الخاص بهم إلى إصدارات أحدث، فإنه لا يقوم بإصلاح كافة المشكلات، وبالتالي، فإن نقل مشروعك إلى إصدار أحدث من اللغة قد يكون مضيعةً للوقت، ومكلفًا للغاية.
يمكنك استخدام Swift فقط في التطبيقات التي تستهدف iOS7 والإصدارات الأحدث، وهنا يجدر الذكر أن أقل من 5٪ من أجهزة Apple تعمل حاليًا على iOS6 أو ما قبله.
هل يمكن أن تكون Swift مستقبل تطوير iOS؟
على الرغم من سنها الصغير، والجدل المصاحب لها، فإن Swift لديها بالفعل عدد من قصص النجاح البارزة.
بعض الشركات التي اختارت اللغة الجديدة هي Lyft و LinkedIn و Coursera و Pandora و Vimeo و Twitter و Fitbit و Groupon. علاوةً على ذلك ، أفادت تقارير أن Facebook وUber قد أبدت اهتمامًا كبيرًا في Swift.
مع الإصدار الجديد ـ المفترض أنّه الأكثر استقرارًا من Swift ـ ,المقرر صدوره في وقتٍ لاحقٍ من هذا العام، يأمل المطوّرون أن تتم معالجة العديد من العيوب المدرجة.
إن تبني سويفت سيستمر في النمو، ما قد يؤدي قريبًا إلى إزاحة Objective-C باعتبارها لغة رائدة من الدرجة الأولى لتطوير تطبيقات الأجهزة المحمولة بنظام iOS .
بالنسبة لأصحاب الأعمال، من الضروري التجهيز لأي تغييراتٍ قد تفرضها السوق، بعبارةٍ أخرى؛ فإن الاستعداد للانتقال إلى اللغة الجديدة بأقل جهدٍ وبتكلفةٍ معقولةٍ ينبغي أن يكون أحد الاستراتيجيات الرئيسية في المستقبل القريب.