டார்ட் 2.15 நிரலாக்க மொழி மற்றும் ஃப்ளட்டர் 2.8 கட்டமைப்பு உள்ளது

டார்ட் 2.15 நிரலாக்க மொழியின் வெளியீட்டை Google வெளியிட்டுள்ளது, இது டார்ட் 2 இன் தீவிரமான மறுவடிவமைப்பு செய்யப்பட்ட கிளையின் வளர்ச்சியைத் தொடர்கிறது, இது டார்ட் மொழியின் அசல் பதிப்பிலிருந்து வலுவான நிலையான தட்டச்சு மூலம் வேறுபடுகிறது (வகைகளை தானாக ஊகிக்க முடியும், எனவே வகைகளைக் குறிப்பிடுவது அவசியமில்லை, ஆனால் டைனமிக் தட்டச்சு இனி பயன்படுத்தப்படாது மற்றும் ஆரம்பத்தில் கணக்கிடப்பட்ட வகை மாறிக்கு ஒதுக்கப்படும் மற்றும் கடுமையான வகை சரிபார்ப்பு பின்னர் பயன்படுத்தப்படுகிறது).

டார்ட் மொழியின் அம்சங்கள்:

  • ஜாவாஸ்கிரிப்ட், சி மற்றும் ஜாவா புரோகிராமர்களுக்குத் தெரிந்த மற்றும் எளிதாகக் கற்றுக்கொள்ளக்கூடிய தொடரியல்.
  • அனைத்து நவீன இணைய உலாவிகள் மற்றும் பல்வேறு வகையான சூழல்களில், கையடக்க சாதனங்கள் முதல் சக்திவாய்ந்த சேவையகங்கள் வரை விரைவான வெளியீடு மற்றும் உயர் செயல்திறனை உறுதி செய்தல்.
  • ஏற்கனவே உள்ள முறைகள் மற்றும் தரவை இணைக்கவும் மீண்டும் பயன்படுத்தவும் அனுமதிக்கும் வகுப்புகள் மற்றும் இடைமுகங்களை வரையறுக்கும் திறன்.
  • வகைகளைக் குறிப்பிடுவது பிழைகளை எளிதாக்குகிறது மற்றும் பிழைகளைக் கண்டறிவதை எளிதாக்குகிறது, குறியீட்டை தெளிவாகவும் படிக்கக்கூடியதாகவும் ஆக்குகிறது, மேலும் மூன்றாம் தரப்பு டெவலப்பர்களால் அதன் திருத்தம் மற்றும் பகுப்பாய்வை எளிதாக்குகிறது.
  • ஆதரிக்கப்படும் வகைகளில் பின்வருவன அடங்கும்: பல்வேறு வகையான ஹாஷ்கள், வரிசைகள் மற்றும் பட்டியல்கள், வரிசைகள், எண் மற்றும் சரம் வகைகள், தேதி மற்றும் நேரத்தை நிர்ணயிக்கும் வகைகள், வழக்கமான வெளிப்பாடுகள் (RegExp). உங்கள் சொந்த வகைகளை உருவாக்குவது சாத்தியமாகும்.
  • இணையான செயலாக்கத்தை ஒழுங்கமைக்க, தனிமைப்படுத்தப்பட்ட பண்புக்கூறுடன் வகுப்புகளைப் பயன்படுத்த முன்மொழியப்பட்டது, இதன் குறியீடு ஒரு தனி நினைவக பகுதியில் தனிமைப்படுத்தப்பட்ட இடத்தில் முற்றிலும் செயல்படுத்தப்படுகிறது, செய்திகளை அனுப்புவதன் மூலம் முக்கிய செயல்முறையுடன் தொடர்பு கொள்கிறது.
  • பெரிய வலைத் திட்டங்களின் ஆதரவையும் பிழைத்திருத்தத்தையும் எளிதாக்கும் நூலகங்களைப் பயன்படுத்துவதற்கான ஆதரவு. செயல்பாடுகளின் மூன்றாம் தரப்பு செயலாக்கங்கள் பகிரப்பட்ட நூலகங்களின் வடிவத்தில் சேர்க்கப்படலாம். பயன்பாடுகளை பகுதிகளாகப் பிரிக்கலாம் மற்றும் ஒவ்வொரு பகுதியின் வளர்ச்சியையும் ஒரு தனி புரோகிராமர்கள் குழுவிடம் ஒப்படைக்கலாம்.
  • டார்ட் மொழியில் வளர்ச்சியை ஆதரிப்பதற்கான ஆயத்த கருவிகளின் தொகுப்பு, இதில் டைனமிக் மேம்பாடு மற்றும் பிழைத்திருத்தக் கருவிகள் பறக்கும்போது குறியீடு திருத்தம் (“திருத்து-தொடர்ந்து”) ஆகியவை அடங்கும்.
  • டார்ட் மொழியில் வளர்ச்சியை எளிதாக்க, இது ஒரு SDK, ஒரு தொகுப்பு மேலாளர் பப், ஒரு நிலையான குறியீடு பகுப்பாய்வி dart_analyzer, நூலகங்களின் தொகுப்பு, ஒருங்கிணைந்த மேம்பாட்டு சூழல் டார்ட்பேட் மற்றும் IntelliJ IDEA, WebStorm, Emacs, Sublime Text ஆகியவற்றிற்கான டார்ட்-இயக்கப்பட்ட செருகுநிரல்களுடன் வருகிறது. 2 மற்றும் விம்.
  • நூலகங்கள் மற்றும் பயன்பாடுகளுடன் கூடிய கூடுதல் தொகுப்புகள் பப் களஞ்சியத்தின் மூலம் விநியோகிக்கப்படுகின்றன, இதில் சுமார் 22 ஆயிரம் தொகுப்புகள் உள்ளன.

டார்ட் 2.15 வெளியீட்டில் முக்கிய மாற்றங்கள்:

  • கையாளுபவர்களை தனிமைப்படுத்துவதன் மூலம் பணிகளை விரைவாக இணையாக நிறைவேற்றுவதற்கான கருவிகளை வழங்குகிறது. மல்டி-கோர் சிஸ்டங்களில், டார்ட் ரன்டைம் முன்னிருப்பாக ஒரு CPU மையத்தில் பயன்பாட்டுக் குறியீட்டை இயக்குகிறது மற்றும் ஒத்திசைவற்ற I/O, கோப்புகளுக்கு எழுதுதல் அல்லது பிணைய அழைப்புகள் போன்ற கணினி பணிகளைச் செய்ய மற்ற கோர்களைப் பயன்படுத்துகிறது. எடுத்துக்காட்டாக, இடைமுகத்தில் அனிமேஷனை வழங்குவதற்கு, அவற்றின் ஹேண்ட்லர்களை இணையாக இயக்க வேண்டிய பயன்பாடுகளுக்கு, தனித்தனி குறியீடு தொகுதிகளை (தனிமைப்படுத்தப்பட்ட) தொடங்க முடியும், அவை ஒன்றிலிருந்து தனிமைப்படுத்தப்பட்டு, முக்கிய பயன்பாட்டுத் தொடருடன் ஒரே நேரத்தில் மற்ற CPU கோர்களில் செயல்படுத்தப்படும். . ஒரே மாதிரியான தரவுத் தொகுப்பில் குறியீட்டை ஒரே நேரத்தில் செயல்படுத்தும்போது ஏற்படும் பிழைகளிலிருந்து பாதுகாக்க, வெவ்வேறு தனிமைப்படுத்தப்பட்ட தொகுதிகளில் மாறக்கூடிய பொருட்களைப் பகிர்வது தடைசெய்யப்பட்டுள்ளது, மேலும் கையாளுபவர்களுக்கு இடையேயான தொடர்புக்கு ஒரு செய்தி அனுப்பும் மாதிரி பயன்படுத்தப்படுகிறது.

    டார்ட் 2.15 ஒரு புதிய கருத்தை அறிமுகப்படுத்துகிறது - தனிமைப்படுத்தப்பட்ட தொகுதி குழுக்கள் (தனிப்பட்ட குழுக்கள்), இது ஒரே குழுவின் ஒரு பகுதியாக இருக்கும் தனிமைப்படுத்தப்பட்ட தொகுதிகளில் உள்ள பல்வேறு உள் தரவு கட்டமைப்புகளுக்கான பகிரப்பட்ட அணுகலை ஒழுங்கமைக்க உங்களை அனுமதிக்கிறது, இது ஒரு குழுவில் கையாளுபவர்களிடையே தொடர்பு கொள்ளும்போது மேல்நிலையை கணிசமாகக் குறைக்கும். . எடுத்துக்காட்டாக, ஏற்கனவே உள்ள குழுவில் கூடுதல் தனிமைப்படுத்தல் தொகுதியைத் தொடங்குவது 100 மடங்கு வேகமானது மற்றும் நிரல் தரவு கட்டமைப்புகளைத் தொடங்குவதற்கான தேவையை நீக்குவதால், ஒரு தனி தனிமைப்படுத்தலைத் தொடங்குவதை விட 10-100 மடங்கு குறைவான நினைவகம் தேவைப்படுகிறது.

    ஒரு குழுவில் உள்ள தனிமைப்படுத்தப்பட்ட தொகுதிகள் மாறக்கூடிய பொருள்களுக்கான பகிரப்பட்ட அணுகலைத் தடைசெய்தாலும், குழுக்கள் பகிரப்பட்ட குவி நினைவகத்தைப் பயன்படுத்துகின்றன, இது வள-தீவிர நகல் செயல்பாடுகளைச் செய்ய வேண்டிய அவசியமின்றி ஒரு தொகுதியிலிருந்து மற்றொரு தொகுதிக்கு பொருட்களை மாற்றுவதை கணிசமாக விரைவுபடுத்தும். புதிய பதிப்பு, Isolate.exit() ஐ அழைக்கும் போது ஹேண்ட்லரின் முடிவை அனுப்ப உங்களை அனுமதிக்கிறது. கூடுதலாக, செய்தி பரிமாற்ற வழிமுறை மேம்படுத்தப்பட்டுள்ளது - சிறிய மற்றும் நடுத்தர செய்திகள் இப்போது சுமார் 8 மடங்கு வேகமாக செயலாக்கப்படுகின்றன. SendPort.send() அழைப்பைப் பயன்படுத்தி தனிமைப்படுத்தப்படக்கூடிய பொருள்களில் சில வகையான செயல்பாடுகள், மூடல்கள் மற்றும் ஸ்டேக் ட்ரேஸ்கள் ஆகியவை அடங்கும்.

  • பிற பொருள்களில் தனிப்பட்ட செயல்பாடுகளுக்கு சுட்டிகளை உருவாக்குவதற்கான கருவிகளில் (டியர்-ஆஃப்), கன்ஸ்ட்ரக்டர் குறியீட்டில் ஒத்த சுட்டிகளை உருவாக்குவதற்கான கட்டுப்பாடுகள் அகற்றப்பட்டுள்ளன, இது ஃப்ளட்டர் லைப்ரரியின் அடிப்படையில் இடைமுகங்களை உருவாக்கும்போது பயனுள்ளதாக இருக்கும். எடுத்துக்காட்டாக, பல உரை விட்ஜெட்களை உள்ளடக்கிய ஒரு நெடுவரிசை விட்ஜெட்டை உருவாக்க, நீங்கள் ".map()" ஐ அழைக்கலாம் மற்றும் உரை பொருளின் Text.new கன்ஸ்ட்ரக்டருக்கு சுட்டிகளை அனுப்பலாம்: class FruitWidget ஆனது StatelessWidget {@override Widget build(BuildContext சூழல்) {திரும்ப நெடுவரிசை(குழந்தைகள்: ['ஆப்பிள்', 'ஆரஞ்சு'].வரைபடம்(Text.new).toList()); } }
  • செயல்பாட்டு சுட்டிகளின் பயன்பாட்டுடன் தொடர்புடைய சாத்தியக்கூறுகள் விரிவாக்கப்பட்டுள்ளன. பொதுவான முறைகள் மற்றும் செயல்பாட்டு சுட்டிகளைப் பயன்படுத்தி பொதுவான முறை மற்றும் சுட்டியை உருவாக்குவதற்கான திறன் சேர்க்கப்பட்டது: T id (டி மதிப்பு) => மதிப்பு; var intId = ஐடி ; // "int Function(int) intId = id;" என்பதற்குப் பதிலாக பதிப்பு 2.15 இல் அனுமதிக்கப்பட்டுள்ளது கான்ஸ்ட் ஃபோ = ஐடி; // செயல்பாட்டு ஐடிக்கு சுட்டிக்காட்டி. const c1 = fo ;
  • dart:core library enumsக்கான ஆதரவை மேம்படுத்தியுள்ளது, எடுத்துக்காட்டாக, நீங்கள் இப்போது ".name" முறையைப் பயன்படுத்தி ஒவ்வொரு enum மதிப்பிலிருந்தும் ஒரு சர மதிப்பை வெளியிடலாம், பெயரின்படி மதிப்புகளைத் தேர்ந்தெடுக்கலாம் அல்லது மதிப்புகளின் ஜோடிகளைப் பொருத்தலாம்: enum MyEnum {ஒன்று , இரண்டு, மூன்று } void main() {print(MyEnum.one.name); // "ஒன்று" அச்சிடப்படும். அச்சு(MyEnum.values.byName('இரண்டு') == MyEnum.two); // "உண்மை" அச்சிடப்படும். இறுதி வரைபடம் = MyEnum.values.asNameMap(); அச்சு(வரைபடம்['மூன்று'] == MyEnum.three); // "உண்மை". }
  • 64-பிட் முகவரி இடம் போதுமானதாக இருந்தால் (32 ஜிபிக்கு மேல் நினைவகம் பயன்படுத்தப்படவில்லை) 4-பிட் சூழல்களில் சுட்டிகளின் சுருக்கமான பிரதிநிதித்துவத்தைப் பயன்படுத்த அனுமதிக்கும் ஒரு சுட்டி சுருக்க நுட்பம் செயல்படுத்தப்பட்டுள்ளது. இத்தகைய தேர்வுமுறையானது குவியல் அளவை தோராயமாக 10% குறைக்க உதவுகிறது என்று சோதனைகள் காட்டுகின்றன. Flutter SDK இல், புதிய பயன்முறை ஏற்கனவே Android க்காக இயல்பாக இயக்கப்பட்டுள்ளது, மேலும் எதிர்கால வெளியீட்டில் iOS க்கு இயக்க திட்டமிடப்பட்டுள்ளது.
  • டார்ட் SDK ஆனது பிழைத்திருத்தம் மற்றும் செயல்திறன் பகுப்பாய்வுக்கான கருவிகளை உள்ளடக்கியது (DevTools), அவை முன்பு ஒரு தனி தொகுப்பில் வழங்கப்பட்டன.
  • "dart pub" கட்டளை மற்றும் pub.dev தொகுப்பு களஞ்சியங்களில் ரகசிய தகவல்களின் தற்செயலான வெளியீட்டைக் கண்காணிக்க கருவிகள் சேர்க்கப்பட்டுள்ளன, எடுத்துக்காட்டாக, தொடர்ச்சியான ஒருங்கிணைப்பு அமைப்புகள் மற்றும் கிளவுட் சூழல்களுக்கான நற்சான்றிதழ்களை தொகுப்பிற்குள் விடவும். அத்தகைய கசிவுகள் கண்டறியப்பட்டால், "டார்ட் பப் பப்ளிஷ்" கட்டளையை செயல்படுத்துவது பிழை செய்தியுடன் குறுக்கிடப்படும். தவறான நேர்மறை இருந்தால், வெள்ளைப் பட்டியல் மூலம் காசோலையைத் தவிர்க்கலாம்.
  • ஒரு தொகுப்பின் ஏற்கனவே வெளியிடப்பட்ட பதிப்பை திரும்பப்பெறும் திறன் pub.dev களஞ்சியத்தில் சேர்க்கப்பட்டுள்ளது, எடுத்துக்காட்டாக, ஆபத்தான பிழைகள் அல்லது பாதிப்புகள் கண்டறியப்பட்டால். முன்னதாக, இதுபோன்ற திருத்தங்களுக்கு, ஒரு திருத்தமான பதிப்பை வெளியிடுவது நடைமுறையில் இருந்தது, ஆனால் சில சூழ்நிலைகளில் ஏற்கனவே உள்ள வெளியீட்டை ரத்துசெய்து, அதன் அடுத்த விநியோகத்தை அவசரமாக நிறுத்த வேண்டியது அவசியம் (உதாரணமாக, திருத்தம் இன்னும் தயாராக இல்லை அல்லது முழு வெளியீடு இருந்தால் சோதனைப் பதிப்பிற்குப் பதிலாக தவறுதலாக வெளியிடப்பட்டது). திரும்பப் பெற்ற பிறகு, "pub get" மற்றும் "pub upgrade" கட்டளைகளில் தொகுப்பு அடையாளம் காணப்படாது, மேலும் ஏற்கனவே நிறுவிய கணினிகளில், அடுத்த முறை "pub get" செயல்படுத்தப்படும் போது ஒரு சிறப்பு எச்சரிக்கை வழங்கப்படும்.
  • காட்சி வரிசையை மாற்றும் குறியீட்டில் யூனிகோட் எழுத்துகளைப் பயன்படுத்துவதால் ஏற்படும் பாதிப்புக்கு எதிராக (CVE-2021-22567) பாதுகாப்பு சேர்க்கப்பட்டது.
  • pub.dev oauth2021 அணுகல் டோக்கன்களை ஏற்கும் மூன்றாம் தரப்பு சேவையகத்திற்கு தொகுப்புகளை வெளியிடும் போது, ​​மற்றொரு pub.dev பயனரைப் போல் ஆள்மாறாட்டம் செய்ய உங்களை அனுமதிக்கும் பாதிப்பு (CVE-22568-2) சரி செய்யப்பட்டது. எடுத்துக்காட்டாக, உள் மற்றும் கார்ப்பரேட் தொகுப்பு சேவையகங்களைத் தாக்க பாதிப்பு பயன்படுத்தப்படலாம். pub.dev இல் பேக்கேஜ்களை மட்டும் ஹோஸ்ட் செய்யும் டெவலப்பர்கள் இந்தச் சிக்கலால் பாதிக்கப்படுவதில்லை.

அதே நேரத்தில், பயனர் இடைமுக கட்டமைப்பின் குறிப்பிடத்தக்க வெளியீடு Flutter 2.8 வழங்கப்பட்டது, இது ரியாக்ட் நேட்டிவ்க்கு மாற்றாகக் கருதப்படுகிறது மற்றும் iOS, Android, Windows, macOS மற்றும் ஒரு ஒற்றை குறியீடு அடிப்படையின் அடிப்படையில் பயன்பாடுகளை வெளியிட அனுமதிக்கிறது. லினக்ஸ் இயங்குதளங்கள், அத்துடன் உலாவிகளில் இயங்குவதற்கான பயன்பாடுகளை உருவாக்கவும். கூகுள் உருவாக்கிய Fuchsia மைக்ரோகர்னல் இயக்க முறைமைக்கான தனிப்பயன் ஷெல் Flutter இன் அடிப்படையில் கட்டமைக்கப்பட்டுள்ளது. கடந்த ஆறு மாதங்களில், Google Play Store இல் Flutter 2 பயன்பாடுகளின் எண்ணிக்கை 200 ஆயிரத்தில் இருந்து 375 ஆயிரமாக அதிகரித்துள்ளது, அதாவது. கிட்டத்தட்ட இரண்டு முறை.

ஃப்ளட்டர் குறியீட்டின் முக்கிய பகுதி டார்ட் மொழியில் செயல்படுத்தப்படுகிறது, மேலும் பயன்பாடுகளை இயக்குவதற்கான இயக்க நேர இயந்திரம் C++ இல் எழுதப்பட்டுள்ளது. பயன்பாடுகளை உருவாக்கும் போது, ​​Flutter இன் சொந்த டார்ட் மொழிக்கு கூடுதலாக, நீங்கள் C/C++ குறியீட்டை அழைக்க Dart Foreign Function இடைமுகத்தைப் பயன்படுத்தலாம். இலக்கு இயங்குதளங்களுக்கான நேட்டிவ் குறியீட்டில் பயன்பாடுகளை தொகுப்பதன் மூலம் உயர் செயலாக்க செயல்திறன் அடையப்படுகிறது. இந்த வழக்கில், ஒவ்வொரு மாற்றத்திற்கும் பிறகு நிரலை மீண்டும் தொகுக்க வேண்டிய அவசியமில்லை - டார்ட் ஒரு சூடான ரீலோட் பயன்முறையை வழங்குகிறது, இது இயங்கும் பயன்பாட்டில் மாற்றங்களைச் செய்து உடனடியாக முடிவை மதிப்பீடு செய்ய உங்களை அனுமதிக்கிறது.

Flutter இன் புதிய வெளியீட்டில் உள்ள மாற்றங்களில், மொபைல் சாதனங்களில் வெளியீட்டு வேகம் மற்றும் நினைவக நுகர்வு ஆகியவற்றின் மேம்படுத்தல் குறிப்பிடப்பட்டுள்ளது. Firebase மற்றும் Google Cloud போன்ற பின்தள சேவைகளுடன் பயன்பாடுகளை இணைப்பது எளிது. Google விளம்பரங்களுடன் ஒருங்கிணைப்பதற்கான கருவிகள் நிலைப்படுத்தப்பட்டுள்ளன. கேமராக்கள் மற்றும் இணைய செருகுநிரல்களுக்கான ஆதரவு கணிசமாக மேம்படுத்தப்பட்டுள்ளது. வளர்ச்சியை எளிதாக்க புதிய கருவிகள் முன்மொழியப்பட்டுள்ளன, எடுத்துக்காட்டாக, Firebase ஐப் பயன்படுத்தி அங்கீகாரத்திற்காக ஒரு விட்ஜெட் சேர்க்கப்பட்டுள்ளது. Flutter ஐப் பயன்படுத்தி 2D கேம்களை உருவாக்குவதற்காக வடிவமைக்கப்பட்ட ஃபிளேம் என்ஜின் புதுப்பிக்கப்பட்டது.

ஆதாரம்: opennet.ru

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