ایپل نے سوئفٹ سسٹم لائبریری کے لیے سوئفٹ 5.3 پروگرامنگ لینگویج اور اوپن سورس کوڈ جاری کیا۔

سیب اعلان کیا لائبریری کے سورس کوڈ کو کھولنے کے بارے میں سوئفٹ سسٹم، جو سسٹم کالز اور نچلی سطح کے ڈیٹا کی اقسام کو پروگرامنگ انٹرفیس کا ایک محاوراتی سیٹ فراہم کرتا ہے۔ سوئفٹ سسٹم اصل میں صرف ایپل پلیٹ فارمز کے لیے سسٹم کالز کی حمایت کرتا تھا، لیکن اب اسے لینکس پر پورٹ کر دیا گیا ہے۔ سوئفٹ سسٹم کوڈ سوئفٹ زبان میں لکھا جاتا ہے اور نے بانٹا اپاچی 2.0 کے تحت لائسنس یافتہ۔

سوئفٹ سسٹم سسٹم انٹرفیس تک رسائی کا ایک واحد نقطہ فراہم کرتا ہے جسے سوئفٹ پروگراموں میں مخصوص C فریم ورک کی ضرورت کے بغیر تمام معاون پلیٹ فارمز پر استعمال کیا جا سکتا ہے۔ ایک ہی وقت میں، سوئفٹ سسٹم سسٹم کالز کو یکجا نہیں کرتا، بلکہ ہر معاون پلیٹ فارم کے لیے APIs کا ایک الگ ذیلی سیٹ فراہم کرتا ہے، اس پلیٹ فارم کے رویے کو مدنظر رکھتے ہوئے اور آپریٹنگ سسٹم کے نچلے درجے کے انٹرفیس کو درست طریقے سے ظاہر کرتا ہے۔ سوئفٹ سسٹم بنانے کا کلیدی مقصد کراس پلیٹ فارم لائبریریوں اور ایپلی کیشنز کی ترقی کو آسان بنانا ہے جیسے سوئفٹ این آئی او и سوئفٹ پی ایم. سوئفٹ سسٹم نچلے درجے کے پرائمیٹوز تک رسائی حاصل کرتے وقت "#if os()" کی بنیاد پر برانچنگ کی ضرورت کو ختم نہیں کرتا ہے، لیکن یہ اس کام کو محفوظ بناتا ہے اور
آرام دہ

آپ بھی نوٹ کر سکتے ہیں۔ اشاعت پروگرامنگ زبان کی رہائی سوئفٹ 5.3. سرکاری تعمیرات تیار لینکس (Ubuntu 16.04/18.04/20.04، CentOS 7/8)، macOS (Xcode 12) اور Windows 10 کے لیے۔ ماخذ متن پھیلاؤ اپاچی 2.0 کے تحت لائسنس یافتہ۔

نئی ریلیز میں ونڈوز پلیٹ فارم کے لیے ابتدائی مدد شامل کی گئی ہے۔ شروع ونڈوز 10 پر سوئفٹ ایپلی کیشنز بنانے اور چلانے کے لیے ٹولز کی فراہمی۔ زبان کی فعالیت کو بہتر بنایا جاتا رہا۔ نئی خصوصیات میں اسٹرنگ کی قسم کے لیے ایک انیشیلائزر کا اضافہ، "جہاں" اظہار کے استعمال کو بڑھانا، didSet کے سیمنٹکس کو تبدیل کرنا، کیچ ایکسپریشنز میں ایک سے زیادہ پیٹرن کی وضاحت کے لیے سپورٹ، ایک قسم کا اضافہ شامل ہے۔
فلوٹ 16، جوہری میموری آپریشنز

نتیجے میں آنے والی ایپلی کیشنز کا سائز کم کر دیا گیا ہے - اگر Swift 4 میں اسمبل پروگرام کا سائز Objective-C کے ورژن سے 2.3 گنا بڑا تھا، تو اب اس فرق کو کم کر کے 1.5 گنا کر دیا گیا ہے۔ نئی ریلیز دیگر لائبریریوں سے درآمد کی گئی پراپرٹیز اور فنکشنز کی ایک بڑی تعداد کے ساتھ اضافی بلڈنگ اور بلڈنگ کوڈ کو بھی نمایاں طور پر تیز کرتی ہے۔ کمپائلر میں تشخیصی ٹولز اور ایرر میسیجز کے معیار کو بہتر بنایا گیا ہے۔ پیکیج مینیجر رن ٹائم کے وقت درکار اضافی وسائل کو شامل کرنے کی صلاحیت فراہم کرتا ہے، جیسے کہ تصاویر، پیکجوں میں۔ پیکیج مینیجر لوکلائزیشن کے اجزاء اور مشروط انحصار کی وضاحت کرنے کی صلاحیت کے لیے بھی تعاون شامل کرتا ہے۔

یاد رکھیں کہ سوئفٹ زبان C اور Objective-C زبانوں کے بہترین عناصر کو وراثت میں حاصل کرتی ہے، اور آبجیکٹو-C کے ساتھ مطابقت رکھنے والا ایک آبجیکٹ ماڈل فراہم کرتی ہے (سوفٹ کوڈ کو C اور Objective-C کوڈ کے ساتھ ملایا جا سکتا ہے)، لیکن خودکار کے استعمال میں فرق ہے۔ میموری مختص اور متغیرات اور صفوں کا کنٹرول اوور فلو، جو کوڈ کی وشوسنییتا اور حفاظت کو نمایاں طور پر بڑھاتا ہے۔ سوئفٹ پروگرامنگ کی بہت سی جدید تکنیکیں بھی پیش کرتا ہے، جیسے کہ بندش، عام پروگرامنگ، لیمبڈا ایکسپریشنز، ٹیپلز اور لغت کی قسمیں، فاسٹ کلیکشن آپریشنز، اور فنکشنل پروگرامنگ کے عناصر۔ لینکس کا ورژن Objective-C رن ٹائم سے منسلک نہیں ہے، جو زبان کو ایسے ماحول میں استعمال کرنے کی اجازت دیتا ہے جس میں Objective-C کی حمایت کی کمی ہے۔

سوئفٹ کا نفاذ مفت LLVM پروجیکٹ کی ٹیکنالوجیز کا استعمال کرتے ہوئے بنایا گیا ہے۔ اعلی کارکردگی کو یقینی بنانے کے لیے، Swift پروگراموں کو مقامی کوڈ میں مرتب کیا جاتا ہے جو Apple ٹیسٹوں میں Objective-C کوڈ سے 30% تیز چلتا ہے۔ کوڑا اٹھانے والے کے بجائے، سوئفٹ آبجیکٹ ریفرنس گنتی کا استعمال کرتا ہے۔ پیکیج میں ایک پیکیج مینیجر شامل ہے۔ سوئفٹ پیکیج مینیجر، جو سوئفٹ زبان میں لائبریریوں اور ایپلیکیشنز کے ساتھ ماڈیولز اور پیکجز کی تقسیم، انحصار کا انتظام، خودکار لوڈنگ، عمارت اور اجزاء کو لنک کرنے کے لیے ٹولز فراہم کرتا ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں