Dartе оптимизиран за клиент език за програмиране за бързи приложения на множество платформи. Той е разработен от Googleи се използва за изграждане на мобилни, настолни, бекенд и уеб приложения.

Dart е обектно-ориентиран, класово дефиниран, събиращ боклук език, използващ синтаксис в стил C, който се транскомпилира по желание в JavaScript. Поддържа „интерфейси“, „миксини“, „абстрактни класове“, „реифицирани“ „генерични“, „статично типизиране“ и система от звукови типове.

Flutter използва четири основни измерения за оценка и взема предвид нуждите на авторите на рамката, разработчиците и крайните потребители. Открихме, че някои езици отговарят на някои изисквания, но Dart отбеляза висок резултат по всички наши измерения за оценка и изпълни всички наши изисквания и критерии.

Времето за изпълнение и компилаторите на Dart поддържат комбинацията от две критични функции за Flutter:

  1. Базиран на JIT бърз цикъл на разработка, който позволява промяна на формата и горещи презареждания със състояние на език с типове.
  2. Компилатор Ahead-of-Time, който излъчва ефективен ARM код за бързо стартиране и предвидима производителност на производствените внедрявания.

Dart получава висок резултат за нас по следните основни критерии:

  • Продуктивност на разработчиците. Едно от основните ценностни предложения на Flutter е, че спестява инженерни ресурси, като позволява на разработчиците да създават приложения както за iOS, така и за Android с една и съща кодова база. Използването на високопродуктивен език ускорява допълнително разработчиците и прави Flutter по-привлекателен. Това беше много важно както за нашия екип от рамки, така и за нашите разработчици. По-голямата част от Flutter е изграден на същия език, който предоставяме на нашите потребители, така че трябва да останем продуктивни при 100 000 реда код, без да жертваме достъпността или четливостта на рамката и уиджетите за нашите разработчици.
  • Обектно ориентиране. За Flutter искаме език, който е подходящ за проблемната област на Flutter: създаване на визуални потребителски изживявания. Индустрията има много десетилетия опит в изграждането на потребителски интерфейсни рамки на обектно-ориентирани езици. Докато бихме могли да използваме необектно-ориентиран език, това би означавало преоткриване на колелото за решаване на няколко трудни проблема. Плюс това, по-голямата част от разработчиците имат опит с обектно-ориентирано разработване, което улеснява научаването как да се разработва с Flutter.
  • Предвидима, висока производителност. С Flutter искаме да дадем възможност на разработчиците да създават бързи, плавни потребителски изживявания. За да постигнем това, трябва да можем да изпълняваме значително количество код на крайния разработчик по време на всеки кадър на анимация. Това означава, че се нуждаем от език, който едновременно осигурява висока производителност и осигурява предвидима производителност, без периодични паузи, които биха причинили пропуснати кадри.
  • Бързо разпределение. Рамката Flutter използва поток във функционален стил, който зависи в голяма степен от основния разпределител на памет, който ефективно обработва малки, краткотрайни разпределения. Този стил е разработен в езици с това свойство и не работи ефективно в езици, които нямат тази възможност.