Ответ
Да, у меня есть опыт разработки на Swift для создания нативных iOS-компонентов и интеграции их с Flutter. Это было необходимо в проектах, где требовалось использовать специфичные iOS-фреймворки (например, Core NFC, ARKit) или оптимизировать критичные по производительности участки кода.
Я работал с интеграцией через FlutterMethodChannel и FlutterEventChannel для двусторонней коммуникации между Dart-кодом и нативным iOS-слоем.
Пример реализации нативного iOS-модуля на Swift для Flutter, который возвращает системную тему:
// SwiftPlugin.swift
import Flutter
import UIKit
public class SwiftThemePlugin: NSObject, FlutterPlugin {
public static func register(with registrar: FlutterPluginRegistrar) {
let channel = FlutterMethodChannel(name: "theme_channel", binaryMessenger: registrar.messenger())
let instance = SwiftThemePlugin()
registrar.addMethodCallDelegate(instance, channel: channel)
}
public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
if call.method == "getSystemTheme" {
let isDark = UITraitCollection.current.userInterfaceStyle == .dark
result(isDark ? "dark" : "light")
} else {
result(FlutterMethodNotImplemented)
}
}
}
Такой опыт позволяет писать гибридные приложения, где Flutter отвечает за основной UI, а сложная платформенная логика выносится в нативный код.