Как вы боретесь с несовместимость браузеров?
Сделал веб прогу, загрузил в облако, протестировал. Не работает правильно гадина. Оказалось что запустился не тот браузер, что при локальных тестах .
То цвет колонок грида неправильно показывает, то календарь не показывает, то поле даты выводится не по заданному формату и т.п.
Есть где то сборник несовместимостей и как с ними бороться? Или брать ошибки, что найдены и рыть?
Есть Edge, Chome и FireFox - во всех немного по разному отображаются некоторые страницы.
Юзать известные фреймворки, где за совместимость отвечают специальные люди, и поменьше самописного. Использовать те конструкции языка, разметки и стилей, которые работают во всех движках, а не являются экспериментальными или расширениями некоторых движков. Вообще, по-возможности, не использовать всяких экзотических вещей, а только давно вошедшие в стандарты. Ну и наконец, перестать писать для веба, хотя бы для его фронт-энд части - фронт-энд веба для тех, кому нефиг делать, кроме как постоянно переучиваться с одного модного фреймворка на другой.
Странно, что в Edge и Chrome по-разному отображается - они же на одном движке.
По-разному может быть, если используются, например, дефолтные стили - они в разных браузерах могут быть разными. Вообще, стремление к тому, чтобы во всех браузерах выглядело абсолютно одинаково - бесполезное. Это во флеше или другом плагинном фреймворке с собственным движком рендеринга можно было подобного добиться, а в нынешнем вебе - нет. Браузеры - это платформы, которые хоть и придерживаются определённых стандартов, но всё же отличаются. Требование к одинаковости отображения в разных браузерах сродни требованию, чтобы все браузеры стали одним.
Есть разные статьи по обеспечению совместимости и всякие валидаторы вашей разметки
7 Common Cross Browser Compatibility Issues to Avoid | BrowserStack
10 ways to avoid cross browser compatibility issues (lambdatest.com)
Объём работ большой, а толку - всё равно не добьёшься желаемого. А если добьёшься, то стоит смениться версии браузера - и может снова всё слететь. Нужно просто смириться с некоторыми несовместимостями. А ещё бывает, что попросту делают лишь под самый распространённый вариант (Хромиум, например), и отказываются от поддержки всего остального.
Аналогию можно привести с 3Д-играми и видеокартами - стандарты шейдеров и языков программирования одинаковы, а рендеринг происходит немного по-разному, поэтому игры, запущенные на разных видеокартах могут немного отличаться.
Юзать известные фреймворки
И что из бесплатного есть для Коре?
которые работают во всех движках
откуда это узнать?
не использовать всяких экзотических вещей
Ну если редактор даты и времени - это экзотика...
Хотя лиса это и не поддерживает, Modernizr сказал, хоть и с ошибкой.
Ну и наконец, перестать писать для веба
Да всё время то под десктоп и писал, но сейчас как то уже никому не надо, только какую-то старую фигню поддерживать.
Да и уже скоро НЕТ 6 выйдет из колыбельки - надо вперед идти.
Странно, что в Edge и Chrome по-разному отображается
Только с цветом что то не то в одном месте, похоже стили по разному грузят.
Требование к одинаковости отображения в разных браузерах
Скорее не требование, а как с этим лучше бороться.
И что из бесплатного есть для Коре?
С коре, тем более для веба, не знаком. Я работал с ASP.NET MVC - там всё как и везде - подключаешь разные библиотеки для стилей, для привязки данных, для скриптования, или комбо "всё в одном". И для серверной части есть. Смотря что надо.
откуда это узнать?
Обычно берёте самые популярные
и смотрите их совместимость. Например, для Bootstrap
Guide - Bootstrap Themes (getbootstrap.com)
How to Install Bootstrap in ASP.NET Core MVC - Dot Net Tutorials
Да всё время то под десктоп и писал, но сейчас как то уже никому не надо, только какую-то старую фигню поддерживать.
Рынок коробочного или загрузочного ПО для ПК как был огромным, так и остался. Профи, привыкшие к мгновенному отклику, не любят тыкать в тормозные веб-морды. Где все эти места разработчиков для ПК и кто их все позанимал и не хочет отдавать?
Да и уже скоро НЕТ 6 выйдет из колыбельки - надо вперед идти.
Я надеюсь, они там наконец-то сделают то, что пытались сделать последние лет 10-15 - кроссплатформенный UI, пригодный в том числе для мобильной разработки. Официальный, а не всякие Моно.
Только с цветом что то не то в одном месте, похоже стили по разному грузят.
Насколько я знаю, браузеры используют встроенные стили (каждый свои) для дефолтных отображений. Хотите одинаково - пишите все стили с нуля, вплоть до малейших определений. Но лучше заюзать готовый стилевый фреймворк (например, Бутстрэп) - там это за вас сделали. Но всё равно остаётся вероятность, что какой-то браузер отрисует что-то не так. От этого никак не избавиться и нужно смириться.
Скорее не требование, а как с этим лучше бороться.
100% одинаковости всегда и везде не добьётесь никогда. Это не флеш и не прочие системы с со своей встроенной единообразной отрисовкой (рендеринг). Тут каждый браузер как своя собственная система со своими отрисовками. Брузеры объединяет только то, что они типа стандартов веба придерживаются (пытаются), а так это отдельные системы, платформы, под которые можно отдельно программировать, используя их особенности (разные специальные расширения только для конкретного браузера).
Рынок коробочного или загрузочного ПО для ПК как был огромным, так и остался.
Я сужу по количеству предложений, мониторю относительно давно. В прошлом году было вообще затишье, С начало этого побольше предложений, но в основном веб и облака.
То что попадается для десктопа не подходит принципе - поддержка старого спагетти кода.
Я надеюсь, они там наконец-то сделают то, что пытались сделать
ничего кардинально нового пока не заметил. Хотя для блазора и даже НЕТ 5 продвижение замечательное в некоторых местах.
От этого никак не избавиться и нужно смириться
Только вот бы пользователю или шефу это объяснить
То что попадается для десктопа не подходит принципе - поддержка старого спагетти кода.
Как вы определяете, даже не подавая резюме туда? Они же не пишут "будем поддерживать старый спагетти-код"?
Только вот бы пользователю или шефу это объяснить
Попробуйте заюзать Бутстрэп - там контролы полностью застилизованны, так что браузеру не остаётся места для применения своих стилей. По идее, должно везде выглядеть одинаково.
ты используешь что то вроде этого
Где то так: Модель+Вьюв
[DataType(DataType.DateTime)] [Display(Name = "From")] [Range(typeof(DateTime), "01.01.2021", "01.01.2099")] [DisplayFormat(ApplyFormatInEditMode = false, DataFormatString = "{0:dd.MM.yyyy HH:mm}")] public System.DateTime From { get; set; } .... <input asp-for="From" class="form-control"/>
А в браусере получается да это
<input class="form-control" type="datetime-local"
Как вы определяете
Ну некоторый опыт набрал. Одни софт на сайте выставили.
А если написано это
DEINE AUFGABEN:
• Eigenverantwortliche Konzeption, Weiterentwicklung und Pflege unserer Bestandssoftware
и фирма Х лет делает одну/две проги. То вероятность нарваться на спагетти код достаточно велика, особенно если там разработчик тоже Y лет работает и кто такой Unkle Bob не имеет понятия.
Попробуйте заюзать Бутстрэп
Код со своего старого проекта стащил, что то есть
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
Ага. Этот компонент (поле ввода типа календарь) встроен в браузер. Причем в каждый браузер по своему. А в некоторые вообще не встроено. Это означает, что если ты хочешь в подобных случаях единообразия, то пользуйся исключительно сторонними компонентами. Они имеют свой собственный ХТМЛ и ЦСС, они всегда существуют, а не только в определенных браузераh
то пользуйся исключительно сторонними компонентами.
Так уже и подумал, но наскоро, раньше ничего не нашел подходящего. Сейчас пока с Azure Service Fabric играюсь. Потом еще поищу.
Но интересует больше следующее - пока есть проблемы, которые нашлись. Решу эти - в новых проектах уже не будет.
Но мог бы просто и не найти. Ну или новые какие вылезут. Или только когда все шишки не набьёшь будет нормально?
Ну некоторый опыт набрал. Одни софт на сайте выставили.
А если написано это
DEINE AUFGABEN:
• Eigenverantwortliche Konzeption, Weiterentwicklung und Pflege unserer Bestandssoftware
и фирма Х лет делает одну/две проги. То вероятность нарваться на спагетти код достаточно велика, особенно если там разработчик тоже Y лет работает и кто такой Unkle Bob не имеет понятия.
Так продуктовые фирмы, которые один-два продукта делают долгое время (выпускают новые версии) - это тоже под эти критерии подпадает. Например, Майкрософт делает Виндовс - это оно.
Или вам нужно, чтобы почаще новые продукты делались и побыстрее сдавались без возврата к ним?
Не сочтие за рекламу, но вот тут можно посмотреть как и что работает в каких браузерах: browserling.com
Рынок коробочного или загрузочного ПО для ПК как был огромным, так и остался. Профи, привыкшие к мгновенному отклику, не любят тыкать в тормозные веб-морды. Где все эти места разработчиков для ПК и кто их все позанимал и не хочет отдавать?
Отличная тема для конца недели, даешь отдельный топик!
но вот тут можно посмотреть как и что работает в каких браузерах
Это я могу и у себя глянуть и не за 3 отведенных минуты.
Вот если бы его с энтим https://validator.w3.org/
совместить, чтобы залогинится можно было и по страничкам полазить