Насколько родным является приложение, созданное с помощью Flutter?

Посмотрите на следующие примеры ...

Пример 1: Следующий код НЕ использует задержанное расширение, поэтому переменные в цикле for расширяются только один раз. Это означает, что %Count% всегда будет расширяться до 0 в каждой итерации цикла, независимо от того, что мы делаем с ним с помощью команды set:

@echo off
set COUNT=0

for %%v in (1 2 3 4) do (
  set /A COUNT=%COUNT% + 1
  echo Count = %COUNT%
)
pause

Итак, этот скрипт выведет:

Count = 0
Count = 0
Count = 0
Count = 0

Это не значит, что этот цикл должен работать.

Пример 2: С другой стороны, если мы используем задержанное расширение, мы имеем следующий скрипт, который будет работать как ожидаемый.

setlocal ENABLEDELAYEDEXPANSION
set COUNT=0

for %%v in (1 2 3 4) do (
  set /A COUNT=!COUNT! + 1
  echo Count = !COUNT!
)

pause

и, как ожидается, он выведет:

Count = 1
Count = 2
Count = 3
Count = 4

Когда вы используете ENABLEDELAYEDEXPANSION и разворачиваете переменную, используя ! вместо %, переменная повторно расширяется каждый раз, и все работает так, как предполагается.

1
задан Joel Moreira 5 March 2019 в 00:34
поделиться

2 ответа

Ответ зависит от того, какое у вас определение «родной».

Для некоторых «родной» означает использование виджетов пользовательского интерфейса, предоставляемых ОС.

Приложения Flutter являются «нативными» в том смысле, что они компилируются в собственные машинные инструкции, а не интерпретируются виртуальной машиной. Для приложений Android и iOS это означает, что они скомпилированы в код ARM.

С точки зрения точности это означает, что виджеты пользовательского интерфейса Flutter могут выглядеть или вести себя не так, как виджеты пользовательского интерфейса операционной системы. Однако с точки зрения производительности виджеты пользовательского интерфейса Flutter могут быть (или, возможно, более ) более производительными, чем ОС.

Дополнительная литература: Передача Flutter вашей компании или клиенту: 3. Собственные приложения

.
0
ответ дан jamesdlin 5 March 2019 в 00:34
поделиться

Согласно этой статье, нативное приложение лучше, чем флаттер, с точки зрения производительности.

https://thoughtbot.com/blog/examining-performance-differences-between-native-flutter-and-react-native-mobile-development

Так что я думаю, Вопрос к вашему ответу будет отрицательным, но Flutter, безусловно, является «достаточно хорошим решением» для большинства случаев. Не было бы случая, чтобы вы могли заметить разницу в производительности человека, если вы не разрабатываете приложение с интенсивным использованием процессора.

0
ответ дан dshukertjr 5 March 2019 в 00:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: