Dart 2.8 dasturlash tili chiqarildi

bo'lib o'tdi dasturlash tilini chiqarish Darts 2.8, bu tubdan qayta ishlangan Dart 2 filialini rivojlantirishni davom ettirmoqda, veb va mobil tizimlar uchun rivojlanishga e'tibor qaratdi va mijoz tomoni komponentlarini yaratish uchun optimallashtirilgan.

Dart 2 asl Dart tilidan kuchli statik yozishni qoʻllashda farq qiladi (turlar avtomatik tarzda aniqlanishi mumkin, shuning uchun tur spetsifikatsiyasi ixtiyoriy, lekin dinamik yozish endi ishlatilmaydi va dastlab hisoblangan tur oʻzgaruvchiga tayinlangan va qattiq tur tekshiruvi keyin qo'llaniladi). Veb-ilovalarni ishlab chiqish uchun taklif qildi dart:html kabi maxsus kutubxonalar to'plami, shuningdek burchakli veb-ramka. Mobil ilovalar yaratish uchun asos yaratilmoqda Flutter, uning asosida, boshqa narsalar qatorida, Googleda ishlab chiqilayotgan yangi mikroyadro operatsion tizimining foydalanuvchi qobig'i qurilgan. Fuşya.

Yangi nashrda:

  • Qo'shilgan Null qiymatidan xavfsiz foydalanishni anglatadi, orqaga qarab muvofiqlikni buzadi. Masalan, “int” kabi noaniq turdagi o‘zgaruvchiga “Null” qiymatini belgilashga urinilsa, kompilyatsiya vaqtida xatolik yuzaga keladi. O'zgaruvchilarning Nullable va Nonullable turlari bilan mosligi bo'yicha ham cheklovlar kiritilgan, masalan, "int?" va "int" ("int" tipidagi o'zgaruvchiga "int" tipidagi o'zgaruvchi tayinlanishi mumkin, lekin aksincha emas). Xuddi shu narsa "qaytish" iborasida qaytarilgan o'zgaruvchilar uchun ham amal qiladi - agar funktsiyaning tanasida "Null" holatiga ruxsat bermaydigan turdagi o'zgaruvchiga qiymat berilmagan bo'lsa, kompilyator xatolikni ko'rsatadi. Ushbu o'zgarishlar qiymati aniqlanmagan va "Null" ga o'rnatilgan o'zgaruvchilardan foydalanishga urinishlar natijasida yuzaga keladigan buzilishlarning oldini olishga imkon beradi.
  • ombori pub.dev 10 ming paket belgisidan o'tdi. Dart 2.8 ta'minlash siklining bir qismi sifatida pub.dev dan paketlarni olish unumdorligi "pub get" buyrug'ini bajarishda paketlarni bir nechta parallel oqimlarga qidirishni qo'llab-quvvatlash orqali sezilarli darajada yaxshilandi, shuningdek " pub run" buyrug'i. Flutter-ga asoslangan yangi loyiha uchun “pub get” buyrug‘ini sinovdan o‘tkazish ish vaqtining 6.5 dan 2.5 soniyagacha, Flutter galereyasi kabi kattaroq ilovalar uchun esa 15 dan 3 soniyagacha qisqarganini ko‘rsatdi.
  • O'rnatilgan paketlarga bog'liqliklarni yangilab turish uchun yangi "pub eskirgan" buyrug'i qo'shildi. "Pub eskirgan" buyrug'idan foydalanib, siz pubspec fayliga o'zgartirish kiritmasdan, belgilangan paket bilan bog'liq bo'lgan barcha bog'liqliklarning yangi asosiy versiyalari mavjudligini baholashingiz mumkin. "Pub upgrade" dan farqli o'laroq, yangi buyruq nafaqat pubspec-ga mos keladigan versiyalarni, balki yangi filiallarni ham tekshiradi. Masalan, "foo: ^1.3.0" va "bar: ^2.0.0" bog'liqliklari bo'lgan paket uchun "pub eskirgan" ishga tushirilishi mavjud filiallar va yangi filiallar mavjudligini ko'rsatadi:

    Bog'liqliklar Joriy yangilanishi mumkin Yechilishi mumkin Oxirgi
    foo 1.3.0 1.3.1 1.3.1 1.3.1
    bar 2.0.1 2.1.0 3.0.3 3.0.3

Dart tilining xususiyatlari:

  • Tanish va o'rganish oson sintaksis, JavaScript, C va Java dasturchilari uchun tabiiy.
  • Portativ qurilmalardan tortib kuchli serverlargacha bo'lgan barcha zamonaviy veb-brauzerlar va har xil turdagi muhitlar uchun tezkor ishga tushirish va yuqori unumdorlikni ta'minlash;
  • Mavjud usullar va ma'lumotlarni inkapsulyatsiya qilish va qayta ishlatish imkonini beruvchi sinflar va interfeyslarni aniqlash qobiliyati;
  • Turlarni ko'rsatish xatolarni tuzatish va aniqlashni osonlashtiradi, kodni aniqroq va o'qilishi mumkin bo'ladi va uchinchi tomon ishlab chiquvchilari tomonidan uni o'zgartirish va tahlil qilishni soddalashtiradi.
  • Qo'llab-quvvatlanadigan turlarga quyidagilar kiradi: har xil turdagi xeshlar, massivlar va ro'yxatlar, navbatlar, raqamli va satr turlari, sana va vaqtni aniqlash uchun turlar, muntazam ifodalar (RegExp). Balki o'zingizni yaratish turlari;
  • Parallel bajarishni tashkil qilish uchun kodi alohida xotira maydonida to'liq izolyatsiya qilingan maydonda bajariladigan, xabarlarni yuborish orqali asosiy jarayon bilan o'zaro ta'sir qiluvchi izolyatsiyalash atributiga ega sinflardan foydalanish taklif etiladi;
  • Katta veb-loyihalarni qo'llab-quvvatlash va disk raskadrovka qilishni soddalashtiradigan kutubxonalardan foydalanishni qo'llab-quvvatlash. Funksiyalarning uchinchi tomon ilovalari umumiy kutubxonalar shaklida kiritilishi mumkin. Ilovalarni qismlarga bo'lish va har bir qismni ishlab chiqishni alohida dasturchilar jamoasiga topshirish mumkin;
  • Dart tilidagi rivojlanishni qo'llab-quvvatlash uchun tayyor vositalar to'plami, shu jumladan dinamik rivojlanish va disk raskadrovka vositalarini tezkor kodni tuzatish bilan ("tahrirlash va davom ettirish");
  • Dart tilida rivojlanishni soddalashtirish uchun u bilan birga keladi SDK, paket menejeri mayxona, statik kod analizatori dart_analyzer, kutubxonalar to'plami, integratsiyalashgan rivojlanish muhiti DartPad va Dart-ni yoqadigan plaginlar IntelliJ IDEA, WebStorm, Emacs, Yuqori matn 2 и Vim;
  • Kutubxonalar va yordamchi dasturlarga ega qo'shimcha paketlar ombor orqali tarqatiladi mayxona, unda 10 mingdan ortiq paketlar mavjud.

Manba: opennet.ru

a Izoh qo'shish