Оказывается, веб-разработчиков, которым требуется обеспечить совместимость с iOS Safari и iOS Chrome, поджидают подводные камни. При этом, как выясняется, полноценных бесплатных средств для отладки веб-приложений, которые по каким-то причинам не работают на iOS, нету.
Для сравнения, веб-приложение, из-за которого я создал эту невеселую тему, заработало в Android Chrome сразу, без каких-либо плясок с бубном. Причем заработало не хуже, чем в десктопных версиях Chrome и Firefox.
P.S. Во избежание разночтений уточняю, что «iOS Chrome и Safari» в названии темы следует понимать не как «iOS, Chrome и Safari» (то есть после слова iOS НЕ пропущена запятая), а как «Chrome для iOS и Safari для iOS». Против iOS, macOS и иже с ними ничего не имею, знать их не знаю, и в целом они мне жить не мешают. Бывалые пользователи этого форума, наверное, знают, что форумный движок недолюбливает длинные названия тем, так что приходится изворачиваться...
Здравствуйте, GarryIV, Вы писали:
GIV>Не знаю, легче тебе будет или нет.
Возможно, он ни при чем. Но это же неправильно, когда для поддержки пользователей какой-то ОС веб-разработчику надо либо самому работать на этой ОС, либо платить стороннему онлайн-сервису.
P.S. Больше всего радует, когда все ругают «криворуких индусов» в Microsoft, забывая про «пряморуких» белых в Apple...
L>Оказывается, веб-разработчиков, которым требуется обеспечить совместимость с iOS Safari и iOS Chrome, поджидают подводные камни. При этом, как выясняется, полноценных бесплатных средств для отладки веб-приложений, которые по каким-то причинам не работают на iOS, нету.
L>Для сравнения, веб-приложение, из-за которого я создал эту невеселую тему, заработало в Android Chrome сразу, без каких-либо плясок с бубном. Причем заработало не хуже, чем в десктопных версиях Chrome и Firefox.
А что за подводные камни? у меня сайты на вью сразу заводились и отображались правильно на iOS
Здравствуйте, Lazytech, Вы писали:
L>Здравствуйте, GarryIV, Вы писали:
GIV>>Не знаю, легче тебе будет или нет.
L>Возможно, он ни при чем. Но это же неправильно, когда для поддержки пользователей какой-то ОС веб-разработчику надо либо самому работать на этой ОС, либо платить стороннему онлайн-сервису.
L>P.S. Больше всего радует, когда все ругают «криворуких индусов» в Microsoft, забывая про «пряморуких» белых в Apple...
Это норм. практика в программировании — проверять работу на различных распространенных девайсах, от этого никуда не денешься.
Re[2]: Создателей iOS Chrome и Safari ждет отдельный котел в
Здравствуйте, Михaил, Вы писали:
М>Это норм. практика в программировании — проверять работу на различных распространенных девайсах, от этого никуда не денешься.
Но это же неправильно, когда для поддержки пользователей какой-то ОС веб-разработчику надо либо самому работать на этой ОС, либо платить стороннему онлайн-сервису.
Здравствуйте, Lazytech, Вы писали:
L>Здравствуйте, Михaил, Вы писали:
М>>Это норм. практика в программировании — проверять работу на различных распространенных девайсах, от этого никуда не денешься.
L>Напомню, в случае ОС Android есть бесплатные эмуляторы.
Таки что мешает поставить в виртуалку маос и xcode там выбрать какие эмуляторы нужны и поставить их
Но это же неправильно, когда для поддержки пользователей какой-то ОС веб-разработчику надо либо самому работать на этой ОС, либо платить стороннему онлайн-сервису.
framework — у вас видимо кривой.
нынче если не работает у 1% пользователей считается норм — пусть покупают новое устройство.
L>Возможно, он ни при чем. Но это же неправильно, когда для поддержки пользователей какой-то ОС веб-разработчику надо либо самому работать на этой ОС, либо платить стороннему онлайн-сервису.
Увеличивай свою цену до тех пор, пока тебе это не покажется правильно. Я так стал с линуксом работать.
Здравствуйте, Lazytech, Вы писали:
L>Здравствуйте, Sharowarsheg, Вы писали:
S>>Увеличивай свою цену до тех пор, пока тебе это не покажется правильно. Я так стал с линуксом работать.
L>Чтобы не повторяться, вот ссылка на другую тему
Здравствуйте, Sharowarsheg, Вы писали:
S>Ну, может быть в следующий раз...
Самое смешное, что в Chrome для Android это приложение работает чуть ли не лучше, чем в десктопном Chrome. В частности, анимации отрабатывают чуть более плавно (хотя, возможно, мне только кажется). А ведь, помнится, Android принято ругать за тормознутость.
Здравствуйте, Lazytech, Вы писали:
L>P.S. Больше всего радует, когда все ругают «криворуких индусов» в Microsoft, забывая про «пряморуких» белых в Apple...
Большинство веб-разработчиков "оттуда" сидят на маках, пользуются айфонами и искренне не понимают ваших проблем (:
А вообще я бы постарался сделать какой-то перехват ошибок (исключений) в JavaScript и показ из в виде простого текста в div. Т.е. вылетела любая ошибка, обычно ты её смотришь в developer console, а тут будет прям поверх вылазить div с этими ошибками. Для совсем профессионального использования можно на сервер их отправлять, чтобы ты без участия пользователя был в курсе ошибок. Я по памяти не скажу, как именно это делается, но SO должен помочь. Также есть сервисы, которые сделают это за тебя, достаточно только добавить их скрипт себе на страницу, по памяти тоже не скажу, но, думаю, найти можно.
Скорей всего ты просто используешь какую-то функцию, которой нет в Safari. Или какую-то продвинутую языковую конструкцию.
Но это же неправильно, когда для поддержки пользователей какой-то ОС веб-разработчику надо либо самому работать на этой ОС, либо платить стороннему онлайн-сервису.
L>Нужное подчеркнул.
что же тут неправильного, что вам лень установить и протестировать на target os?
Ну и если использовать малораспространенные фреймворки, вероятность подобных неожиданных проблем, имхо, значительно увеличивается.
Re[4]: Создателей iOS Chrome и Safari ждет отдельный котел в ад
Здравствуйте, Михaил, Вы писали:
М>что же тут неправильного, что вам лень установить и протестировать на target os?
Извиняюсь, но это же Web.
М>Ну и если использовать малораспространенные фреймворки, вероятность подобных неожиданных проблем, имхо, значительно увеличивается.
Здравствуйте, Lazytech, Вы писали:
L>P.S. Больше всего радует, когда все ругают «криворуких индусов» в Microsoft, забывая про «пряморуких» белых в Apple...
Apple тоже ругают, такими статьями завален весь интернет. Если подвести итог одной из статей, которую написал программист прекративший поддержку его программы на их ос, то их системы крайне враждебны для новичков, а старички держатся лишь по причине денег, но некоторые постепенно уходят. Так же большие компании тоже потихоньку отказываются от поддержки Apple, это хорошо видно на игровом рынке десктопов.
Если стороннему разработчику не удалось начать качать из пользователей продукции Apple деньги, то соваться дальше смысла нет, так как затраты слишком высоки. У них такая политика, что сначала нам заплати, а потом получишь право разрабатывать для нас продукты. При этом им плевать, если что-то работает не как надо, у них свои уникальные разработки. В любой момент правила могут измениться и это проблема индейцев, а не шерифа.
Но с другой стороны, а почему бы им так себя не вести. В конце концов они создали и продвинули свою собственную инфраструктуру. Имеют право, тем более разработчики слетаются как мухи. Для крупных компаний не проблема под них прогнуться. Те же разработчики Fortnite, миллиардные прибыли, сразу же прогнулись под Apple, но с Google пытались бороться.
«Королевская битва» вышла на Android в конце августа 2018 года, однако Epic Games отказалась выпускать её в Google Play из-за высокой комиссии — издателю пришлось бы отдавать 30% доходов с продаж. С учётом этого аналитики подсчитали, что Google мог бы заработать в течение года после релиза Fortnite около 50 миллионов долларов, если бы игра была доступна в их магазине приложений.
Epic Games отметила, что Google фактически вынудил её выпустить Fortnite в Google Play Store, так как все игры и приложения, которые выходят за его пределами, помечаются на устройствах с Android как потенциально вредоносные и этим отталкивают аудиторию.
Подобная двойная мораль у разработчиков с Sony, например, Valve со Steam это плохо, а вот с Sony всё отлично. Но в этом году Гейб уже сломал об колено EA, продолжает нагибать майкрософт и даже Sony нагнул на прошлые эксклюзивы.
Между тем политика Google тоже не совсем нормальна. Они берут чужой контент, а потом выдают его в поиске беря деньги за рекламу. Или видеохостинг, что с ним то не так? А то что хранение видео бесплатно и раньше даже платили создателям контента, тогда как за пользование обычными серверами берут деньги, то есть хостинг это услуга.
Всё это я к тому, что каждая крупная компания имеет какие-то стратегии по прогибанию независимых разработчиков. Майкрософт взяла и нагнула их сертификатами. Но пока разработчики будут обходить проблемы, то всё так и продолжится. Такие компании как Apple, Google, Microsoft, Sony и другие будут их нагибать.
Microsoft в своё время доигрались с самопровозглашёнными стандартами, привет IE, это программа которая устанавливает браузер. Напоследок ещё добавлю, что да, Apple справедливо ругают, но у Chrome и Android один и тот же создатель, то есть Google. Между вышеуказанными компаниями идут различные войны.
Тот же Chrome для Apple это всё равно, что троянский конь, это видно на примере Microsoft. Apple удачно себя огородили и только любители их продукции что-то о них знают. Если человек привык разъезжать на троянских конях, то это тоже своего рода показатель предвзятости.
Здравствуйте, Lazytech, Вы писали:
L>Здравствуйте, kov_serg, Вы писали:
_>>Таки что мешает поставить в виртуалку маос и xcode там выбрать какие эмуляторы нужны и поставить их
L>Я так и предполагал, что легально бесплатного способа нету. Мне проще сказать главному пользователю, чтобы сам отлаживал.
Да все легальные способы от apple платные.
Но как вариант можно зайти в мвидео и с выставочных устройств попробывать
или на крайняк на домашнем маке
Здравствуйте, vsb, Вы писали:
vsb>А вообще я бы постарался сделать какой-то перехват ошибок (исключений) в JavaScript и показ из в виде простого текста в div. Т.е. вылетела любая ошибка, обычно ты её смотришь в developer console, а тут будет прям поверх вылазить div с этими ошибками. <...>
Я так и сделал. Проблема в том, что приложение ломается сразу, не доходит даже до onMount.
vsb>Скорей всего ты просто используешь какую-то функцию, которой нет в Safari. Или какую-то продвинутую языковую конструкцию.
Очень даже может быть. Я даже не Svelte подозреваю, а babel.
Re[5]: Создателей iOS Chrome и Safari ждет отдельный котел в
Здравствуйте, Lazytech, Вы писали:
L>Вот он, родимый: https://svelte.dev/
Ничего не могу сказать. Никогда не использовал
Но как правило все эти фрейморкеры сидят на маках и очень странно если что оно не работает именно на яблоках.
_>>нынче если не работает у 1% пользователей считается норм — пусть покупают новое устройство. L>Пользователей пока можно пересчитать на пальцах одной руки.
Тогда ставте macos и смотрите где и что отваливается.
Здравствуйте, velkin, Вы писали:
V>Microsoft в своё время доигрались с самопровозглашёнными стандартами, привет IE, это программа которая устанавливает браузер. Напоследок ещё добавлю, что да, Apple справедливо ругают, но у Chrome и Android один и тот же создатель, то есть Google. Между вышеуказанными компаниями идут различные войны.
Здравствуйте, kov_serg, Вы писали:
L>>Я так и предполагал, что легально бесплатного способа нету. Мне проще сказать главному пользователю, чтобы сам отлаживал. _>Да все легальные способы от apple платные.
Я так и думал.
_>Но как вариант можно зайти в мвидео и с выставочных устройств попробывать
Сейчас, только наскребу полтора килобакса на авиабилет до Москвы и обратно.
_>или на крайняк на домашнем маке
Откуда ж я его возьму?
Re[5]: Создателей iOS Chrome и Safari ждет отдельный котел в ад
Здравствуйте, Lazytech, Вы писали:
L>Самое смешное, что в Chrome для Android это приложение работает чуть ли не лучше, чем в десктопном Chrome. В частности, анимации отрабатывают чуть более плавно (хотя, возможно, мне только кажется). А ведь, помнится, Android принято ругать за тормознутость.
V>Microsoft в своё время доигрались с самопровозглашёнными стандартами, привет IE, это программа которая устанавливает браузер.
Это не Microsoft. В войне "стандартов" у команды IE/Edge просто не было шансов даже удержаться на плаву.
Много лет подряд W3C был куплен гуглом на 3/4. W3C был тем спортлото куда разработчики из Microsoft могли жаловаться и предлагать, а то что реально станет "стандартом" делала отдельная группа разработчиков называемая WHATWG. Этот консорциум создавался под одну задачу "против Microsoft".
Команда хрома реализовывала свои новые фичи, Safari мозилла (финансируемая гуглом) их сразу же поддерживала. А W3C это всё чисто формально утверждал. После каждого такого раунда неизменно проходил тур PR-акции "все поддерживают стандарты W3C а IE опять говно". Новые фичи сделанные командой IE "комитетом" естественно отклонялись. Выиграть в таких "боях без правил" невозможно в принципе. Стратегическое поражение.
Как только война браузеров оказалась выиграна (2018-й год) а MS окончательно сдалась, и решила похоронить Edge, так сразу W3C стал совсем не нужен. И его просто выкинули из игры. Теперь все стандарты делает только и исключительно WHATWG. Немножко про "окончание войны" и "примирение" тут: Browser vendors win war with W3C
Здравствуйте, SkyDance, Вы писали:
М>>Это норм. практика в программировании — проверять работу на различных распространенных девайсах, от этого никуда не денешься. SD>В случае с Apple, это хотя бы всего пара-тройка девайсов
Помню, в какой-то видеолекции о разработке веб-приложений в Яндексе было упомянуто, что у сайта yandex.ru есть две основные версии. Первая — для нормальных пацанов современных «вечнозеленых» браузеров, а вторая — для давно устаревших браузеров. Во второй версии (ее в Яндексе называют «бабушкой») функционала меньше, чем в первой, да и вообще она выглядит проще, зато работает без проблем.
Возможно, имеет смысл специально для iOS делать «бабушку»...
Здравствуйте, Lazytech, Вы писали:
L>P.S. Во избежание разночтений уточняю, что «iOS Chrome и Safari» в названии темы следует понимать не как «iOS, Chrome и Safari» (то есть после слова iOS НЕ пропущена запятая), а как «Chrome для iOS и Safari для iOS». Против iOS, macOS и иже с ними ничего не имею, знать их не знаю, и в целом они мне жить не мешают. Бывалые пользователи этого форума, наверное, знают, что форумный движок недолюбливает длинные названия тем, так что приходится изворачиваться...
Говорят, Эппл выломал Гуглю руки, и Хром в иОСе доступен на условиях, что у него только морда и название от Хрома, а движок от Сафари.
Re[2]: Создателей iOS Chrome и Safari ждет отдельный котел в
Здравствуйте, Pzz, Вы писали:
Pzz>Говорят, Эппл выломал Гуглю руки, и Хром в иОСе доступен на условиях, что у него только морда и название от Хрома, а движок от Сафари.
Да, я тоже слышал нечто в этом роде. С другой стороны, WebKit в том или ином виде где только не используется.
WebKit's HTML and JavaScript engine started as a fork of the KHTML and KJS libraries from KDE,[1][6] and has since been further developed by KDE contributors, Apple, Google, Nokia, Bitstream, BlackBerry, Igalia, and others.[7] WebKit supports macOS, Windows, Linux, and various other Unix-like operating systems.[8] On April 3, 2013, Google announced that it had forked WebCore, a component of WebKit, to be used in future versions of Google Chrome and the Opera web browser, under the name Blink.[9][10]
Внимание, вопрос: если разработчики WebKit в Apple такие умные, почему же Safari такой трудносовместимый с другими браузерами?
P.S. Шутки ради попробовал открыть на относительно свежем старом Samsung Galaxy свое аляповатое веб-приложение с двумя простенькими играми: https://ezgames.netlify.app/
Это приложение изначально делалось под десктопные браузеры, а поддержка мобильных устройств вообще не предусматривалась (ES6 inside, верстка только под большое разрешение экрана и всё такое). Каково же было мое удивление, когда оно сразу заработало.
Сильно подозреваю, что на iPhone (которого у меня нету) этот номер не пройдет...
Здравствуйте, Pzz, Вы писали:
Pzz>Говорят, Эппл выломал Гуглю руки, и Хром в иОСе доступен на условиях, что у него только морда и название от Хрома, а движок от Сафари.
Никто никому ничего не выламывал. Просто требования AppStore такие, что сторонние браузеры обязаны использовать родной iOS движок, вот и всё. Там много подобных спорных требований.
На самом деле для iOS технически невозможно сделать быстрый браузер на своём движке. Чтобы JS работал быстро, нужен JIT-компилятор. А обычные приложения не имеют права помечать память атрибутами X. То бишь создать машинный код и выполнить его невозможно. Движок Safari работает в отдельном привилегированном процессе. Вероятно это сделано для безопасности.
Re: Создателей iOS Chrome и Safari ждет отдельный котел в аду?
Здравствуйте, 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.
Диагноз по фотографии конечно, но это не вот эта мета?
Мне ее как-то пришлось в свой плагин добавлять:
Здравствуйте, bnk, Вы писали:
bnk>А просто, не думая, добавить эту мету в свою страницу не пробовал? Вдруг взлетит?
А смысл? Всё равно мне не на чем будет проверить результат, кроме как на BrowserStack.com (с жестким ограничением по времени). Притом для этого придется засветить там еще один адрес электронной почты, чего не хотелось бы. В общем, овчинка не стоит выделки.
bnk>Да, насчет всяких айфонов и прочего — у нас можно всякие дорогие штуки в аренду взять погонять за относительно недорого, на месяц-три-шесть-год. Типа лизинга
Похоже, я на другой планете живу. Вообще говоря, наличие iPhone вряд ли поможет мне в отладке веб-приложений. На десктопе худо-бедно отлаживаю только благодаря наличию DevTools, иначе никак.
P.S. Нашел кое-что насчет того мета-тега: https://framework7.io/svelte/app-layout.html
Запоздало понял, что надо подбирать фреймворк или библиотеку под конкретный проект, а не брать что попадется под руку (как я поступил со Sveltestrap).
L>Похоже, я на другой планете живу. Вообще говоря, наличие iPhone вряд ли поможет мне в отладке веб-приложений. На десктопе худо-бедно отлаживаю только благодаря наличию DevTools, иначе никак.
Очень круто, но требует как минимум наличия iPhone. Напомню исходные условия:
Забыл сказать, что я вызвался помочь человеку бесплатно. В такой ситуации ненужные заморочки — оно мне надо?
Мне выше еще предлагали такой вариант:
Поставь "вылеченную" виртуальную машину с iOS, XCode и эмулятором да не мучайся.
Но я не уверен в том, что имеющееся у меня железо этот вариант потянет. К примеру, одно время у меня система дико тормозила, когда одновременно работали VS Code, Chrome и Firefox. Это при том, что незанятой памяти оставалось более чем достаточно. Тормоза, по-видимому, возникали из-за того, что у каждой из этих программ работает по несколько процессов, и эти процессы довольно-таки часто обращаются к диску, причем иногда все разом. Доходило до того, что Firefox с открытой парой-тройкой вкладок (обычные сайты, а не испытываемое веб-приложение) «замерзал» на добрый десяток секунд, и было проще его закрыть, чем дожидаться «размерзания». Потому-то подозреваю, что мое железо никак не потянет тяжеловесную «матрешку» (эмулятор iOS в XCode, XCode в виртуальной машине macOS, виртуальная машина macOS в реальной ОС).