Comments 8
После таких статей я начинаю думать, что "в консоле" правильно, а "в консоли" - нет.
Снова побрюзжу. Плохой перевод не очень хорошей статьи.
По переводу. Кроме просто криво построенных фраз, местами вы будто вообще не понимаете, о чем идет речь.
ограничения уменьшаются, размеры увеличиваются, а родительский элемент определяет положение.
Нет. Ограничения идут вниз (по дереву), размеры идут вверх (по дереву).
Не забывайте убирать корневые виджеты в безопасное место.
Нет. Не забывайте оборачивать корневые виджеты в SafeArea.
Возможно, вначале скорость работы покажется вам не слишком высокой,
Нет. Возможно, поначалу увеличение производительности может показаться незначительным...
И т.д.
По статье. Это какая-то смесь из личных предпочтений автора (а ля "используйте всегда относительные импорты"), подсказок линтера (don't explicitly initialize variables to null), неправильных примеров (первый же пример не скомпилируется, там пропущен late у `Future<int> future;` – если статья рассчитана на новичков, то это важно), откровенной ерунды (Try not to use of await keywords inside the bloc).
Серьезно, читайте официальную документацию. Она у флаттера превосходная, и там есть лучшие практики, объяснения, примеры, советы по оформлению кода – и всё это из первых рук.
Это все личные предпочтения автора статьи.Плохо что подобный субьективизм потом берется за основу
8 - Если уж зудим, то почему бы не воспользоваться SizedBox.shrink();
10 - Разве здесь тип не выводится автоматически?
//Do not
var item = 10;
final car = Car();
const timeOut = 2000;
И если "var является динамическим типом", то чем тогда является dynamic
?
Статья, как и сам перевод, является спорным. Солидарен с @ookami_kb. Попахивает субъективными рассуждениями. Хотя, стоит заметить, половина пунктов действительно полезные.
дякую
7 - вредный совет, на который даже линтер ругаться будет
10 - автор статью до null safety пиал? int невозможно null присвоить
12 методик, которые помогут создавать приложения на Flutter легко и просто