Как стать автором
Обновить

Комментарии 8

Местами ощущение, что текст сгенерирован роботом.
И вопрос по коду: ЗАЧЕМ?
bool get isWindows => !kIsWeb && Platform.isWindows;
Что мешает сразу использовать Platform.isWindows?
Или он может сработать в паре с kIsWeb ? И в каком случае оба true?
Вместо разъяснения сути в статье под этим примером куча очевидных истин.

Такое ощущение может быть из-за моего уровня английского, сформулировать правильно прочитанную мысль и передать её не всегда получается точно, поэтому перевод "грубый". Я ведь делюсь не своими знаниями, а совокупностью найденной информации и которую считаю интересной по моему сугубому мнению.

Куча очевидных истин для Вас, для меня совсем не очевидны, так как я в самом начале изучения.

Так это перевод? По тексту нет об этом сообщения, нет и ссылки на источник. В таком случае претензии к автору исходного текста. Какой-то набор казусов.
В библиотеке dart.io, о которой он аж два раза повторяет в комментарии к коду, есть свойство

sWindows property

bool isWindowsfinal

Whether the operating system is a version of Microsoft Windows.

Но автор объявляет своё собственное свойство. Он патчит исходное. Теперь оно работает не так, как задумано разработчиками dart.io:
bool get isWindows => !kIsWeb && Platform.isWindows;

Зачем это? Почему проверка только для Web? А остальные операционные системы? Ну давайтетак напишем:
bool get isWindows => !kIsWeb && !Platform.isAndroid && !Platform.isMacOS && !............ && Platform.isWindows;

Зачем все эти танцы с бубном?

В мусорку такие идеи, не иначе. Иначе они замусорят ваш код.

Тут дело в том, что Platform не доступно из веба и если его таким образом не "прикрыть", то это все в вебе просто упадет )

то это все в вебе просто упадет

Недоступен не только Platfotm, а dart:io в целом. А оно не то, что упадëт, оно вообще соберëтся?

Это же решается через Conditional Imports https://dart.dev/guides/libraries/create-packages#conditionally-importing-and-exporting-library-files

Оно не упадёт: оно не соберётся, т.к. dart.io недоступна в веб
Быть может, не сойти сума линковщику помогает этот избранный импорт....?

import 'dart:io' show Platform;

Загадка....

Завести до проверки на тип платформы целочисленную переменную count = 0; Color color изменять их по результатам проверки и передавать в единственный виджет _buildContaner(count, color), в котором в цикле со счетчиком вы разворачиваете количество контейнеров указанное в переменной count и передаете им цвет, много кода уходит.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории