Re: Создателей iOS Chrome и Safari ждет отдельный котел в аду?
От: bnk СССР http://unmanagedvisio.com/
Дата: 25.06.20 14:54
Оценка: 3 (1)
Здравствуйте, Lazytech, Вы писали:

L>Оказывается, веб-разработчиков, которым требуется обеспечить совместимость с iOS Safari и iOS Chrome, поджидают подводные камни. При этом, как выясняется, полноценных бесплатных средств для отладки веб-приложений, которые по каким-то причинам не работают на iOS, нету.


Поставь "вылеченную" виртуальную машину с iOS, XCode и эмулятором да не мучайся. Легальных бесплатных способов реально нет, это их принципиальная позиция.
Даже Микрософту пришлось прогнуться и эмулятор iOS в Visual Studio например требует регистрацию Apple.
Re[2]: Создателей iOS Chrome и Safari ждет отдельный котел в аду?
От: Lazytech Ниоткуда  
Дата: 25.06.20 15:03
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>Поставь "вылеченную" виртуальную машину с iOS, XCode и эмулятором да не мучайся. Легальных бесплатных способов реально нет, это их принципиальная позиция.

bnk>Даже Микрософту пришлось прогнуться и эмулятор iOS в Visual Studio например требует регистрацию Apple.

Спасибо за совет. Повторюсь:

Забыл сказать, что я вызвался помочь человеку бесплатно. В такой ситуации ненужные заморочки — оно мне надо?

Re[3]: Создателей iOS Chrome и Safari ждет отдельный котел в аду?
От: bnk СССР http://unmanagedvisio.com/
Дата: 25.06.20 15:19
Оценка: 6 (2) :)
Здравствуйте, Lazytech, Вы писали:

bnk>>Поставь "вылеченную" виртуальную машину с iOS, XCode и эмулятором да не мучайся. Легальных бесплатных способов реально нет, это их принципиальная позиция.

bnk>>Даже Микрософту пришлось прогнуться и эмулятор iOS в Visual Studio например требует регистрацию Apple.

L>Спасибо за совет. Повторюсь:

L>

Забыл сказать, что я вызвался помочь человеку бесплатно. В такой ситуации ненужные заморочки — оно мне надо?


Гири же. Взялся помогать — доводи до конца. Карма портится

Еще можешь вот попробовать например: https://macincloud.com
У них триал бесплатный есть, может тебе хватит.
Re[4]: Создателей iOS Chrome и Safari ждет отдельный котел в аду?
От: Lazytech Ниоткуда  
Дата: 25.06.20 15:27
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>Гири же. Взялся помогать — доводи до конца. Карма портится


У меня сложилось впечатление, что переделанное мною приложение больше всего нужно не владельцу основной программы, а мне. К примеру, я не получил ответа на многие из заданных мною вопросов, а потом мне еще сказали, что я отнимаю много времени своими вопросами.

bnk>Еще можешь вот попробовать например: https://macincloud.com

bnk>У них триал бесплатный есть, может тебе хватит.

Спасибо, учту на будущее.
Re[3]: Создателей iOS Chrome и Safari ждет отдельный котел в
От: LuciferSaratov Россия  
Дата: 26.06.20 07:24
Оценка: 3 (1)
L>Сильно подозреваю, что на iPhone (которого у меня нету) этот номер не пройдет...
Аляповато, но работает.
Re[5]: Создателей iOS Chrome и Safari ждет отдельный котел в ад
От: LuciferSaratov Россия  
Дата: 26.06.20 07:30
Оценка: 4 (2)
Здравствуйте, Lazytech, Вы писали:

L>Здравствуйте, Михaил, Вы писали:


М>>что же тут неправильного, что вам лень установить и протестировать на target os?


L>Извиняюсь, но это же Web.


Реальность такова, что если хочешь быть уверенным, что софт работает на неком девайсе, то придётся на нем тестировать. Современные программные системы и аппаратура настолько сложны, что обеспечить одинаковое поведение двум разным реализациям одной и той же спецификации практически никогда не удаётся.
Такая же ситуация наблюдается и с OpenGL, например, и с Direct3d при работе на видеокартах разных производителей. Даже один и тот же софт может по-разному работать на отличающемся железе.
Re[5]: Стив уже там
От: Michael  
Дата: 26.06.20 09:15
Оценка: 3 (1) +2 :)
Здравствуйте, Lazytech, Вы писали:

L>P.S. Раньше я нейтрально относился к Apple, но, как видно, пришло время записаться в хейтеры.



Из моей практики:
    человек притащил в проект компонент, хотя я рекомендовал не добавлять лишние зависимости, тем более что функционал компонента копеечный.
    Совет *проигнорирован*

    Этот компонент зависит от другого компонента (да в js они любят размазывать по гитхабу даже пол-экрана).
    В том другом компоненте в документации написано — не работает с iPhone. Иногда это означает непредвиденное поведение особенно если компонент сидит на компоненте.

Результат: система висла на iPhone.


Для локализации проблемы когда девайс недоступен так как хотелось бы, например это супер-пупер телефон занятого клиента или его smartv, то я знаю только один способ — проставить логи (как тут советовали в div, и так чтобы они накапливались) и локализовать проблему. Потом отключить все сторонние компоненты и т.д., можно чтобы не дёргать клиента сделать сразу несколько вариантов страницы чтобы за один звонок всё порешать.

Увы — в моём случае было игнорирование этой простейшей логики. Только через несколько дней мытарств появился первый лог (и то, перетиравший предыдущие логи)

Кто виноват: досталось и мне, и разработчикам из Купертино, и таким проектам как svelte и babel.
Я для торжества справедливости сделал локализацию проблемы и просто выкинул тот компонент (заменив на свой код). Всё заработало.


Уважаемые начинающие разработчики
— если вам советуют не увеличивать зависимости от левых проектов — то слушайте.
— если вам советуют не изобретать велосипед, а использовать проверенные решения типа bootstrap — не спорьте.
— обычно проблема сидит в полу-метре от вашего компа. начинайте сперва поиск там, а не в Купертино.
Отредактировано 26.06.2020 9:41 Michael . Предыдущая версия . Еще …
Отредактировано 26.06.2020 9:39 Michael . Предыдущая версия .
Отредактировано 26.06.2020 9:38 Michael . Предыдущая версия .
Re[6]: Стив уже там
От: Lazytech Ниоткуда  
Дата: 26.06.20 10:57
Оценка: :))
Здравствуйте, 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), которой не было в оригинальной версии веб-приложения:
 // https://stackoverflow.com/questions/9038625/detect-if-device-is-ios
  let isIOS = (/iPad|iPhone|iPod/.test(navigator.platform) ||
    (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)) && !window.MSStream
  // isIOS = true; // testing
  console.log('isIOS', isIOS);

Если значение переменной isIOS равнялось false, при нажатии на соответствующую кнопку вызывалась функция onToggle в «другом» компоненте (которая всякий раз отрабатывала нормально, потому что работала НЕ на iOS), а иначе должна была вызываться сделанная мною функция-заменитель onToggleIOS, НЕ задействующая функцию onToggle, а всего лишь подключающая нужный CSS-класс средствами Svelte. Как видно, моя неуклюжая попытка обойти недостаток особенность браузеров на iOS ничего не дала, поскольку проблема лежала глубже...

Оговорюсь, что вышеупомянутая проверка была добавлена мною вовсе не для решения проблемы полной нефункциональности переделанного приложения на iPhone (сути этой проблемы я, к сожалению, не понимал), а всего лишь для обеспечения большего единообразия его поведения на разных платформах.
Отредактировано 26.06.2020 13:58 Lazytech . Предыдущая версия . Еще …
Отредактировано 26.06.2020 13:57 Lazytech . Предыдущая версия .
Отредактировано 26.06.2020 13:56 Lazytech . Предыдущая версия .
Отредактировано 26.06.2020 11:14 Lazytech . Предыдущая версия .
Re[7]: Стив уже там
От: CreatorCray  
Дата: 26.06.20 19:17
Оценка: 1 (1)
Здравствуйте, Lazytech, Вы писали:

L>Используя «лишние» компоненты, исхожу из того, что они сделаны разработчиками поопытнее меня.

В современном мире это неверное предположение.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[5]: Создателей iOS Chrome и Safari ждет отдельный котел в ад
От: Ops Россия  
Дата: 26.06.20 22:45
Оценка: +1 :)
Здравствуйте, Lazytech, Вы писали:

М>>что же тут неправильного, что вам лень установить и протестировать на target os?


L>Извиняюсь, но это же Web.


Этот веб совсем недавно стал относительно одинаковым, а еще недавно один осел чего стоил...
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[6]: Создателей iOS Chrome и Safari ждет отдельный котел в ад
От: Lazytech Ниоткуда  
Дата: 27.06.20 01:36
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>Этот веб совсем недавно стал относительно одинаковым, а еще недавно один осел чего стоил...


Слона Осла-то я и не приметил.
Re[8]: Стив уже там
От: Lazytech Ниоткуда  
Дата: 27.06.20 01:54
Оценка:
Здравствуйте, CreatorCray, Вы писали:

L>>Используя «лишние» компоненты, исхожу из того, что они сделаны разработчиками поопытнее меня.

CC>В современном мире это неверное предположение.

У меня практического опыта работы со Svelte — три небольших проекта, включая вышеупомянутый, так что...

Немного поясню ситуацию с «другим» компонентом. По ходу работы над вышеупомянутым проектом я привнес немало багов в процессе переделки оригинального кода, и потенциальное наличие кривого кода в какой-либо из подключенных npm-библиотек было наименьшей из моих забот. «Другой» компонент не сразу заработал в доступных мне браузерах, поскольку первоначально я по незнанию разместил его тег не на самом верхнем уровне HTML-разметки. Свои баги, включая нефункциональность «другого» компонента, я постепенно фиксил, используя console.log (как сказал выше, отладочный div сам бы не догадался использовать). Когда «другой» компонент заработал (в доступных мне браузерах), я на этом успокоился, решив, что теперь-то проблема точно устранена. Как же я ошибался...
Отредактировано 27.06.2020 1:55 Lazytech . Предыдущая версия .
Re: Создателей iOS Chrome и Safari ждет отдельный котел в ад
От: Lazytech Ниоткуда  
Дата: 27.06.20 02:30
Оценка:
Пожалуй, могу дать антирекомендацию сервису saucelabs.com, который мне посоветовали использовать для отладки вышеупомянутого веб-приложения, не работавшего на iPhone.

Так и не смог залогиниться после регистрации. При каждой попытке получал такое сообщение:

User name/password combination is invalid.


Несколько раз делал сброс пароля и создавал новый пароль в надежде, что теперь-то он будет «правильный», но это ничего не дало.
Отредактировано 27.06.2020 2:31 Lazytech . Предыдущая версия .
Re[2]: Создателей iOS Chrome и Safari ждет отдельный котел в ад
От: Lazytech Ниоткуда  
Дата: 27.06.20 04:14
Оценка:
Кто-нибудь может попробовать открыть на iPhone (подчеркиваю, НЕ на iPad) сайт https://svelte-fullscreen.netlify.app/ и, если он откроется нормально, понажимать на кнопки FullScreen и Screen, а также на надпись "Click Here"? Этот сайт демонстрирует работу компонента svelte-fullscreen.
Re[3]: Создателей iOS Chrome и Safari ждет отдельный котел в ад
От: vsb Казахстан  
Дата: 27.06.20 08:35
Оценка: 3 (1)
При нажатии на эти кнопки ничего не происходит.
Re[4]: Создателей iOS Chrome и Safari ждет отдельный котел в ад
От: Lazytech Ниоткуда  
Дата: 27.06.20 08:40
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>При нажатии на эти кнопки ничего не происходит.


Понятно, спасибо.
Re[3]: Создателей iOS Chrome и Safari ждет отдельный котел в аду?
От: Лось Чтостряслось СССР  
Дата: 27.06.20 20:39
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Никто никому ничего не выламывал. Просто требования AppStore такие, что сторонние браузеры обязаны использовать родной iOS движок, вот и всё.


взаимоисключающие вижу параграфы здесь
социализм или варварство
Re[3]: Создателей iOS Chrome и Safari ждет отдельный котел в ад
От: bnk СССР http://unmanagedvisio.com/
Дата: 27.06.20 21:16
Оценка: 3 (1)
Здравствуйте, Lazytech, Вы писали:

L>Кто-нибудь может попробовать открыть на iPhone (подчеркиваю, НЕ на iPad) сайт https://svelte-fullscreen.netlify.app/ и, если он откроется нормально, понажимать на кнопки FullScreen и Screen, а также на надпись "Click Here"? Этот сайт демонстрирует работу компонента svelte-fullscreen.


Диагноз по фотографии конечно, но это не вот эта мета?
Мне ее как-то пришлось в свой плагин добавлять:

<meta name="apple-mobile-web-app-capable" content="yes" />


https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html
Re[4]: Создателей iOS Chrome и Safari ждет отдельный котел в
От: Lazytech Ниоткуда  
Дата: 28.06.20 03:29
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>
bnk><meta name="apple-mobile-web-app-capable" content="yes" />
bnk>


Признаюсь, не подозревал о существовании мета-тегов для поддержки iOS. Уже понял, что поддержка iPhone в моем случае — безнадежное дело.
Отредактировано 28.06.2020 3:42 Lazytech . Предыдущая версия .
Re[5]: Создателей iOS Chrome и Safari ждет отдельный котел в
От: bnk СССР http://unmanagedvisio.com/
Дата: 28.06.20 16:09
Оценка: :)
Здравствуйте, Lazytech, Вы писали:

L>Здравствуйте, bnk, Вы писали:


bnk>>
bnk>><meta name="apple-mobile-web-app-capable" content="yes" />
bnk>>


L>Признаюсь, не подозревал о существовании мета-тегов для поддержки iOS. Уже понял, что поддержка iPhone в моем случае — безнадежное дело.


А просто, не думая, добавить эту мету в свою страницу не пробовал? Вдруг взлетит?

<html>
  <head>
    ...
    <meta name="apple-mobile-web-app-capable" content="yes" />
  </head>
  <body>
  ...
  </body>
</html>


Да, насчет всяких айфонов и прочего — у нас можно всякие дорогие штуки в аренду взять погонять за относительно недорого, на месяц-три-шесть-год. Типа лизинга
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.