10 raisons pour lesquelles le navigateur devient le système d'exploitation universel

Il y a un milliard d'années à l'heure d'Internet (aka 1995), Brendan Eich, Marc Andreessen et le reste de Netscape ont regardé le World Wide Web et ont vu un monde peu étiqueté de documents statiques - un désert informatique où la graine d'un programmeur ne pouvait trouver achat.

Ils avaient une vision différente: des pixels à l'intérieur du rectangle du navigateur aussi vivants que n'importe quelle interface utilisateur. Ils voulaient ajouter un peu de calculabilité Turing-complète afin que les programmeurs puissent faire sauter les pages. JavaScript était la réponse.

[Que savez-vous de la lingua franca du Web? Découvrez-le dans le test JavaScript IQ de. | Travaillez plus intelligemment, pas plus dur - téléchargez le guide de survie des développeurs sur pour obtenir tous les conseils et tendances que les programmeurs doivent connaître. | Tenez-vous au courant des dernières actualités des développeurs grâce à la newsletter Developer World. ]

Au début, les programmeurs macho C regardaient leur création et riaient. Ils ont plaisanté sur JavaScript en tant que jouet pour que les enfants du primaire ouvrent des boîtes d'alerte. Eich, cependant, a vu un moyen pour les programmeurs d'extraire des informations de partout sur le Web. Bientôt, il est venu sous la forme de XMLHttpRequest.

Treize ans plus tard, et environ huit ans depuis que tout le jeu a été rebaptisé «AJAX», la langue autrefois bébé pour les enfants est en train de devenir la langue dominante pour à peu près tout. La combinaison de HTML, CSS et JavaScript alimente les serveurs, les ordinateurs de bureau et les ordinateurs portables. C'est, par essence, la plate-forme standard, le nouveau système d'exploitation.

Techniquement, le navigateur n'offre pas ce que nous attendons du système d'exploitation traditionnel. Les puristes se plaindront: l'équipe des navigateurs passe-t-elle du temps à s'inquiéter de l'enchevêtrement noueux de pilotes de périphériques? Le navigateur garde-t-il le système de fichiers propre et intact? Le navigateur jongle-t-il entre plusieurs threads de priorités différentes et les aide-t-il à partager les mêmes cœurs de processeur d'une manière qui pourrait être considérée comme équitable? Les gars du système d'exploitation jettent un coup d'œil à Chrome et rient parce que ce navigateur ne fait que pointer, se divisant en un processus différent pour chaque page Web, laissant la couche du système d'exploitation faire le travail.

Malgré ces plaintes très légitimes des génies du système d'exploitation, le navigateur est la couche dominante, le seul lien pour les logiciels, le seul standard où réside tout le pouvoir. Il a besoin du système d'exploitation d'un rectangle pour dessiner la page Web, d'un peu d'espace de stockage et d'un flux TCP / IP. Il fait tout le reste d'une manière multiplateforme qui est, quand tout est considéré, relativement exempt de bogues et autres problèmes.

En retour, le navigateur soulage le système d'exploitation de faire beaucoup sauf de fournir ces quelques flux d'informations. Un utilisateur de PC s'attend à pouvoir insérer n'importe quel ancien appareil et le faire fonctionner avec n'importe quelle ancienne collection d'appareils - un événement très rare. Un utilisateur de navigateur souhaite une boîte pour saisir une URL et un moyen d'envoyer des clics vers la couche JavaScript. Construire un appareil uniquement pour navigateur devient de plus en plus facile. Heck, Mozilla, un très petit groupe de personnes, a produit Firefox OS avec une infime fraction des ingénieurs travaillant chez Apple, Google ou BlackBerry.

Et les programmeurs suivent les utilisateurs dans le navigateur pour fournir des fonctionnalités à l'endroit principal que les utilisateurs s'attendent à trouver ces jours-ci. Voici 10 raisons pour lesquelles le navigateur est désormais roi.

Navigateur comme raison ultime du système d'exploitation n ° 1: l'essor des applications Web vastes et riches

Quelque part le long de la ligne, la page Web s'est transformée en une application complète. La meilleure façon de ressentir cela est d'essayer de démarrer quelque chose comme Gmail avec un cache propre et une connexion Internet extrêmement lente. Le programme est suffisamment volumineux pour que le téléchargement de tous les bits et morceaux de JavaScript prenne trop de temps. Il peut y avoir près de 100 fichiers dans le téléchargement moyen. Google reconnaît consciencieusement que Gmail peut être un peu trop gros pour ces occasions, il propose donc une version HTML de base beaucoup plus petite.

Gmail est un exemple des milliers de grands programmes qui s'exécutent régulièrement dans nos navigateurs. Beaucoup nous laissent faire la part du lion des tâches autrefois laissées aux applications natives. Il existe des environnements de développement intégrés (Codio, Cloud 9 et plus), des packages d'édition d'images (AIE, entre autres) et de nombreux jeux HTML5 (voir ci-dessous). Le navigateur n'est pas limité aux documents statiques et au remplissage de formulaires.

Il y a longtemps, les gens désignaient les applications standard pour lire des e-mails ou éditer des photos et dire: "Votre navigateur peut-il faire cela?" Maintenant, la réponse est oui.

Navigateur comme raison ultime du système d'exploitation n ° 2: extensibilité facile via des plug-ins

Tous les principaux navigateurs ont leur propre architecture de plug-ins. Si vous voulez faire quelque chose d'intelligent avec le navigateur, la couche de plug-in est prête à prendre votre code. Vous écrivez du code en JavaScript et le navigateur l'ajoute en tant que fonctionnalité. Vous pouvez ajouter de nouvelles routines pour nettoyer la mise en page ou récupérer certaines informations précieuses comme les citations de votre article. La couche de plug-in pour les navigateurs ouvre l'intérieur au violon, et cela d'une manière plus propre et plus sûre que ce qui peut être accompli avec les systèmes d'exploitation traditionnels.

Navigateur comme raison ultime du système d'exploitation n ° 3: sa fondation open source

Il existe de nombreuses significations différentes chargées dans l'expression «open source», et le navigateur illustre l'une des plus influentes. Les langages du Web ont toujours été faciles à comprendre - du moins par rapport aux codes binaires natifs - et lorsque les premiers développeurs ont inclus l'option «afficher la source», ils ont facilité l'apprentissage des uns des autres pour les programmeurs.

L'ouverture encourage l'innovation, et c'est l'une des principales raisons pour lesquelles nous avons vu la couche du navigateur se gonfler avec autant d'ajouts intelligents. La création de logiciels pour la couche navigateur est plus facile, ce qui encourage davantage de travail à y effectuer. Le rythme de l'innovation est aveuglant car les bonnes idées sont imitées et améliorées rapidement. Tout le monde peut apprendre du travail de chacun, puis enseigner à tout le monde en retour. Cette fonctionnalité à elle seule a créé tellement de programmeurs qu'elle devrait être considérée comme un trésor national par les comités de Washington qui font toujours campagne pour créer plus d'étudiants en STEM.

Navigateur comme raison ultime du système d'exploitation n ° 4: la métaprogrammation

L'ouverture ne signifie pas seulement que le code source est disponible pour que d'autres personnes puissent le copier, le réviser et l'étendre - cela s'applique également aux données du navigateur en ce moment. Certains progiciels comme Greasemonkey permettent d'écrire des logiciels qui s'exécutent au-dessus des logiciels s'exécutant sur une page Web. Greasemonkey peut accéder directement au code de la page Web et redimensionner un élément, modifier une variable ou réécrire le texte lui-même. C'est comme un codage open source en temps réel.

Il y a eu des tentatives pour offrir ce type de fonctionnalité aux systèmes d'exploitation classiques, mais les systèmes de script n'ont jamais eu accès à celui de Greasemonkey dans le navigateur. Même les outils de script les plus sophistiqués, comme AppleScript, accèdent au code uniquement via une API. Les puristes n'aiment peut-être pas que quelqu'un déconne avec leurs variables, mais ils ne s'amusent pas autant. C'est pourquoi certains des outils les plus intelligents sont disponibles dans les navigateurs.

Navigateur comme raison ultime du système d'exploitation n ° 5: Simplicité multiplateforme et mutabilité

Les appareils mobiles sont livrés avec des navigateurs. Les réfrigérateurs sont équipés de navigateurs. Les réfrigérateurs mobiles équipés de navigateurs peuvent-ils être loin derrière? Pourquoi pas? Tout le monde veut mettre HTML, JavaScript et CSS en charge d'un rectangle sur leurs machines car il est facile à adapter. Votre écran est-il court et large ou est-il grand et fin? Cela n'a pas d'importance car le HTML coule dans l'espace qui lui est donné. Le moteur de mise en page piloté par CSS le comprend.

Il y en aura qui souligneront, à juste titre, que toutes les pages Web ne semblent pas bonnes sur des écrans de forme étrange. Certains sites Web ressemblent à une voiture qui les a heurtés lorsqu'ils sont affichés sur un écran mobile grand et mince. Les éléments sont éparpillés partout et rien ne s'aligne. Un problème est survenu avec les styles de flotteur.

Ces problèmes s'estompent à mesure que les concepteurs Web apprennent à planifier à l'avance le plus large éventail d'opportunités basées sur le navigateur qui se présentent. Ils apprennent à être flexibles et élégants afin que le contenu puisse circuler facilement quel que soit l'appareil sur lequel il apparaîtra.

Navigateur comme raison ultime du système d'exploitation n ° 6: une couche d'abstraction propre

La fondation open source du Web encourage une évolution rapide des meilleures pratiques de conception. Il y a encore des coins du monde de la technologie - disons, Apple - où quelques concepteurs insistent pour que tout soit fait à leur manière en utilisant leur cadre natif. Mais malgré tout le succès d'Apple dans l'utilisation du contrôle de qualité Vader, il ne peut pas battre le Web. Chaque innovation créée pour iOS est rapidement imitée et intégrée aux principaux frameworks qui dominent le monde HTML5.

Le populisme démocratique du navigateur laisse éclater les meilleures idées alors que tout le monde expérimente constamment. Ceci est en grande partie dû au HTML et au CSS, qui ont évolué vers une couche d'abstraction claire qui sépare les préoccupations, facilitant la collaboration pour tout le monde. Les concepteurs et les programmeurs peuvent cibler leur couche spécifique et, si possible, intégrer des bibliothèques et des cadres prédéfinis pour tirer parti du travail d'autres concepteurs et programmeurs dans leur propre code.

Navigateur comme raison ultime du système d'exploitation n ° 7: de meilleurs modèles de partage pour les bibliothèques

Les bibliothèques ont toujours été l'une des principales sources de maux de tête pour les programmeurs. Une application sur l'ordinateur veut utiliser la version 3.4.666 d'une bibliothèque, et l'autre veut la version 3.4.667, mais le système d'exploitation ne peut trouver que la mauvaise. Lorsque les choses ne correspondent pas, certains l'appellent «bitrot» et d'autres l'appellent «erreurs de versioning». De toute façon, tout le monde perd.

Le monde des navigateurs offre une meilleure façon de distribuer les bibliothèques. De nombreuses pages Web renvoient à quelques copies centralisées de bibliothèques populaires telles que jQuery ou Dojo. Au lieu d'utiliser leur propre version hébergée sur le site Web, ils renvoient à une version centrale proposée par l'une des sociétés d'infrastructure Web comme Yahoo. Ceux-ci sont plus susceptibles d'être capturés par le cache, économisant ainsi à la page Web suivante le temps de télécharger cette version de la bibliothèque.

Ces versions centralisées sont soigneusement numérotées. Si deux pages Web utilisent la version 1.9.1 de jQuery, le cache fera son travail. Si l'on passe à une version plus récente, les deux fonctionneront. Le cache peut ne pas gagner beaucoup de temps jusqu'à ce qu'ils recommencent à utiliser la même version, mais le commutateur fonctionne sans accroc.

L'approche n'est pas parfaite. Si les copies centrales sont corrompues ou infectées par des logiciels malveillants, tous les sites Web qui les utilisent peuvent être menacés. Mais à quand remonte la dernière fois que cela s'est produit? Passer à une version locale des bibliothèques, la solution la plus simple, ne serait pas difficile.

Navigateur comme raison ultime du système d'exploitation n ° 8: un marché fertile et compétitif

Il était une fois seulement Netscape. Puis Internet Explorer a dominé. Maintenant, il semble que tout le monde a un navigateur en concurrence. Chrome, Firefox, IE, Safari et Opera ne sont que le début. Il existe des dizaines d'autres navigateurs mineurs avec leurs propres dévots. La plate-forme mobile a encore plus.

Tous sont en concurrence pour la part des yeux. Le meilleur gagne, mais seulement jusqu'au prochain cycle de mise à niveau. Puis la compétition recommence.

Cette bataille engendre la qualité. Les meilleurs navigateurs avec les fonctionnalités les plus utiles s'épanouissent tandis que les hacks occasionnels disparaissent. Cela ne se produit pas toujours dans le monde, mais quand c'est le cas, c'est formidable pour les consommateurs. Quand c'est bon pour les consommateurs, cela démontre la puissance de la couche navigateur.

Navigateur comme raison ultime du système d'exploitation n ° 9: SVG, canevas, graphiques vectoriels, superbes interfaces utilisateur

Les premières pages Web étaient peut-être légèrement ennuyeuses, mais c'était avant que les programmeurs intelligents ne découvrent comment animer les propriétés CSS d'un DIV ou d'un SPAN. Maintenant, les rectangles et les mots à l'intérieur peuvent basculer, tourner, tourner, s'estomper, clignoter et même - périr la pensée - simplement rester assis là.

Si cela ne suffit pas, les meilleurs nouveaux navigateurs sont étroitement intégrés aux cartes vidéo et offrent presque toutes les fonctionnalités au programmeur JavaScript. Alors que les concepteurs de jeux ont toujours besoin de code natif pour réaliser des astuces extrêmes qui poussent les cartes vidéo à fondre, presque toutes leurs fonctionnalités logicielles sont disponibles sous une forme ou une autre pour le programmeur JavaScript. Le SVG animé, l'objet canevas et certaines vidéos peuvent presque tout faire. Il existe même une couche 3D appelée WebGL qui gère le rendu en trois dimensions. Le navigateur ne pourra jamais rivaliser avec les consoles ou les jeux natifs, mais il fera du bon travail lorsque les graphismes ne seront pas trop compliqués. C'est plus que suffisant pour de bons jeux.

Tout cela signifie qu'il est désormais beaucoup plus simple de créer une interface utilisateur pour une page Web que d'en créer une pour une application de base. Les concepteurs peuvent travailler avec HTML, JavaScript et CSS, trois langages simples beaucoup plus simples que Java, C ++ ou Objective-C utilisés pour les applications natives. Encore une fois, un codage plus facile attire plus de programmeurs qui créent plus de code et font dominer la plate-forme.

Navigateur comme raison ultime du système d'exploitation n ° 10: Node.js

Peut-être que la preuve ultime du succès du navigateur en tant que plate-forme peut être trouvée dans Node.js, le cadre côté serveur qui permet aux programmeurs de navigateur imprégnés de JavaScript et de fermetures d'écrire des instructions pour le serveur sans apprendre PHP ou Java.

Le package offre des performances spectaculaires pour certains travaux simplement en mettant de côté le modèle fileté commun aux générations précédentes. Au lieu de cela, il adopte la fonction de rappel, l'un des idiomes de la programmation du navigateur, pour jongler avec la charge de travail. Entre de bonnes mains, les programmeurs peuvent contourner les dangers et produire un mécanisme propre qui récupère rapidement et efficacement les informations du serveur.

C'est un peu une victoire pour le monde JavaScript parce que beaucoup se moquaient des fermetures et rappels compliqués de la programmation du navigateur, les considérant comme alambiqués et trop imbriqués. Pourtant, maintenant que les résultats sont rapides, les gens acceptent mieux. La vitesse et l'épargne ont un moyen de gagner les convertis.