Що таке прогресивне рішення веб-програми для IOS [закрито]


79

Мені було цікаво, що таке рішення прогресивної веб-програми для пристроїв IOS, оскільки їх веб-переглядач SAFARI за замовчуванням ще не підтримує прогресивні веб-програми. Який альтернативний варіант для аналогів IOS?


1
Вітаю з першим запитанням. Як вам, можливо, відомо, одним із багатьох реквізитів Прогресивної веб-програми (PWA) є підтримка службовців у браузері. На жаль, Safari не підтримує службовців, тому єдиними альтернативами є власні програми або звичайний веб-сайт.
Хосе Луїс,

1
Слідом за @ JoséLuis PWA повинен слідувати принципу прогресивного вдосконалення і, отже, мати зворотну сумісність у Safari та iOS. Це означає, що основні функції все ще повинні бути придатними для використання, а додаток поступово вдосконалюється, оскільки нові функції стають доступними у браузері або ОС.
Кевін Фарруджа

2
Дивіться мою відповідь нижче. Я написав статтю, в якій закликав Apple. Це викликало неабиякий ажіотаж у твіттері та хакерських новинах. Через тиждень вони нарешті почали розробку на ній!
Greg Blass

2
Нарешті, Apple додала підтримку службовцям в їх TP. Детальніше про підтримку сафарі в PWA ви можете прочитати тут medium.com/awebdeveloper/…
aWebDeveloper

1
Справді, маю сказати, що закривати це як занадто широке - це ооо #% (#) дурно. Як серйозно! Чому? Чому б ви закрили таке важливе запитання, як це? Просто збиває мене з розуму.
Грег Бласс

Відповіді:


97

Зверніть увагу, що "браузери, що підтримують прогресивні веб-програми", не є реальним терміном, PWA сам по собі є набором функцій, які веб-програма може надати для користувачів. Тож мова йде не лише про Service Worker та App Manifest.

Ознайомтесь: Контрольний список базового рівня PWA .

Ось що ви можете зробити для досягнення PWA в iOS / Safari на момент створення цієї відповіді:

  • Сайт обслуговується через HTTPS ✅
  • Сторінки реагують на планшети та мобільні пристрої ✅
  • Початкова URL-адреса (принаймні) завантажується в автономному режимі 🚫
  • Метадані передбачені для додавання на головний екран ✅❗️
  • Перше завантаження є швидким навіть на 3G ✅
  • Сайт працює у різних браузерах ✅
  • Переходи сторінки не здаються такими, що блокуються в мережі ✅
  • Кожна сторінка має URL-адресу ✅

Як бачите, майже все працює, навіть якщо ваша сторінка не може працювати в автономному режимі на iOS / Safari, все одно є величезна перевага від "оновлення" веб-програми до PWA.

Насправді вам потрібен не вигадливий заголовок "Прогресивні веб-програми", а хороший веб-додаток, який забезпечує хороший досвід та можливості для користувачів. Це подорож, оскільки ви можете здійснити її кожною маленькою частиною, тому її називають "Прогресивною".

Примітка щодо "Додати на головний екран: Safari має власну специфікацію" Піктограми головного екрану ", що викликається apple-mobile-web-app-capableв метатегах. Генератор маніфестів веб-додатків має резервну копію для iOS, використовуючи ці метатеги.


7
Завдяки вищезазначеним функціям і без «Сервісних службовців» ви просто розробляєте швидкий та адаптивний веб-додаток! Власні програми набагато більше !!
Абхішек Налін

1
Користувач downvote запитав про iOS, відповідь така загальна
Fareed Alnamrouti

Метадані передбачені для додавання на головний екран ✅❗️ Не працює. Чи можете ви детальніше сказати?
Профер

76

EDIT 3:

Службовці відправили Safari для iOS 30 березня 2018 року!

РЕДАКТУВАТИ 2:

Розробник Apple на ім'я Рікі Монделло написав це в Твіттері 24 січня 2018 року:

https://twitter.com/rmondello/status/956256845311590400

"iOS 11.3 і macOS 10.13.4 включають Service Workers - потужну специфікацію, яка дозволяє фоновим сценаріям живити офлайн-веб-програми. iOS 11.3 також звертається до Web App Manifest при додаванні веб-програм на головний екран".

Чудово!

Поки що жодного слова про push-сповіщення, але все ж дивовижна новина.

РЕДАГУВАТИ:

Я написав статтю, в якій закликав Apple на цю тему:

https://m.phillydevshop.com/apples-refusal-to-support-progressive-web-apps-is-a-serious-detriment-to-future-of-the-web-e81b2be29676

Його опублікували в хакерських новинах та отримали хороший виклад у Twitter. Через тиждень вони почали розробку на ній. Тож - стежте за оновленнями, здається, нарешті на шляху!


ОРИГІНАЛЬНИЙ ВІДПОВІДЬ:

"Отже, мова йде не лише про Service Worker та App Manifest".

На мій погляд, це саме те, про що насправді йде PWA - працівник сфери послуг. Це те, що дозволяє вам робити все чудове, що робить PWA можливим. Базового рівня можна досягти вже давно, і хоча Google технічно встановив їх як базову класифікацію, ці речі не є тим, що насправді робить PWA таким, яким він є. В іншому випадку це просто звичайний адаптивний веб-додаток у моїй книзі.

Ось список речей, які ви все ще не можете робити з мобільним сафарі через відмову Apple їх підтримувати (оскільки вони втратять гроші з магазину додатків):

  • Створіть екран завантаження програми
  • Використовуйте push-сповіщення
  • Додайте підтримку в автономному режимі
  • Створіть початковий інтерфейс додатка для миттєвого завантаження
  • Швидке встановлення на головний екран за допомогою діалогового вікна, що керується браузером

Прийнята відповідь насправді малює неправильну картину тут. Я довів яблуко "рідне", як досвід мобільного сафарі, до межі, і воно все ще досить погане. Я мав численні проблеми з повноекранним режимом мобільного сафарі, і Apple просто не піклується про них. З ним поводяться як із громадянином другого класу, оскільки він не приносить грошей, як це робить магазин додатків.

Ви помітите, що якщо ви додасте новий і дивовижний мобільний сайт на основі реакції / зменшення на свій головний екран на iOS, він не відкриється в повноекранному режимі. Я підозрюю, що з тих самих причин, які я виявив - помилок вдосталь, і ніхто з команди Apple над ними не працює.

Екран завантаження, який колись був можливим у повноекранному режимі iOS, який був доступний у маніфесті веб-програми, загадково перестав працювати, без жодних коментарів від Apple на своїх форумах щодо дописів на цю тему. І маючи сказати користувачам: "Ой, привіт, просто натисніть" Поділитися ", а потім перейдіть до пункту" Додати на головний екран "- це жахливий спосіб робити щось.

Це сумний стан справ. Список у поточній прийнятій відповіді дійсно повинен називатися "Базовий адаптивний список веб-програм".

І відповісти на запитання тут - ні, альтернативи немає і нічого не поробиш. Вам потрібно пограти в гру Apple, заплатити 100 доларів, щоб отримати доступ до магазину додатків, і вивчити зовсім іншу та більш складну мову програмування, а також тримати абсолютно окрему базу коду.

Я щойно провів 6 місяців, вивчаючи React Native для клієнтського проекту, і це було приголомшливо. Я б дуже рекомендував це. Ви можете створювати справді власні програми за допомогою JavaScript і ділитися своєю кодовою базою між iOS та Android.

Щоб бути зрозумілим, я не проти Apple. Я використовую iPhone і розробляю на Mac. Але цей аспект їхньої бізнес-стратегії, безумовно, ганьба.


1
Я вважаю, що Swift / Xcode є найпростішою мовою / IDE для використання на ринку. Вони створили сучасну мову розробника та нову парадигму, орієнтоване на протокол програмування, яке вирішує багато проблем, пов’язаних із множинними успадкуваннями. Той факт, що вони не намагалися розширити його використання за межі власних продуктів, - це ганьба, але називати його більш складним у порівнянні з TypeScript / JavaScript було б оманливим. Я думаю, що TypeScript - це некрасива пов'язка, яку вони надягають на потворну мову. Я б хотів, щоб веб-браузери натомість говорили швидко.
Райан Дайнс

Хтось згадав мені те саме в моїй статті. Я відредагував його, щоб сказати більше "багатослів'я". Але ти маєш рацію - я, мабуть, упереджений із веб-сторінки. Але команди Facebook змогли здійснити ітерацію в 5 разів швидше в Інтернеті, ніж рідні програми, саме тому вони створили React Native - тому я думаю, що в цьому є певна заслуга.
Greg Blass
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.