编程知识 cdmana.com

Chrome est le nouveau Safari, tout comme Edge et Firefox

Lien vers le texte original:nielsleenheer.com/articles/20…

.Dans l'App Store pour iPhone,Il y a beaucoup de navigateurs disponibles.Dans le dernier iOS Le système peut même définir ces navigateurs comme les navigateurs par défaut.Alors pourquoi?QuelquesLes gensPlaintesiOS Et la sélection du navigateur sur ?

Vous ne réalisez peut - être pas iOS Tous les navigateurs sur doivent être utilisés avec Safari Même moteur de rendu .Sur d'autres plateformes,Ce n'est pas le cas..

Sur Android 、 Le système de fenêtres est même macOS Allez.,Ils utilisent tous Chromium Moteur de rendu.Mais dans iOS,Il utilise WebKit. Ou voir Firefox , Il est utilisé sur toutes les plateformes Gecko Moteur de rendu.Sauf que iOS,Il utilise WebKit.

### Pourquoi tout le monde utilise WebKit?

Ce n'est pas parce que ces moteurs de rendu ne peuvent pas iOS Cours.. Migrer le moteur de rendu vers iOS Il faudra peut - être du travail ,Mais pour autant que je sache, Certains navigateurs veulent participer à ce travail , Mais c'est dommage qu'ils ne soient pas autorisés à faire ça .

En fait,App Store L'application doit être examinée et approuvée par Apple ,Satisfaction Guide d'examen de l'app store :

2.5.6 Les applications qui naviguent sur les pages Web doivent utiliser les WebKit Cadre et WebKit Javascript Moteur.

C'est la décision finale. . Apple exige que le navigateur utilise WebKit.En fait, L'application doit utiliser les WebKit Cadre.Même si WebKit Open Source, Vous ne pouvez pas non plus utiliser une version modifiée ou améliorée de votre application .Jamais.

@mtomweb Image de description créée

Grand égaliseur :SystèmeWebView

Mais comment utiliser la version sous licence WebKitEt alors?? Il existe un cadre pour résoudre ce problème .Apple offreWebView, Permettre un peu de travail dans votre application vous permet d'intégrer WebKit. Besoin d'un objet de configuration pour le cadre , Et gérer certains des événements qu'il envoie . WebKit Gérer toutes les charges réelles 、Résolution et rendu. Votre application n'a besoin d'aucun détail . Tout ce que vous devez faire est de fournir une interface utilisateur conviviale , Et peut - être aussi l'intégration avec votre écosystème .Par exemple: Partagez vos signets avec votre navigateur de bureau .

C'est la raison principale pour laquelle d'autres fournisseurs de navigateurs s'inquiètent de ce désordre . Ils ne se soucient pas iOS Pour compléter un grand navigateur , Au lieu de cela, ils se soucient davantage d'avoir leurs utilisateurs actuels dans iOS Dans leur écosystème actuel .

Tu es là.WindowsUtilisation surEdgeC'est ça??Pas de problème!,Vous pouveziOSTéléchargerEdge, Tous vos mots de passe 、 Les signets et les étiquettes sont là .Intégration des écosystèmes,Parfait!

Même si ça a l'air génial , .Mais il simplifie aussi le navigateur en une interface utilisateur différente .

Pourquoi est - ce important?

Le plus important pour les navigateurs est le moteur de rendu . L'interface utilisateur doit être affichée dans le navigateur , Mais le navigateur ne peut pas se mettre en travers de .

Même Apple pense que le rendu de l'interface utilisateur devrait être aussi rapide que possible .Les pommes sont iOS 15 Dans la version bêta Safari Les premières expériences réalisées et conformes à cette philosophie , Cela a conduit certains experts en pommes, par exemple Marco Arment, Frederico Viticci Et John Gruber Quelques critiques très directes ont été formulées .Malgré tout, La pomme a raison. , Parce que l'utilisateur veut parcourir la page , N'utilisez que le navigateur .

Et c'est exactement iOS Où d'autres navigateurs ne peuvent pas innover , Ils doivent utiliser le même moteur de rendu que les autres navigateurs sur la plateforme .

Donc si vous voulez utiliser le nouveau WEB Critères? Il faut attendre que la pomme soit là. WebKitPour le mettre en œuvre.S'il y a bug Ça pose un problème. ? Attendez qu'Apple le répare et publie une nouvelle version iOS.

C'est le problème..

Standard Support and Push WEB Développement de la plateforme

Même si j'en ai créé un HTML5testSite Web, Je ne vais pas non plus donner de points pour illustrer Safari Score inférieur à celui des autres navigateurs .J'espère que, Parce que ce n'est pas le cas . Ce site a été 5 L'année n'a pas été mise à jour,Safari Soutenir presque tout5Il y a un an WEB Critères.

C'est beaucoup plus compliqué. .Apple. WEB Il y a une différence fondamentale entre ce que vous pensez des autres navigateurs .

Il est facile de se rappeler que Google n'a pas pris la vie privée au sérieux auparavant , Parce que c'est aussi une agence de publicité . Apple ne vend que du matériel . - Non.,C'est faux..

Il en va de même pour Apple Hope de App Store Obtenir environ 30% à 15% Recettes,Jean WEB Ça empire., Forcer l'utilisateur à utiliser APP, Et en tirer profit . Je n'y crois pas du tout .

Safari Et Chrome L'équipe veut que WEB Plus sûr, Et s'efforcer d'améliorer WEB Mais ils ont raison. WEB Il y a différentes opinions sur ce qui devrait être .

Google se concentre sur l'adoption Amélioration WEB Pour améliorer WEB Extension WEB Capacité de, Au - delà des possibilités d'aujourd'hui . Cela signifie également qu'il est autorisé à concurrencer les applications locales , L'équipe Android n'est certainement pas toujours d'accord .

Safari Semble se concentrer sur Amélioration WEB Pour le rendre plus sûr 、Plus vite.、Plus belle. Si tu veux plus , Vous pouvez utiliser une application .

Je ne dis pas qu'Apple a mal agi . Ce qu'Apple fait est aussi important , Je félicite Apple pour son amélioration WEB Travail effectué dans le domaine de la protection de la vie privée .

Mais ça ne peut pas être la seule priorité .Imagine ça.,Si20 Chaque navigateur a adopté cette approche il y a ,WEB À quoi ça ressemblerait?.

En fait, N'imagine pas tout ça .Rappelle - toi.Internet Explorer 6;C'est ça.20Il y a un an WEB .Je ne dis pas ça. Internet Explorer 6 C'est un mauvais navigateur .Il est là.2001 Année est un grand navigateur .Mais c'est commeInternet Explorer 6 C'est pareil, Si vous arrêtez d'innover ,Tu es en retard.Cela a conduit àInternet ExplorerLe déclin de. D'autres navigateurs s'améliorent grâce à l'innovation ,EtInternet Explorer Ça n'a plus d'importance. . Bien que Microsoft ait essayé pendant des années de rattraper et même d'utiliser Edge Rattrapez - moi. ,Il a finalement échoué,EdgeUtiliser maintenant Chromium En tant que moteur de rendu

Dans le passé20Année, Il nous a fallu beaucoup d'efforts et d'innovation pour devenir ce que nous sommes aujourd'hui : Nouvelle interface de programmation d'application 、Nouvelles normes、Nouvelles fonctionnalités.Ironiquement,,Un plus puissant WEB La poussée de SafariEtWebKitMoteur de rendu.WebKit C'est Xingui , Ça a tout changé. ,Et pour WEB De nombreuses nouvelles fonctionnalités utiles ont été ajoutées .

Mais les temps ont changé..Safari Déjà en retard C'est dur de suivre WEB Direction du développement de la plateforme . Je ne parle pas de quelque chose qui n'a que Chromium Des fonctions bizarres qui viennent d'être réalisées . Même les normes appropriées et les fonctionnalités largement supportées dans d'autres navigateurs peuvent prendre des années à SafariApparaît dans.

Web Le mantra des développeurs est “Safari C'est nouveau. IE”.Malheureusement,,C'est déjàÇa fait un moment..

Malheureusement,,Avec Internet Explorer La différence est,IniOS L'utilisateur ne peut pas simplement choisir d'utiliser un autre navigateur .Oui.,Ils peuvent., Mais comme nous venons de le voir , Ils sont déguisés Safari.

Donc plus qu'un navigateur derrière .iOS Tous les navigateurs sur .iOS Tout le WEB Tout est derrière..iOS Est devenu si important ,QueTout WEB Les plates - formes sont bloquées .

Comme les développeurs l'ont fait pour le soutien à long terme Internet Explorer 6 C'est comme être déprimé. , Ils doivent aussi soutenir Safari Et déprimé .

Ce qui est encore plus frustrant, c'est les récentes déclarations d'Apple . Sous la pression des instances judiciaires et réglementaires ,Apple pour App Store La nature fermée de la défense ,Pesage WEB Est une alternative appropriée à la construction d'applications natives . Vous n'avez pas à suivre les règles de l'app store ; Vous pouvez également créer WEB Application.

En même temps, Ils permettent la mise en œuvre Web L'application n'est pas intéressée par la capacité de concurrencer l'application native , Ça fait mal de lire ça .

Longue attente

Malheureusement,,Pour les développeurs, Ce n'est pas seulement le manque de fonctionnalité qui complique les choses . L'une des principales raisons de la frustration est l'apparition soudaine de petites Bug Et les erreurs.

Maintenant,Je ne dis pas ça. Safari Plus d'erreurs que les autres navigateurs . Chaque navigateur a des erreurs .Et pourtant, Lorsque l'erreur se produit , Le plus important est la vitesse à laquelle le problème est corrigé .Ce que je vais dire, c'est que, Comparé à d'autres navigateurs , Il faut plus de temps pour introduire des corrections d'erreurs à l'utilisateur .

ParA propos deindexedDBErreur fatale pourPar exemple. Les détails techniques incorrects n'ont pas d'importance , Mais la chronologie est importante . Cette erreur est survenue 5Mois24Publié leiOS 14.6Introduit dans.Il est là.6Mois2 Le jour a été signalé et bientôt réparé .Jusqu'à présent,Tout va bien.Et jusqu'à7Mois19JouriOS 14.7 Ce n'est qu'après la publication que cette fonctionnalité a été introduite pour les utilisateurs .Pendant cette période,indexedDB InSafari Non disponible en fait , Vos clients se plaignent de votre WEB L'application est cassée. , Tu devrais le réparer. .

.Tout autre navigateur publie des corrections d'erreurs immédiatement . Ils peuvent commencer à lancer des correctifs en quelques jours au lieu de quelques semaines , Parce que leur navigateur est introduit indépendamment du système d'exploitation .

Mais...SafariOuiOS Ce n'est pas le cas de tout autre navigateur sur ;Au contraire., Tu dois attendre. iOS Ce correctif est inclus dans la version , Et selon la date de publication de cette version , Il pourrait même ne pas publier la prochaine version . Tu ne sais même pas si ça va être inclus ,Parce que“ Apple ne commente pas les futures versions ”.

La plupart de ces problèmes ne découlent pas Safari L'équipe. Je suis presque sûr qu'ils aimeraient publier des correctifs plus rapidement .C'estiOS Questions relatives à la plateforme .Mais cela dit,Pour Safari Et iOS D'autres navigateurs sur , C'est toujours un problème .

Tous les navigateurs sont égaux , Mais certains sont plus égaux

Au début de cet article ,J'ai mentionnéSafariAussi utiliséWebKit.C'est vrai.MaisSafari La plus grande différence par rapport aux autres navigateurs est Safari Libre de rivaliser entre l'interface utilisateur et le moteur de rendu . S'ils veulent mettre en oeuvre une nouvelle norme ou une nouvelle fonctionnalité , Ils sont libres de le faire . D'autres navigateurs doivent attendre qu'Apple implémente une fonctionnalité spécifique , Les pommes peuvent ajouter tout ce qu'elles veulent à tout moment . Ce n'est pas juste. .

Pire encore,WebViewEtSafari Il y a des différences dans le support standard du système , Parfois, la fonction commence par SafariRéalisation, Mais ce n'est qu'après une ou deux versions que WebViewMoyenne.

Récemment,Basé sur WEB Il y a un problème avec la communication vidéo . Un qui permet aux navigateurs d'accéder à la caméra avant du téléphone WEB Les critères sont les suivants:Safari A été soutenu pendant un certain temps ,Mais dans WEB Pas dans la vue . Donc si vous voulez utiliser n'importe quelle forme basée sur WEB Chat vidéo pour ,Vous devez utiliserSafari.Jusqu'àiOS14.5, Ce problème a été résolu .

Un exemple plus connu il y a quelques années était ,Apple Refuser de permettre aux navigateurs tiers d'utiliser plus rapidement Nitro Le moteur tourne JavaScript. .Il s'agit d'un véritable problème de sécurité ,Parce qu'à l'époque, WebView Exécuter dans le même processus que l'application ,Allow Nitro Cela signifie permettre à l'application d'exécuter n'importe quel Code .iOS Un grand tabou .Mais bien sûr.,Safari Sans ces restrictions.Enfin, Ils ont utilisé un tout nouveau WebView Remplacer l'ancien WebView, Il exécute le moteur de rendu dans son propre processus , J'ai complètement évité ce problème .

Ils ont eu la chance de résoudre ces deux problèmes . C'est bien pour eux et les navigateurs qui dépendent de ces fonctionnalités .En outre,Safari .L'équipe semble avoir de bonnes raisons de ne pas introduire ces caractéristiques spécifiques dans WebView, Jusqu'à ce qu'ils puissent le faire correctement .

Certaines fonctions peuvent être liées à Safari Application ou Apple Les écosystèmes sont très intégrés .Donc,, Étendre cette fonctionnalité à WebView Ça n'a aucun sens.

Mais quoi qu'il en soit,, Les pommes ne sont pas soumises à leurs propres règles , Libre d'innover , Et les autres ne peuvent pas .

iOS Tous les navigateurs sur sont égaux ,Mais... Safari Plus d'égalité .

Que peuvent faire les autres navigateurs ?

Les navigateurs peuvent faire deux choses pour résoudre ce problème .Malheureusement,, Les deux sont condamnés depuis le début. .

Comme je l'ai dit,WebKit Open Source, D'autres fabricants de navigateurs peuvent investir du temps et de l'argent pour réaliser ce qu'ils veulent . Si la fonction est acceptée et conforme à Apple Vision du réseau , Il est donc très probable qu'il soit inclus dans Safari .Dans la prochaine version de ——Chaque fois que.

Le problème, c'est que, Ceci augmente l'utilisation d'autres améliorations de navigateur Safari Le fardeau. Ce n'est pas comme ça que ça marche dans le monde réel .

Même si les grands fournisseurs de navigateurs avec beaucoup d'argent choisissent de fournir à l'équipe ,Et il n'y a aucune garantie que Apple Il sera là. Safari Cette fonctionnalité est disponible dans .Même aujourd'hui,WebKit Encore utilisé et développé par de nombreuses parties ,Donc,,WebKit Beaucoup de soutien Safari Fonctions non incluses .

Je ne dis pas qu'ils le feront par malveillance ou parce que “ C'est une invention. ” Le syndrome et ignorer ces contributions . Mais à cause d'une vision différente , Ils ont des points de vue différents sur les plateformes web .

Fais semblant jusqu'à ce que tu le casses

Une chose qui fonctionne est d'arrêter de chercher des solutions WebKit,Mais... WebView En soi. Le navigateur peut WebView Insérer JavaScript,Et JavaScript Vous pouvez envoyer des messages à l'application navigateur . C'est un peu cliché , Mais vous pouvez en créer un automatiquement inséré lors du chargement de la page polyfill, Prétendre supporter cette fonction . Si cette fonction est nécessaire ,Le polyfill Vous pouvez même parler à l'application navigateur et lui dire d'exécuter le Code natif .

C'est ça. Cordova Et Capacitor Comment fonctionne l'application .Ils / elles ont couru WebView Et fournit la communication avec le côté natif de l'application API, .Pour prendre en charge des fonctionnalités que les navigateurs ne prennent généralement jamais en charge . .Les navigateurs peuvent également utiliser cette technique .

C'est plus qu'une théorie .In Apple In Safari Avant de le soutenir ,Chrome Utilisez - le dans iOS Disponible sur PaymentRequest SoutienApp Store Il y a même des navigateurs spécifiques à la fonctionnalité qui offrent WebBluetooth Ou WebMidi Soutien.

Mais comme je l'ai dit, . C'est maladroit , Peut ne pas fonctionner à tout moment . Et certaines fonctions ne peuvent pas être polyfill.

Bien sûr.,En tant qu'utilisateur, Si les navigateurs peuvent utiliser cette technologie plus iOS Apporter de nouvelles fonctionnalités de plate - forme réseau ,Je serai heureux. Mais je comprends pourquoi les navigateurs hésitent à le faire. .

Les perspectives sont sombres

Alors quelle est la vraie solution à ces problèmes ? Comment faire en sorte que les navigateurs rivalisent non seulement en apparence, mais aussi en fonctionnalité de plate - forme Web ?

Il n'y a qu'une seule solution :Apple Besoin d'ouvrir leurs App Store. Règles obsolètes 2.5.6 Et permis iOS D'autres navigateurs sur et les faire vraiment participer à la concurrence .Bien que Apple Dans certains cas, App Store Compromis sur les règles , Mais j'ai peu d'espoir que ça arrive .

C'est la raison pour laquelle je pense que les régulateurs du marché doivent enquêter .Apple Claims Web - Oui. App Store Solutions de remplacement appropriées, Les régulateurs devraient donc accepter leurs affirmations et veiller à ce qu'elles deviennent réalité .

版权声明
本文为[Zhai mengnan]所创,转载请带上原文链接,感谢
https://cdmana.com/2021/11/20211125170645296a.html

Scroll to Top