Здравствуйте, Lazytech, Вы писали:
L>Оказывается, веб-разработчиков, которым требуется обеспечить совместимость с iOS Safari и iOS Chrome, поджидают подводные камни. При этом, как выясняется, полноценных бесплатных средств для отладки веб-приложений, которые по каким-то причинам не работают на iOS, нету.
Поставь "вылеченную" виртуальную машину с iOS, XCode и эмулятором да не мучайся. Легальных бесплатных способов реально нет, это их принципиальная позиция.
Даже Микрософту пришлось прогнуться и эмулятор iOS в Visual Studio например требует регистрацию Apple.
Re[2]: Создателей iOS Chrome и Safari ждет отдельный котел в аду?
Здравствуйте, bnk, Вы писали:
bnk>Поставь "вылеченную" виртуальную машину с iOS, XCode и эмулятором да не мучайся. Легальных бесплатных способов реально нет, это их принципиальная позиция. bnk>Даже Микрософту пришлось прогнуться и эмулятор iOS в Visual Studio например требует регистрацию Apple.
Спасибо за совет. Повторюсь:
Забыл сказать, что я вызвался помочь человеку бесплатно. В такой ситуации ненужные заморочки — оно мне надо?
Re[3]: Создателей iOS Chrome и Safari ждет отдельный котел в аду?
Здравствуйте, Lazytech, Вы писали:
bnk>>Поставь "вылеченную" виртуальную машину с iOS, XCode и эмулятором да не мучайся. Легальных бесплатных способов реально нет, это их принципиальная позиция. bnk>>Даже Микрософту пришлось прогнуться и эмулятор iOS в Visual Studio например требует регистрацию Apple.
L>Спасибо за совет. Повторюсь: L>
Забыл сказать, что я вызвался помочь человеку бесплатно. В такой ситуации ненужные заморочки — оно мне надо?
Гири же. Взялся помогать — доводи до конца. Карма портится
Еще можешь вот попробовать например: https://macincloud.com
У них триал бесплатный есть, может тебе хватит.
Re[4]: Создателей iOS Chrome и Safari ждет отдельный котел в аду?
Здравствуйте, bnk, Вы писали:
bnk>Гири же. Взялся помогать — доводи до конца. Карма портится
У меня сложилось впечатление, что переделанное мною приложение больше всего нужно не владельцу основной программы, а мне. К примеру, я не получил ответа на многие из заданных мною вопросов, а потом мне еще сказали, что я отнимаю много времени своими вопросами.
bnk>Еще можешь вот попробовать например: https://macincloud.com bnk>У них триал бесплатный есть, может тебе хватит.
Спасибо, учту на будущее.
Re[3]: Создателей iOS Chrome и Safari ждет отдельный котел в
Здравствуйте, Lazytech, Вы писали:
L>Здравствуйте, Михaил, Вы писали:
М>>что же тут неправильного, что вам лень установить и протестировать на target os?
L>Извиняюсь, но это же Web.
Реальность такова, что если хочешь быть уверенным, что софт работает на неком девайсе, то придётся на нем тестировать. Современные программные системы и аппаратура настолько сложны, что обеспечить одинаковое поведение двум разным реализациям одной и той же спецификации практически никогда не удаётся.
Такая же ситуация наблюдается и с OpenGL, например, и с Direct3d при работе на видеокартах разных производителей. Даже один и тот же софт может по-разному работать на отличающемся железе.
Здравствуйте, Lazytech, Вы писали:
L>P.S. Раньше я нейтрально относился к Apple, но, как видно, пришло время записаться в хейтеры.
Из моей практики: человек притащил в проект компонент, хотя я рекомендовал не добавлять лишние зависимости, тем более что функционал компонента копеечный.
Совет *проигнорирован*
Этот компонент зависит от другого компонента (да в js они любят размазывать по гитхабу даже пол-экрана).
В том другом компоненте в документации написано — не работает с iPhone. Иногда это означает непредвиденное поведение особенно если компонент сидит на компоненте.
Результат: система висла на iPhone.
Для локализации проблемы когда девайс недоступен так как хотелось бы, например это супер-пупер телефон занятого клиента или его smartv, то я знаю только один способ — проставить логи (как тут советовали в div, и так чтобы они накапливались) и локализовать проблему. Потом отключить все сторонние компоненты и т.д., можно чтобы не дёргать клиента сделать сразу несколько вариантов страницы чтобы за один звонок всё порешать.
Увы — в моём случае было игнорирование этой простейшей логики. Только через несколько дней мытарств появился первый лог (и то, перетиравший предыдущие логи)
Кто виноват: досталось и мне, и разработчикам из Купертино, и таким проектам как svelte и babel.
Я для торжества справедливости сделал локализацию проблемы и просто выкинул тот компонент (заменив на свой код). Всё заработало.
Уважаемые начинающие разработчики
— если вам советуют не увеличивать зависимости от левых проектов — то слушайте.
— если вам советуют не изобретать велосипед, а использовать проверенные решения типа bootstrap — не спорьте.
— обычно проблема сидит в полу-метре от вашего компа. начинайте сперва поиск там, а не в Купертино.
Здравствуйте, Michael, Вы писали:
M>Из моей практики: M> M> человек притащил в проект компонент, хотя я рекомендовал не добавлять лишние зависимости, тем более что функционал компонента копеечный. M>Совет *проигнорирован*
M>Этот компонент зависит от другого компонента (да в js они любят размазывать по гитхабу даже пол-экрана). M>В том другом компоненте в документации написано — не работает с iPhone. Иногда это означает непредвиденное поведение особенно если компонент сидит на компоненте. M>
M>Результат: система висла на iPhone.
Используя «лишние» компоненты, исхожу из того, что они сделаны разработчиками поопытнее меня.
M>Для локализации проблемы когда девайс недоступен так как хотелось бы, например это супер-пупер телефон занятого клиента или его smartv, то я знаю только один способ — проставить логи (как тут советовали в div, и так чтобы они накапливались) и локализовать проблему. Потом отключить все сторонние компоненты и т.д., можно чтобы не дёргать клиента сделать сразу несколько вариантов страницы чтобы за один звонок всё порешать. M>Увы — в моём случае было игнорирование этой простейшей логики. Только через несколько дней мытарств появился первый лог (и то, перетиравший предыдущие логи) M>Кто виноват: досталось и мне, и разработчикам из Купертино, и таким проектам как svelte и babel. M>Я для торжества справедливости сделал локализацию проблемы и просто выкинул тот компонент (заменив на свой код). Всё заработало.
К сожалению, у меня пока крайне мало опыта в отладке кода, особенно в случаях, когда нет доступа к устройству, на котором этот код должен работать. К примеру, про отладочный div я бы без подсказки и не вспомнил.
M>Уважаемые начинающие разработчики M>- если вам советуют не увеличивать зависимости от левых проектов — то слушайте. M>- если вам советуют не изобретать велосипед, а использовать проверенные решения типа bootstrap — не спорьте. M>- обычно проблема сидит в полу-метре от вашего компа. начинайте сперва поиск там, а не в Купертино.
Век живи, век учись...
P.S. Напомню, в чем заключается основной посыл этой темы:
Но это же неправильно, когда для поддержки пользователей какой-то ОС веб-разработчику надо либо самому работать на этой ОС, либо платить стороннему онлайн-сервису.
P.P.S. Кстати, вспомнил, что у меня была добавлена проверка на тип ОС (конкретно iOS), которой не было в оригинальной версии веб-приложения:
Если значение переменной isIOS равнялось false, при нажатии на соответствующую кнопку вызывалась функция onToggle в «другом» компоненте (которая всякий раз отрабатывала нормально, потому что работала НЕ на iOS), а иначе должна была вызываться сделанная мною функция-заменитель onToggleIOS, НЕ задействующая функцию onToggle, а всего лишь подключающая нужный CSS-класс средствами Svelte. Как видно, моя неуклюжая попытка обойти недостатокособенность браузеров на iOS ничего не дала, поскольку проблема лежала глубже...
Оговорюсь, что вышеупомянутая проверка была добавлена мною вовсе не для решения проблемы полной нефункциональности переделанного приложения на iPhone (сути этой проблемы я, к сожалению, не понимал), а всего лишь для обеспечения большего единообразия его поведения на разных платформах.
Здравствуйте, Lazytech, Вы писали:
L>Используя «лишние» компоненты, исхожу из того, что они сделаны разработчиками поопытнее меня.
В современном мире это неверное предположение.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[5]: Создателей iOS Chrome и Safari ждет отдельный котел в ад
Здравствуйте, CreatorCray, Вы писали:
L>>Используя «лишние» компоненты, исхожу из того, что они сделаны разработчиками поопытнее меня. CC>В современном мире это неверное предположение.
У меня практического опыта работы со Svelte — три небольших проекта, включая вышеупомянутый, так что...
Немного поясню ситуацию с «другим» компонентом. По ходу работы над вышеупомянутым проектом я привнес немало багов в процессе переделки оригинального кода, и потенциальное наличие кривого кода в какой-либо из подключенных npm-библиотек было наименьшей из моих забот. «Другой» компонент не сразу заработал в доступных мне браузерах, поскольку первоначально я по незнанию разместил его тег не на самом верхнем уровне HTML-разметки. Свои баги, включая нефункциональность «другого» компонента, я постепенно фиксил, используя console.log (как сказал выше, отладочный div сам бы не догадался использовать). Когда «другой» компонент заработал (в доступных мне браузерах), я на этом успокоился, решив, что теперь-то проблема точно устранена. Как же я ошибался...
Пожалуй, могу дать антирекомендацию сервису saucelabs.com, который мне посоветовали использовать для отладки вышеупомянутого веб-приложения, не работавшего на iPhone.
Так и не смог залогиниться после регистрации. При каждой попытке получал такое сообщение:
User name/password combination is invalid.
Несколько раз делал сброс пароля и создавал новый пароль в надежде, что теперь-то он будет «правильный», но это ничего не дало.
Кто-нибудь может попробовать открыть на iPhone (подчеркиваю, НЕ на iPad) сайт https://svelte-fullscreen.netlify.app/ и, если он откроется нормально, понажимать на кнопки FullScreen и Screen, а также на надпись "Click Here"? Этот сайт демонстрирует работу компонента svelte-fullscreen.
Re[3]: Создателей iOS Chrome и Safari ждет отдельный котел в ад
Здравствуйте, vsb, Вы писали:
vsb>Никто никому ничего не выламывал. Просто требования AppStore такие, что сторонние браузеры обязаны использовать родной iOS движок, вот и всё.
взаимоисключающие вижу параграфы здесь
социализм или варварство
Re[3]: Создателей iOS Chrome и Safari ждет отдельный котел в ад
Здравствуйте, Lazytech, Вы писали:
L>Кто-нибудь может попробовать открыть на iPhone (подчеркиваю, НЕ на iPad) сайт https://svelte-fullscreen.netlify.app/ и, если он откроется нормально, понажимать на кнопки FullScreen и Screen, а также на надпись "Click Here"? Этот сайт демонстрирует работу компонента svelte-fullscreen.
Диагноз по фотографии конечно, но это не вот эта мета?
Мне ее как-то пришлось в свой плагин добавлять: