Flutter 1.0 официально анонсирован 04 декабря 2018 года. После этого спрос на дартс-программистов сейчас набирает популярность. Потому что вся разработка флаттер-приложений полностью основана на дротике.
Похоже, у технического гиганта Google большие планы на этот язык. Вот почему dart реализован в двух больших проектах, включая операционную систему flutter и fuchsia.
Вот краткое введение в функции dart, варианты использования и его огромную мощь, которая даст вам ответ, почему Google выбрал его для ОС flutter и fuchsia.
Впервые Dart был представлен на конференции GOTO в Дании 10 октября 2011 года. Dart 1.0 был выпущен в ноябре 2013 года, а Dart 2.0 был выпущен в августе 2018 года с системой звукового типа.
Dart — это язык общего назначения, изначально разработанный Google.
Dart — очень мощный язык, который вы можете использовать для написания от простых скриптов до полнофункциональных нативных приложений с использованием флаттера. Он в основном используется на четырех платформах, включая собственное мобильное приложение, веб-приложение, настольное приложение и серверное приложение.
- Разработано — Ларс Бак и Каспер Лунд
- Впервые появился — 10 октября 2011 г.
- Дисциплина ввода — 1.x: необязательно, 2.x: статическая
- Лицензия — BSD
- Расширения файлов — .dart
- Dart поддерживает в основном пять типов парадигм:
- Дарт находится под влиянием пяти языков:
- Он имеет четыре основные реализации:
- Способы запуска кода дротика
- Через транскомпиляцию в JavaScript
- Через DartVM
- Через процесс компиляции AOT
- Снэпшоты: для более быстрого выполнения кода
- Снимки сценария
- Полные снимки
- Для получения дополнительной информации ознакомьтесь со ссылками ниже
Dart поддерживает в основном пять типов парадигм:
- Сценарии
- Объектно-ориентированный
- Императив
- Светоотражающий
- функциональный
Дарт находится под влиянием пяти языков:
Dart является членом семейства языков ALGOL, наряду с C, C++, Java, C#, JavaScript и другими.
Так что, если вы из C, Swift или Java, вы будете чувствовать себя так же, как родной город в дротике. Его синтаксис ближе к C.
- C#
- JavaScript
- Эрланг
- Болтовня
- сильный разговор
Он имеет четыре основные реализации:
- Дарт ВМ
- компилятор dart2js
- Флаттер
- Фуксия ОС
Способы запуска кода дротика
Dart реализован на широком спектре платформ. Поэтому требуется несколько способов запуска кода дротика в зависимости от платформы. Ниже приведены три основных способа запуска кода дротика:
- Через транскомпиляцию в JavaScript
- Через DartVM
- Через процесс компиляции AOT
Через транскомпиляцию в JavaScript
Код Dart можно скомпилировать в JavaScript, чтобы он мог работать в браузерах. Для этого Dart использует компилятор source-to-source (dart2js) для преобразования своего кода в JavaScript.
Поэтому, если вы хотите развернуть свой код Dart в браузерах, сначала вам нужно преобразовать этот код с помощью компилятора dart2js. dart2js преобразует ваш код в JavaScript. Таким образом, он может работать во всех современных браузерах.
Удивительно то, что dart2js будет создавать не только код JavaScript, но и оптимизированный код JavaScript. Это означает, что по сравнению с написанным от руки кодом JavaScript ваш преобразованный код дротика будет работать быстрее в браузерах.
Через DartVM
Точно так же, как у Java есть JVM, у Dart есть собственная виртуальная машина для запуска dart под кодовым названием DartVM.
Если вы хотите создавать консольные приложения или серверные приложения, вы можете использовать DartVM для запуска кода Dart. DartVM — это оптимизированная, мощная и быстрая виртуальная машина, которая может запустить ваш код Dart за доли секунды.
DartVM напрямую поставляется с Dart SDK. Вам просто нужно настроить путь SDK в переменных среды, и вы готовы к работе. Теперь ваше воображение — единственный предел…
Через процесс компиляции AOT
AOT означает компиляцию с опережением времени — это процесс компиляции, в котором код более высокого уровня, такой как C, C++, или промежуточный код, такой как Java Byte Code или CIL-код .NET Framework (Common Intermediate Language), преобразуется в собственный машинный код, который зависит от системы. И этот код можно запустить на конкретной машине, которая его понимает.
AOT создает машинно-оптимизированный код, как и стандартный собственный компилятор.
При сборке приложений с помощью Flutter используется один и тот же процесс компиляции AOT для создания собственных приложений для Android и iOS из единой базы кода.
Снэпшоты: для более быстрого выполнения кода
Согласно Википедии: SnapShot — это состояние системы в определенный момент времени.
Здесь применяется та же концепция: снэпшоты — это файлы, в которых хранятся объекты и другие данные времени выполнения.
Таким образом, при следующем запуске всю программу компилировать не нужно, компилятор возьмет сохраненные данные из файлов моментальных снимков и скомпилирует только вновь добавленные данные. Что приводит к более быстрому запуску и выполнению кода.
Снимки являются основной частью DartVM.
В dart есть два типа файлов моментальных снимков:
- Снимки скрипта
- Полные снимки
Снимки сценария
Программы Dart могут быть скомпилированы в файлы SnapShots. Эти файлы содержат программный код и зависимости, предварительно проанализированные и готовые к выполнению. Это позволяет быстро запускать.
Полные снимки
Библиотеки ядра dart могут быть скомпилированы в файл моментального снимка, что позволяет быстро загружать библиотеки.
У Dart VM есть моментальный снимок перед сборкой для основных библиотек, который загружается во время выполнения. Вот как DartVM обеспечивает более быстрое выполнение кода.
Итак, ребята, это особенности и варианты использования дротика. Это очень мощный язык. Если вы планируете заняться разработкой приложений, вам обязательно стоит начать изучать дартс и флаттер. Я постараюсь рассказать как можно больше о дротиках и флаттерах. Не стесняйтесь, дайте мне знать, если я что-то пропустил. Я определенно хотел бы научиться этому.
А пока продолжайте кодировать, продолжайте кодировать.
Для получения дополнительной информации ознакомьтесь со ссылками ниже
Хотите связаться со мной? Вот ссылки. Я буду рад стать твоим другом. ?
или просто напишите мне на [email protected]