На чем пишут Flutter SDK? 👨💻
Основной язык приложений Flutter — это
Dart. Пакеты Flutter составляют важную часть инфраструктуры SDK. Для написания плагинов, у каждой платформы есть свой язык, например, Java, Kotlin, Swift, C++ и другие.
Основной язык SDK — это
С++. На нем реализован
Flutter Engine и поддержка платформ для Flutter. Также С++ используют для написания плагинов под многие платформы для реализации Platform Channel или FFI с интерфейсом C.
💻
Сам Flutter-Framework написан на Dart. Пакеты могут писаться на чистом Dart: как вариант, можно написать пакет через интерфейс
D-Bus. Не погружаясь в нативные для платформ языки вы получите плагин реализующий системные задачи.
В Dart доступен из "коробки" интерфейс
FFI. Это означает, что можно создать привязки с помощью
ffigen и использовать любой язык, который может создать интерфейс С. Например, это может быть Rust: у нас есть
2 таких плагина.
Инфраструктура проекта не маленькая, и тут на помощь приходят:
⌨️
Python — универсальный язык различных автоматизаций
⌨️
Go — там где нужна повышенная производительность CLI
⌨️
Kotlin, JS — отлично чувствуют себя в web-технологиях
📌
Dart — основной язык для прикладных программистов, но есть обратная сторона, которую разработчики SDK стараются максимально спрятать, упростить разработку, минимизируя погружение в платформу для написания приложений.