ஆப்பிள் ஸ்விஃப்ட் 5.3 நிரலாக்க மொழி மற்றும் திறந்த மூல ஸ்விஃப்ட் சிஸ்டம் நூலகத்தை வெளியிடுகிறது

ஆப்பிள் அறிவித்தார் நூலகத்தின் மூலக் குறியீட்டைத் திறப்பது பற்றி ஸ்விஃப்ட் சிஸ்டம், இது கணினி அழைப்புகள் மற்றும் குறைந்த-நிலை தரவு வகைகளுக்கு நிரலாக்க இடைமுகங்களின் ஒரு மொழியியல் தொகுப்பை வழங்குகிறது. ஸ்விஃப்ட் சிஸ்டம் முதலில் ஆப்பிள் இயங்குதளங்களுக்கான கணினி அழைப்புகளை மட்டுமே ஆதரித்தது, ஆனால் இப்போது லினக்ஸுக்கு போர்ட் செய்யப்பட்டுள்ளது. ஸ்விஃப்ட் சிஸ்டம் குறியீடு ஸ்விஃப்ட் மொழியில் எழுதப்பட்டுள்ளது வழங்கியது Apache 2.0 இன் கீழ் உரிமம் பெற்றது.

ஸ்விஃப்ட் சிஸ்டம், ஸ்விஃப்ட் புரோகிராம்களில் குறிப்பிட்ட சி ஃப்ரேம்வொர்க்குகள் தேவையில்லாமல், ஆதரிக்கப்படும் அனைத்து தளங்களிலும் பயன்படுத்தக்கூடிய சிஸ்டம் இடைமுகங்களுக்கான ஒரு அணுகல் புள்ளியை வழங்குகிறது. அதே நேரத்தில், ஸ்விஃப்ட் சிஸ்டம் கணினி அழைப்புகளை ஒருங்கிணைக்கவில்லை, ஆனால் ஒவ்வொரு ஆதரிக்கப்படும் தளத்திற்கும் தனித்தனியான API களை வழங்குகிறது, இந்த தளத்தின் நடத்தையை கணக்கில் எடுத்துக்கொண்டு இயக்க முறைமையின் குறைந்த-நிலை இடைமுகங்களை துல்லியமாக பிரதிபலிக்கிறது. ஸ்விஃப்ட் சிஸ்டத்தை உருவாக்குவதன் முக்கிய குறிக்கோள், குறுக்கு-தளம் நூலகங்கள் மற்றும் பயன்பாடுகளின் வளர்ச்சியை எளிதாக்குவதாகும். SwiftNIO и SwiftPM. ஸ்விஃப்ட் சிஸ்டம், குறைந்த-நிலை ப்ரிமிட்டிவ்களை அணுகும் போது "#if os()" அடிப்படையில் கிளைத்தலின் தேவையை நீக்காது, ஆனால் இது இந்த வேலையை பாதுகாப்பானதாக்குகிறது மற்றும்
வசதியான.

நீங்களும் கவனிக்கலாம் வெளியீடு நிரலாக்க மொழி வெளியீடு ஸ்விஃப்ட் 5.3. உத்தியோகபூர்வ கட்டிடங்கள் தயார் Linux க்கான (Ubuntu 16.04/18.04/20.04, CentOS 7/8), macOS (Xcode 12) மற்றும் Windows 10. மூல உரைகள் பரவுதல் Apache 2.0 இன் கீழ் உரிமம் பெற்றது.

புதிய வெளியீடு விண்டோஸ் இயங்குதளத்திற்கான ஆரம்ப ஆதரவைச் சேர்க்கிறது மற்றும் தொடங்கியது விண்டோஸ் 10 இல் ஸ்விஃப்ட் அப்ளிகேஷன்களை உருவாக்குவதற்கும் இயக்குவதற்கும் கருவிகள் வழங்கல். மொழிச் செயல்பாடு தொடர்ந்து செம்மைப்படுத்தப்பட்டது. புதிய அம்சங்களில் சரம் வகைக்கான துவக்கியை சேர்த்தல், "எங்கே" வெளிப்பாட்டின் விரிவாக்கப்பட்ட பயன்பாடு, டிட்செட் சொற்பொருள் மாற்றங்கள், கேட்ச் வெளிப்பாடுகளில் பல வடிவங்களைக் குறிப்பிடுவதற்கான ஆதரவு மற்றும் ஒரு வகையைச் சேர்த்தல் ஆகியவை அடங்கும்.
மிதவை16, அணு நினைவக செயல்பாடுகள்.

இதன் விளைவாக வரும் பயன்பாடுகளின் அளவு குறைக்கப்பட்டுள்ளது - ஸ்விஃப்ட் 4 இல் கூடியிருந்த நிரலின் அளவு குறிக்கோள்-C இல் உள்ள பதிப்பை விட 2.3 மடங்கு அதிகமாக இருந்தால், இப்போது இடைவெளி 1.5 மடங்கு குறைக்கப்பட்டுள்ளது. புதிய வெளியீடு, மற்ற நூலகங்களிலிருந்து இறக்குமதி செய்யப்பட்ட ஏராளமான பண்புகள் மற்றும் செயல்பாடுகளுடன் கூடிய கட்டிடம் மற்றும் கட்டிடக் குறியீட்டை கணிசமாக வேகப்படுத்துகிறது. கம்பைலரில் உள்ள கண்டறியும் கருவிகள் மற்றும் பிழை செய்திகளின் தரம் மேம்படுத்தப்பட்டுள்ளன. தொகுப்பு மேலாளர் இயக்க நேரத்தில் தேவைப்படும் படங்கள் போன்ற கூடுதல் ஆதாரங்களை தொகுப்புகளில் சேர்க்கும் திறனை வழங்குகிறது. தொகுப்பு மேலாளர் உள்ளூர்மயமாக்கலுக்கான கூறுகளுக்கான ஆதரவையும் நிபந்தனை சார்புகளை வரையறுக்கும் திறனையும் சேர்க்கிறது.

ஸ்விஃப்ட் மொழியானது சி மற்றும் அப்ஜெக்டிவ்-சி மொழிகளின் சிறந்த கூறுகளைப் பெறுகிறது, மேலும் அப்ஜெக்டிவ்-சி (ஸ்விஃப்ட் குறியீட்டை சி மற்றும் அப்ஜெக்டிவ்-சி குறியீட்டுடன் கலக்கலாம்), ஆனால் தானாகப் பயன்படுத்துவதில் வேறுபடுகிறது. நினைவக ஒதுக்கீடு மற்றும் மாறிகள் மற்றும் வரிசைகளின் வழிதல் கட்டுப்பாடு, இது குறியீட்டின் நம்பகத்தன்மை மற்றும் பாதுகாப்பை கணிசமாக அதிகரிக்கிறது. மூடல்கள், பொதுவான நிரலாக்கம், லாம்ப்டா வெளிப்பாடுகள், டூப்பிள்கள் மற்றும் அகராதி வகைகள், வேகமான சேகரிப்பு செயல்பாடுகள் மற்றும் செயல்பாட்டு நிரலாக்கத்தின் கூறுகள் போன்ற பல நவீன நிரலாக்க நுட்பங்களையும் ஸ்விஃப்ட் வழங்குகிறது. Linux பதிப்பு, Objective-C இயக்க நேரத்துடன் இணைக்கப்படவில்லை, இது Objective-C ஆதரவு இல்லாத சூழல்களில் மொழியைப் பயன்படுத்த அனுமதிக்கிறது.

ஸ்விஃப்ட் செயல்படுத்தல் இலவச LLVM திட்டத்தில் இருந்து தொழில்நுட்பங்களைப் பயன்படுத்தி கட்டமைக்கப்பட்டுள்ளது. உயர் செயல்திறனை உறுதிப்படுத்த, ஆப்பிள் சோதனைகளில் ஆப்ஜெக்டிவ்-சி குறியீட்டை விட 30% வேகமாக இயங்கும் நேட்டிவ் கோட் ஸ்விஃப்ட் புரோகிராம்கள் தொகுக்கப்படுகின்றன. குப்பை சேகரிப்பாளருக்கு பதிலாக, ஸ்விஃப்ட் பொருள் குறிப்பு எண்ணுதலைப் பயன்படுத்துகிறது. தொகுப்பில் ஒரு தொகுப்பு மேலாளர் அடங்கும் ஸ்விஃப்ட் தொகுப்பு மேலாளர், இது ஸ்விஃப்ட் மொழியில் நூலகங்கள் மற்றும் பயன்பாடுகளுடன் தொகுதிகள் மற்றும் தொகுப்புகளை விநியோகம் செய்வதற்கான கருவிகளை வழங்குகிறது, சார்புகளை நிர்வகித்தல், தானியங்கு ஏற்றுதல், கூறுகளை உருவாக்குதல் மற்றும் இணைத்தல்.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்