Приложения Blazor для веб-сборки и определения возможностей браузера - PullRequest
0 голосов
/ 13 октября 2019

Я новичок в Blazor / WebAssembly и люблю эту технологию, но не понимаю причин, лежащих в основе некоторых деталей реализации.

Например, если пользователь переходит к клиентскому приложению Blazor / WebAssembly, созданному мастером Visual Studio с помощью мастера Visual Studioбраузер, который не поддерживает WebAssembly (т.е. IE 11), веб-сайт будет просто отображать

Loading...

навсегда.

Причина этого ясна, но почему Microsoft реализовала это таким образом? Разве не было бы намного лучше и информативнее попытаться определить, поддерживает ли браузер WebAssembly, а если нет - перенаправить пользователя на другую статическую страницу с объяснением причины (например, с сообщением «Ваш браузер не поддерживает WebAssembly,используйте Chrome v. XX или выше, Edge v. XX или выше и т. д. ")?

1 Ответ

2 голосов
/ 13 октября 2019

Я не сотрудник Microsoft, но, по моему мнению, они реализуют это по следующим причинам.

a) MS является поставщиком инструментов и технологий, которые позволяют разработчикам. Как таковые, они не принимают решения для разработчиков, что делать. Они обычно не создают "опионированные" рамки. И отображение сообщения с «неподдерживаемым» явным мнением на их стороне. Это сообщение не имеет смысла для всех их клиентов. Что если кто-то захочет заставить это работать на IE11, и они остановят их?

б) Для его реализации требуется минимум усилий. Это польза для себя. Если у них в голове есть пуленепробиваемое решение, я не сомневаюсь, что они его реализуют, если захотят его поддержать. Прямо сейчас, поскольку это не поддерживается, разработчики обязаны предоставить соответствующий UX для конечных пользователей. Разработчик должен решить, как обращаться с IE. Предоставьте сообщение с заявлением о том, что IE11 не поддерживается, добавьте poilyfills, например https://github.com/Daddoon/Blazor.Polyfill, чтобы несколько поддержать IE11, или переключитесь на другую технологию. Если MS предоставит решение, которое будет отображать сообщение, для этого потребуется, чтобы другие разработчики, которые хотят иметь полизаполнение, или переключились на другую технологию, чтобы активно отключить такие проверки, и для этого нужно внедрить больше движущихся частей, только для неподдерживаемых Платформа. Это просто не имеет смысла.

c) Потребность в поддержке IE11 падает, и инвестиции в поддержку этого рынка, вероятно, не стоят того, чтобы на них смотреть. Технологии с WebAssembly не достаточно развиты и они что-то отправят только в первой половине 2020 года, сколько IE11 будет к тому времени? И это только первая итерация, и другие важные вехи продвигаются даже позже, поэтому, скорее всего, IE11 не стоит усилий.

...