Dmitry Krivolapov

+22
с 2019
1 подписчик
26 подписок

Сейчас medcorder можно скачать только в США. Но в скором будущем планируется расширение на другие страны.

Мы изучили новую перспективную технологию и реализовали на ней приложение. Flutter показал хороший результат и оправдал себя как средство быстрой мобильной разработки. Этот опыт и был для нас успешным. По своим качествам Flutter хорошо подходит для реализации MVP мобильных приложений стартапов.

4

Для организации доступа к нативным API Хamarin использует технику биндингов. Эти биндинги либо поставляются с очередным обновлением xamarin, либо генерируются самим разработчиком с помощью утилиты. Проблема тут в том, что эти нативные API в iOS и Android разрабатывались и тестировались именно для целевых языков, objC, Java, Swift, Kotlin. Очень часто некоторые вещи можно качественно реализовать только на нативном языке, например нельзя вызывать некоторые API в рабочем потоке. После генерации биндингов для какой-либо библиотеки разработчик остается один на один с подобными проблемами в контексте Xamarin и .NET, В то время, как для обычных средств разработки куча примеров и ответов на вопросы. Да, биндинги это быстро и удобно, но нативные плагины это надежно и любые платформенные вопросы такой подход решает лучше.

2

Для написания плагина Flutter можно использовать как objective-c, java, так и Swift, Kotlin. https://flutter.io/docs/development/packages-and-plugins/developing-packages.

Выбор может зависеть от опыта или наличия билиотек на конкретном языке, решающих требуемую задачу.

4

Dart код на выходе компилируется в платформенный код, но у iOS и Android разные API, поэтому создавая плагин, мы всего лишь создаем общую удобную точку входа, которую можно одинаково использовать на обеих платформах.
Например получение картинки камеры очень просто: var image = await ImagePicker.pickImage(source: ImageSource.camera);

4

У flutter есть набор официально поддерживаемых плагинов, которые уже включены в репозиторий самого flutter https://github.com/flutter/plugins.
Среди них есть:
1) image_picker: https://github.com/flutter/plugins/blob/master/packages/image_picker
на Dart получение картинки с камеры выглядит так:
var image = await ImagePicker.pickImage(source: ImageSource.camera);

2) если же нам нужен CameraView, например для AR приложения, то используем из коробки плагин camera https://github.com/flutter/plugins/blob/master/packages/camera

8