Dart 2.14 භාෂාව සහ Flutter 2.5 රාමුව ඇත

Google විසින් Dart 2.14 ක්‍රමලේඛන භාෂාවේ නිකුතුව ප්‍රකාශයට පත් කර ඇත, එය රැඩිකල් ලෙස ප්‍රතිනිර්මාණය කරන ලද Dart 2 ශාඛාවේ සංවර්ධනය දිගටම කරගෙන යන අතර, එය ශක්තිමත් ස්ථිතික ටයිප් කිරීමේ භාවිතයේදී Dart භාෂාවේ මුල් පිටපතට වඩා වෙනස් වේ (වර්ග ස්වයංක්‍රීයව අනුමාන කළ හැක, එබැවින් නියම කිරීම වර්ග අවශ්‍ය නොවේ, නමුත් ගතික ටයිප් කිරීම තවදුරටත් භාවිතා නොකරන අතර මූලික ගණනය කිරීම වර්ගය විචල්‍යයට පවරා ඇති අතර දැඩි වර්ග පරීක්ෂාව පසුව යොදනු ලැබේ).

ඩාර්ට් භාෂාවේ විශේෂාංග:

  • හුරුපුරුදු සහ ඉගෙනීමට පහසු වාක්‍ය ඛණ්ඩය, JavaScript, C සහ Java ක්‍රමලේඛකයින් සඳහා ස්වභාවිකය.
  • අතේ ගෙන යා හැකි උපාංගවල සිට බලවත් සේවාදායකයන් දක්වා සියලුම නවීන වෙබ් බ්‍රව්සර් සහ විවිධ ආකාරයේ පරිසරයන් සඳහා වේගවත් දියත් කිරීම සහ ඉහළ කාර්ය සාධනය සහතික කිරීම.
  • පවතින ක්‍රම සහ දත්ත සංග්‍රහ කිරීමට සහ නැවත භාවිතා කිරීමට ඉඩ සලසන පන්ති සහ අතුරුමුහුණත් නිර්වචනය කිරීමේ හැකියාව.
  • වර්ග සඳහන් කිරීම දෝෂ නිදොස් කිරීම සහ හඳුනා ගැනීම පහසු කරයි, කේතය වඩාත් පැහැදිලි සහ වඩාත් කියවිය හැකි කරයි, සහ තෙවන පාර්ශවීය සංවර්ධකයින් විසින් එහි වෙනස් කිරීම සහ විශ්ලේෂණය සරල කරයි.
  • සහාය දක්වන වර්ගවලට ඇතුළත් වන්නේ: විවිධ වර්ගයේ හෑෂ්, අරා සහ ලැයිස්තු, පෝලිම්, සංඛ්‍යාත්මක සහ තන්තු වර්ග, දිනය සහ වේලාව තීරණය කිරීම සඳහා වර්ග, සාමාන්‍ය ප්‍රකාශන (RegExp). ඔබේම වර්ග නිර්මාණය කළ හැකිය.
  • සමාන්තර ක්‍රියාත්මක කිරීම සංවිධානය කිරීම සඳහා, හුදකලා ගුණාංගය සමඟ පන්ති භාවිතා කිරීමට යෝජනා කෙරේ, එහි කේතය වෙනම මතක ප්‍රදේශයක හුදකලා අවකාශයේ සම්පූර්ණයෙන්ම ක්‍රියාත්මක වේ, පණිවිඩ යැවීමෙන් ප්‍රධාන ක්‍රියාවලිය සමඟ අන්තර් ක්‍රියා කරයි.
  • විශාල වෙබ් ව්‍යාපෘති සඳහා සහය සහ නිදොස්කරණය සරල කරන පුස්තකාල භාවිතය සඳහා සහාය. ශ්‍රිතවල තුන්වන පාර්ශ්ව ක්‍රියාත්මක කිරීම් හවුල් පුස්තකාල ආකාරයෙන් ඇතුළත් කළ හැක. යෙදුම් කොටස් වලට බෙදිය හැකි අතර එක් එක් කොටසෙහි සංවර්ධනය වෙනම ක්‍රමලේඛක කණ්ඩායමකට භාර දිය හැකිය.
  • පියාසර කිරීමේදී කේත නිවැරදි කිරීම සමඟ ගතික සංවර්ධනය සහ නිදොස් කිරීමේ මෙවලම් ක්‍රියාත්මක කිරීම ඇතුළුව ඩාර්ට් භාෂාවේ සංවර්ධනයට සහාය වීම සඳහා සූදානම් කළ මෙවලම් කට්ටලයක් (“සංස්කරණය සහ දිගටම”).
  • ඩාර්ට් භාෂාවෙන් සංවර්ධනය සරල කිරීම සඳහා, එය SDK, පැකේජ කළමනාකරු පබ් එකක්, ස්ථිතික කේත විශ්ලේෂක dart_analyzer, පුස්තකාල කට්ටලයක්, IntelliJ IDEA, WebStorm, Emacs, Sublime Text සඳහා ඒකාබද්ධ සංවර්ධන පරිසරයක් DartPad සහ Dart-සක්‍රීය ප්ලගීන සමඟ පැමිණේ. 2 සහ Vim.
  • පුස්තකාල සහ උපයෝගිතා සහිත අමතර පැකේජ බෙදා හරිනු ලබන්නේ පැකේජ 20 කට වඩා ඇති පබ් ගබඩාව හරහා ය.

Dart 2.14 නිකුතුවේ ප්‍රධාන වෙනස්කම්:

  • නව ත්‍රිත්ව මාරු ක්‍රියාකරුවෙකු (>>>) එකතු කර ඇත, එය ">>" ක්‍රියාකරු මෙන් නොව, අංක ගණිතයක් නොව, සංඥා බිට් එක සැලකිල්ලට නොගෙන ක්‍රියා කරන තාර්කික මාරුවක් සිදු කරයි (මාරුව බෙදීමකින් තොරව සිදු කෙරේ. ධනාත්මක සහ සෘණ සංඛ්යා).
  • සාමාන්‍ය ශ්‍රිත වර්ග වර්ග තර්කයක් ලෙස භාවිතා කිරීම වලක්වන ආකාරයේ තර්ක සඳහා ඇති සීමාව ඉවත් කරන ලදී. උදාහරණයක් ලෙස, දැන් ඔබට නියම කළ හැක: ප්රමාද ලැයිස්තුව (T)>idFunctions; var ආපසු කැඳවීම = [ (T අගය) => අගය]; ප්රමාද S කාර්යය (T)>(S) f;
  • @Deprecated වැනි විවරණවල වර්ග සමඟ තර්ක දැක්වීමට ඉඩ දෙන්න. උදාහරණයක් ලෙස, ඔබට දැන් නියම කළ හැක: @TypeHelper (42, "අර්ථය")
  • Object පන්තියේ සම්මත පුස්තකාලයට (core) hash, hashAll සහ hashAllUnordered යන ස්ථිතික ක්‍රම එකතු කර ඇත. DateTime පන්තිය ග්‍රීෂ්ම කාලය සහ ශීත කාලය අතර පැය එකකින් බෙදිය නොහැකි ඔරලෝසු පරිවර්තනය කිරීමේදී දේශීය වේලාව හැසිරවීම වැඩිදියුණු කර ඇත (උදාහරණයක් ලෙස, ඕස්ට්‍රේලියාවේ මිනිත්තු 30 ක ඕෆ්සෙට් එකක් භාවිතා කරයි). ffi පැකේජය විසින් අරීනා මතක වෙන් කිරීමේ යාන්ත්‍රණය සඳහා සහය එක් කර ඇත, එය ස්වයංක්‍රීයව සම්පත් මුදාහරියි. ffigen පැකේජය C භාෂාවෙන් Dart වර්ග වල typedef නිර්වචන උත්පාදනය කිරීමේ හැකියාව එක් කර ඇත.
  • pub.dev ගබඩාවෙන් ඇති වඩාත්ම ජනප්‍රිය පැකේජ 250 සහ ඉහළම-94 න් 1000% "ශුන්‍ය ආරක්‍ෂිත" මාදිලිය භාවිතා කිරීමට මාරු කර ඇත, එය අගය නිර්වචනය නොකළ සහ "ශුන්‍ය" ලෙස සකසා ඇති විචල්‍යයන් භාවිතා කිරීමට උත්සාහ කිරීම නිසා ඇතිවන බිඳ වැටීම් වලක්වනු ඇත. "" ප්‍රකාරයෙන් ඇඟවෙන්නේ විචල්‍යයන්ට පැහැදිලිවම ශුන්‍ය අගය පවරන්නේ නම් මිස ඒවාට ශුන්‍ය අගයන් තිබිය නොහැකි බවයි. මාදිලිය විචල්‍ය වර්ග වලට දැඩි ලෙස ගරු කරයි, එමඟින් සම්පාදකයාට අමතර ප්‍රශස්තිකරණයන් යෙදීමට ඉඩ සලසයි. සම්පාදනය කරන වේලාවේදී වර්ගය අනුකූලතාව පරීක්ෂා කරනු ලැබේ, උදාහරණයක් ලෙස, ඔබ "int" වැනි නිර්වචනය නොකළ තත්වයක් ඇඟවුම් නොකරන වර්ගයක් සහිත විචල්‍යයකට "Null" අගය පැවරීමට උත්සාහ කරන්නේ නම්, දෝෂයක් පෙන්වනු ඇත.
  • කේත විශ්ලේෂකය (ලින්ටර්) සඳහා ඒකාබද්ධ නීති මාලාවක් යෝජනා කර ඇති අතර, Dart සහ Flutter රාමුව සඳහා කේත විලාස මාර්ගෝපදේශ සමඟ අනුකූල වීම පරීක්ෂා කිරීම සඳහා එකවර සහාය ලබා දේ. ඓතිහාසික හේතූන් මත, Flutter සහ Dart සඳහා කේතීකරණ නීති වෙනස් විය, ඊට අමතරව, Dart සඳහා නීති මාලාවක් දෙකක් භාවිතා විය - Google වෙතින් pedantic සහ Dart developer community වෙතින් නීති. Dart 2.14 ලින්ටර් සඳහා නව පොදු නීති මාලාවක් හඳුන්වා දෙයි, එය නව Dart ව්‍යාපෘතිවල සහ Flutter SDK හි පෙරනිමියෙන් භාවිතා කිරීමට තීරණය කරයි. කට්ටලයට මූලික නීති (lints/core.yaml පැකේජය), නිර්දේශිත අතිරේක නීති (lints/recommended.yaml) සහ Flutter-විශේෂිත නිර්දේශ (flutter_lints/flutter.yaml) ඇතුළත් වේ. ඩාර්ට් ප්‍රලේඛනයේ නිර්දේශ මත පදනම්ව නව කේතීකරණ විලාසයක් භාවිතා කිරීමට පදික රීති භාවිතා කරන්නන්ට උපදෙස් දෙනු ලැබේ.
  • හැඩතල ගැන්වීමේදී, හැඩතල ගැන්වීමේ ක්‍රියාකාරිත්වය සැලකිය යුතු ලෙස වැඩිදියුණු කළ හැකි අතර ප්‍රකාශන මූලද්‍රව්‍යවල හිමිකාරිත්වය පිළිබඳ අපැහැදිලි අර්ථකථනය වැළැක්විය හැකි කැස්කැඩින් කේත කුට්ටිවල හැඩතල ගැන්වීම සඳහා ප්‍රශස්තකරණයන් සිදු කර ඇත. උදාහරණයක් ලෙස, "var result = errorState ? ප්‍රකාශනයේ "..doIt" ඇමතීම? foo : bad..doIt()" "නරක" බ්ලොක් එකේ කොන්දේසි සහිත කොටස නොව සම්පූර්ණ ප්‍රකාශනය ගැන සැලකිලිමත් වේ, එබැවින් හැඩතල ගැන්වීමේදී එය දැන් වෙන් කරනු ලැබේ: var result = errorState ? foo : නරකයි ..doIt();
  • Apple M1 (Silicon) ප්‍රොසෙසර සඳහා සහය SDK වෙත එක් කර ඇති අතර, Apple Silicon ප්‍රොසෙසරයක් සහිත පද්ධති මත Dart VM, උපයෝගිතා සහ SDK සංරචක ධාවනය කිරීමේ හැකියාව සහ මෙම චිප් සඳහා ක්‍රියාත්මක කළ හැකි ගොනු සම්පාදනය කිරීම සඳහා සහය යන දෙකම ඇඟවුම් කරයි.
  • "dart pub" විධානය මඟින් ".pubignore" නව සේවා ගොනුවක් සඳහා සහය එක් කර ඇත, එමඟින් pub.dev ගබඩාවට පැකේජයක් ප්‍රකාශනය කිරීමේදී මඟ හරිනු ලබන ගොනු ලැයිස්තුවක් නිර්වචනය කිරීමට ඔබට ඉඩ සලසයි. මෙම සිටුවම් ".gitignore" නොසලකා හැරීමේ ලැයිස්තුවට බාධා නොකරයි (සමහර අවස්ථා වලදී, pub.dev හට Git හි අවශ්‍ය ගොනු මාරු කිරීම වැළැක්වීමට අවශ්‍ය විය හැක, උදාහරණයක් ලෙස, සංවර්ධනයේදී භාවිතා කරන අභ්‍යන්තර ස්ක්‍රිප්ට්).
  • "dart test" විධානයේ කාර්ය සාධනය වැඩි දියුණු කිරීම සඳහා වැඩ කර ඇත, දැන් අනුවාද අංකය වෙනස් වී නොමැති නම් pubspec වෙනස් කිරීමෙන් පසු පරීක්ෂණ නැවත සකස් කිරීම අවශ්ය නොවේ.
  • ECMAScript 5 අනුකූලතා මාදිලියේ සම්පාදනය සඳහා සහාය නවතා ඇත (වෙනස් කිරීම IE11 බ්‍රවුසරය සමඟ ගැළපුම නැති වීමට හේතු වේ).
  • තනි පුද්ගල උපයෝගිතා stagehand, dartfmt සහ dart2native යල් පැන ගිය ඒවා ලෙස ප්‍රකාශ කර ඇත, dart utility හරහා හැඳින්වෙන බිල්ට් විධාන මගින් ප්‍රතිස්ථාපනය කර ඇත.
  • VM Native Extensions යාන්ත්‍රණය අවලංගු කර ඇත. ඩාර්ට් කේතයෙන් ස්වදේශීය කේතය ඇමතීමට, නව Dart FFI (විදේශීය ක්‍රියාකාරී අතුරුමුහුණත) භාවිතා කිරීම රෙකමදාරු කරනු ලැබේ.

ඒ අතරම, Flutter 2.5 පරිශීලක අතුරුමුහුණත් රාමුවේ සැලකිය යුතු නිකුතුවක් ඉදිරිපත් කරන ලදී, එය React Native සඳහා විකල්පයක් ලෙස සලකනු ලබන අතර, එක් කේත පදනමක් මත පදනම්ව, iOS, Android, Windows, macOS සහ Linux සඳහා යෙදුම් නිකුත් කිරීමට ඉඩ සලසයි. වේදිකා, මෙන්ම බ්‍රව්සර්වල ක්‍රියාත්මක වීමට යෙදුම් සාදන්න. Google විසින් වැඩි දියුණු කරන ලද Fuchsia microkernel මෙහෙයුම් පද්ධතිය සඳහා අභිරුචි කවචයක් Flutter පදනම මත ගොඩනගා ඇත.

Flutter කේතයේ ප්‍රධාන කොටස Dart භාෂාවෙන් ක්‍රියාත්මක වන අතර යෙදුම් ක්‍රියාත්මක කිරීම සඳහා ධාවන කාල එන්ජිම C++ වලින් ලියා ඇත. යෙදුම් සංවර්ධනය කිරීමේදී, Flutter ගේ මව් භාෂාවට අමතරව, ඔබට C/C++ කේතය ඇමතීමට Dart Foreign Function අතුරුමුහුණත භාවිතා කළ හැක. ඉලක්ක වේදිකා සඳහා ස්වදේශීය කේතයට යෙදුම් සම්පාදනය කිරීමෙන් ඉහළ ක්‍රියාත්මක කිරීමේ කාර්ය සාධනයක් ලබා ගත හැකිය. මෙම අවස්ථාවෙහිදී, එක් එක් වෙනස් කිරීමෙන් පසු වැඩසටහන නැවත සම්පාදනය කිරීම අවශ්ය නොවේ - ඩාර්ට් ඔබට ක්රියාත්මක වන යෙදුමකට වෙනස්කම් කිරීමට සහ ප්රතිඵලය වහාම ඇගයීමට ඉඩ සලසන උණුසුම් රීලෝඩ් මාදිලියක් සපයයි.

Flutter 2.5 හි ප්‍රධාන වෙනස්කම්:

  • සැලකිය යුතු කාර්ය සාධන ප්‍රශස්තකරණයක් සිදු කරන ලදී. iOS සහ macOS වේදිකා මත, Metal graphics API සඳහා සෙවනැලි පූර්ව සම්පාදනය ක්‍රියාත්මක කර ඇත. අසමමුහුර්ත සිදුවීම් සැකසීමේ කාර්යක්ෂමතාව වැඩි දියුණු කිරීම. කසළ එකතු කරන්නා භාවිතයට නොගත් පින්තූරවලින් මතකය ප්‍රතිසාධනය කිරීමේදී ප්‍රමාදයන් සමඟ ගැටලුවක් විසඳා ඇත (උදාහරණයක් ලෙස, තත්පර 20ක සජීවිකරණ GIF නැවත ධාවනය කිරීමේදී, කසළ එකතු කිරීමේ මෙහෙයුම් සංඛ්‍යාව 400 සිට 4 දක්වා අඩු කරන ලදී. Dart සහ Objective අතර පණිවිඩ යැවීමේදී ප්‍රමාදයන්- C/Swift 50% දක්වා අඩු කරන ලදී (iOS) හෝ Java/Kotlin (Android) Apple Silicon chip මත පදනම් වූ පද්ධති සඳහා දේශීය ගොඩනැගීමේ සහාය එක් කරන ලදී.
    Dart 2.14 භාෂාව සහ Flutter 2.5 රාමුව ඇත
  • ඇන්ඩ්රොයිඩ් වේදිකාව සඳහා, සම්පූර්ණ තිර මාදිලියේ යෙදුම් ධාවනය සඳහා සහාය ස්ථාපිත කර ඇත. ඊළඟ පරම්පරාවේ ද්‍රව්‍ය සැලසුම් විකල්පය ලෙස ඉදිරිපත් කරන ලද "Material You" නිර්මාණ සංකල්පය ක්‍රියාත්මක කිරීම දිගටම සිදු විය. නව තත්වය MaterialState.scrolledUnder එක් කරන ලදී, ප්‍රමාණය වෙනස් කිරීමේදී අනුචලන තීරු වල ගතික සංදර්ශකය ක්‍රියාත්මක කරන ලදී, සහ දැනුම්දීම් බැනර් ප්‍රදර්ශනය කිරීම සඳහා නව අතුරු මුහුණතක් යෝජනා කරන ලදී.
  • කැමරා ප්ලග්-ඉන් හි හැකියාවන් සැලකිය යුතු ලෙස පුළුල් කර ඇති අතර, ස්වයංක්‍රීය අවධානය, නිරාවරණය, ෆ්ලෑෂ්, විශාලනය, ශබ්දය අඩු කිරීම සහ විභේදනය පාලනය කිරීම සඳහා මෙවලම් එකතු කරයි.
  • සංවර්ධක මෙවලම් (DevTools) යාවත්කාලීන කරන ලද විජට් පරීක්‍ෂණ මාදිලියක්, මෙන්ම විදැහුම් ප්‍රමාදයන් හඳුනා ගැනීමට සහ ෂේඩර් සම්පාදනය නිරීක්ෂණය කිරීමට මෙවලම් වැඩි දියුණු කර ඇත.
    Dart 2.14 භාෂාව සහ Flutter 2.5 රාමුව ඇත
  • Visual Studio Code සහ IntelliJ/Android Studio සඳහා වැඩි දියුණු කරන ලද ප්ලගීන.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න