The Browser Company se met au défi de porter Arc sur Windows avec Swift et Visual Studio Code

Anthony Nelzin-Santos |

Comme si elle n’était pas suffisamment ambitieuse, The Browser Company se lance au défi de porter son navigateur web Arc sur Windows avec le langage Swift et l’éditeur Visual Studio Code ! Le cofondateur de la petite entreprise américaine, Hursh Agrawal, veut améliorer l’intégration de Swift sous Windows tout en adaptant les outils de Microsoft à Swift.

Le site MacGeneration dans Arc. Image MacGeneration.

The Browser Company n’a jamais caché son ambition de proposer Arc sur toutes les plateformes. La première version du navigateur utilisait le framework de conception d’applications multiplateformes Electron, qui repose lui-même sur Node.js et Chromium, une approche rapidement abandonnée pour des raisons de performances. Arc dérive maintenant du navigateur open source Chromium, bien caché sous une interface originale bourrée de fonctionnalités innovantes, et disponible uniquement sur macOS.

Après avoir bouclé une première version mobile, The Browser Company avait remis la version Windows à l’ordre du jour, sans expliquer comment elle comptait s’y prendre. Le choix le plus pragmatique est aussi le plus ambitieux : la petite entreprise américaine veut porter sa base de code en Swift sous Windows, afin de former une fondation commune aux deux plateformes, qui lui permettra ensuite de construire plus rapidement sans dupliquer l’effort.

Reste qu’il s’agit d’un travail titanesque pour une entreprise qui ne compte qu’une poignée de salariés. Un seul ingénieur s’est chargé d’améliorer le compilateur LLDB et la stabilité de l’environnement Swift sur Windows, tout en implémentant de nouvelles fonctionnalités. Un autre ingénieur s’est chargé d’améliorer SourceKitLSP et donc la coloration syntaxique du code Swift dans Visual Studio Code, tout en intégrant le Windows App SDK.

Courageuse mais pas téméraire, The Browser Company ne se risque pas à s’engager sur un délai de développement. Agrawal pense toutefois qu’une première build fonctionnelle pourrait être distribuée en interne « dans les prochaines semaines ». L’entreprise documente régulièrement le développement de son navigateur et promet de donner rapidement des nouvelles de la progression de ses travaux liés à Swift sur Windows.

avatar roms.nc | 

J’ai complètement remplacer chrome sur Mac et fait de ARC mon navigateur principal

avatar Yoshi_1 | 

@roms.nc

Qu’apporte Arc par rapport à d’autres navigateurs ? Je suis récemment passé sur Edge, que je trouve très bien.

avatar roms.nc | 

@Yoshi_1

Je l’ai découvert par une vidéo de Shubham sharma sur YouTube

https://youtu.be/EHe0Wu5yM9c

Perso, j’adore les Spaces avec chacun ses favoris et extensions. Beaucoup plus facile de passer de l’un à l’autre qu’avec des profils chrome.

avatar risenful | 

Idem ! Arc est désormais mon navigateur principal sur Mac OS et surement bientôt sur iPhone. Je rêve d'une version iPad.

avatar whocancatchme | 

@risenful

J’ai lutté mais j’ai essayé du coup j’ai switcher ! Il me manque plus qu’à passer à bitwarden pour mes mots de passe !

avatar Yil2201 | 

Pareil, un super navigateur qui est basé sur le moteur pour lequel tous les sites sont (malheureusement?) optimisés mais avec une interface native pour macOS et des fonctions innovantes 🥰

avatar MGA | 

@Yil2201

Au moins un intérêt pour les vieux dont je fais partie, ça rajeunit.
On se retrouve du temps où les sites n’étaient compatibles qu’avec IE. L’histoire n’est qu’un éternel recommencement.
Pour moi c’est « fuck les sites qui ne font pas l’effort » mais je peux me le permettre.

avatar marc_os | 

@ MGA

> Pour moi c’est « fuck les sites qui ne font pas l’effort »

+1000
Le pire, c'est quand le site d'une administration ne marche pas avec Safari.
C'est juste insupportable.
Exactement comme au temps d'Internet Explorer en effet.
Visiblement chaque nouvelle génération de développeur web a sa dose de feignasses qui ne s'intéressent qu'au dernier truc à la mode - avec moult prétextes bidons au besoin.

avatar sailor29 | 

Le navigateur des hipster 2023 🤭

avatar trenkwill | 

@sailor29

C’est clair mais j’assume à 100% !

avatar madaniso | 

Plus rapide que Brave ? C'est la seule métrique qui m'intéresse 😀

avatar jul69 | 

@madaniso

Non pas très rapide je trouve par rapport à brave (Mac Intel, de grosses améliorations sont prévues prochainement de ce côté) mais les features sont tops !

avatar guymauve | 

@madaniso

J’ai testé et je suis revenu sur Brave. Je n’ai pas remarqué de différence de rapidité

avatar jul69 | 

Le seul navigateur qui m’a fait quitter safari

avatar Maxstyle | 

@jul69
+1

avatar misc | 

Comme je suis contre l'hégémonie chromium (et les specs web dictées par Google) je ne l'utiliserai pas.

avatar bunam | 

@misc

+1

avatar sailor29 | 

C'est clair, il faut bien comprendre que c'est chrome mais avec une UI différente, plus gadget. Certains aiment ça... Donc il ne faut pas espérer y voir des gains de performances

avatar joneskind | 

@sailor29

Non

C’est Chromium + une UI originale + des fonctionnalités originales

Comme Chrome, Edge, Brave, Opera et tous les autres navigateurs basés sur Chromium

Chromium ne sert qu’à rendre la page, mais il y a plein d’opérations qui peuvent être réalisées en amont pour améliorer les performances.

Edge fait mieux que Chrome pour la gestion de la mémoire en allouant les ressources système différemment.

Opéra fait mieux que Chrome en compressant les images côté serveur pour accélérer le téléchargement des ressources.

avatar marc_os | 

@ joneskind

Vous avez écrit :

> @sailor29
> Non
> C’est Chromium + une UI originale + des fonctionnalités originales

En réponse à :

> c'est chrome mais avec une UI différente, plus gadget

Perso, je ne vois pas bien la différence. 🤔
À moins que vous ne pinailliez sur les mots chrome vs. chromium ? 😳

avatar tmarie | 

Pour ma part j'ai tout quitter pour Arc et je ne suis pas déçu !

avatar joneskind | 

Autant je ne suis pas forcément intéressé par la partie navigateur, autant en tant que développeur je suis super impressionné et enthousiaste concernant leur ambition d’utiliser Swift sur Windows.

Je ne sais pas comment ils comptent s’y prendre, et quel framework ils ont utilisé pour développer leur application sur Mac (SwiftUI, AppKit, un peu des deux ?) mais le graal ultime pour moi ce serait qu’ils développent un portage de SwiftUI pour Windows.

Ultime cerise sur le gâteau, un portage de SwiftUI pour Gnome ou Plasma ou XFCE ou les 3 tiens !

On pourrait alors espérer remplacer Électron par Swift+SwiftUI sur toutes les plateformes. Le rêve…

avatar iPop | 

@joneskind

Il me semblait que Microsoft permettait avec ses outils d’adapter des applications Swift sur PC.

avatar joneskind | 

@iPop

Je n’en ai pas entendu parler.

Mais le problème ici c’est pas tant d’utiliser Swift (le langage) que SwiftUI (qui est un framework pour créer des interfaces)

Je vais me renseigner. Merci !

avatar BeePotato | 

@ joneskind : « On pourrait alors espérer remplacer Électron par Swift+SwiftUI sur toutes les plateformes. Le rêve… »

Le rêve pour un développeur utilisant déjà SwiftUI, mais je ne suis pas sûr que le résultat serait fabuleux pour les utilisateurs. Je crains que la tendance classique (et finalement assez naturelle) à viser le plus petit dénominateur commun amènerait à un paquet d’applications en SwiftUI se limitant à un sous-ensemble de fonctionnalités partagées par toutes les plateformes, et faisant la croix sur les fonctionnalités spécifiques à MacOS.
Et aussi, bien probablement, avec une interface développée une seule fois, sans adaptation à chaque plateforme (contrairement à l’esprit mis en avant par Apple pour SwiftUI) et ressemblant donc probablement plus à du Windows qu’à une application pour Mac.

Mais de toute façon, il semble que ce ne soit pas la voie suivie par TBC pour Arc. D’après le peu que j’ai pu en voir, ils ont plutôt développé un toolkit multiplateformes à eux, qui sera publié en opensource plus tard. On verra alors à quoi ça ressemble vraiment.

avatar Morgan | 

Ravi de la version Mac que j’utilise depuis l’année dernière (adopté à 200%). En revanche la version IOS est très (trop) light pour le moment donc je reste sur Safari pour IOS…, nul doute que les MAJ vont arrivés ils sont très réactif pour une petite équipe ! Bravo à eux 👏

avatar ditek | 

J’adore Arc et j’en ai fait mon navigateur par défaut
Mais sur mon écran 13 pouces de mon MacBook Pro M1 (oui le tout premier en M1), je trouve ça finalement peu efficace car ça mange quand même pas mal d’espace horizontal pour rien. L’affichage en est donc réduit.
Quand j’ai mon écran 27’ connecté = c’est génial
Quand je suis uniquement sur l’écran LCD je repasse à Vivaldi.

avatar BeePotato | 

Saleem Abdulrasool a abattu un gros travail depuis plusieurs années pour porter Swift sur Windows. C’est super qu’il ait pu rejoindre TBC pour ce projet d’Arc sur Windows, ce qui lui permet de finaliser l’adaptation de Swift à travers un usage concret (ce qui est toujours plus agréable que de faire le boulot en espérant que quelqu’un, quelque part, l’utilise).

avatar ataredg | 

TBC ne peut pas durer en l'état. Rentabiliser un navigateur est impossible sauf à se faire racheter par une major. Et Arc, même s'il propose des idées intéressantes (split view, Easel, mini browser, cli) pose aussi des problèmes d'ergonomie (barre latérale mal fichue en gros). Il restera un navigateur de niche. Jusqu'à disparaitre faute de financement.

avatar BeePotato | 

@ ataredg :
Probablement, oui. Mais comme d’autres petits projets de ce genre, il aura permis de tester des idées, qui seront éventuellement reprises ailleurs si elles ont convaincu de leur utilité.

Et il aura permis de mettre un coup de boost à la finalisation de Swift pour Windows, ce qui devrait être une bonne chose pour Swift.

avatar marc_os | 

> Swift pour Windows

Cool.
Mais bientôt on aura encore plus d'interfaces "à la Windows" sur Mac.
Car je doute que les donneurs d'ordre veuillent mettre de l'argent permettant en partie un double design afin de tenir compte des spécificités des plateformes.

avatar BeePotato | 

@ marc_os : « Mais bientôt on aura encore plus d'interfaces "à la Windows" sur Mac. »

Pas forcément.
Ça, ce sera seulement s’il sort un framework d’interface graphique qui soit en Swift, pratique et efficace, et dispo sur les deux OS. Celui que prévoit de sortir TBC corresponds aux premier et troisième critères, mais on ne sait encore rien du deuxième — il fera peut-être un flop.

Swift pour Windows peut être utile même en l’absence d’un tel framework (certaines application ont une bien plus grosse partie de code dans leur partie modèle que dans la partie interface).

avatar marc_os | 

@ BeePotato

Je précise ma pensée: Je trouve que c'est bien si Swift peut-être utilisé pour développer une app pour Windows. Ça permettrait de partager une bonne partie du code entre les plateformes.
Ensuite, j'exprime ma crainte que comme trop souvent des moyens financiers suffisants ne soient pas mis pour obtenir des apps respectant "leur environnement" (les recommendations officielles de Microsoft ou Apple par exemple.)
Quand on voit que même sur les sites de macg, ce sont les normes Windows* qui sont adoptées et non pas celles du Mac, alors que pour un site web il n'y a pas de normes qu'on peut faire ce qu'on veut, et que le focus des sites de macg, c'est n'est pas vraiment Windows, je crois que mes craintes sont justifiées.
 
 
(*) bouton [Envoyer] à gauche de [Annuler]

avatar BeePotato | 

@ marc_os :
J’avais bien compris la crainte.
Ce risque est certes toujours présent. Mais ce que je mettais en avant, c’est qu’il est moins important si l’interface utilisateur n’est pas réalisée en utilisant un framework multiplateformes.

En dehors de la présence d’un tel framework, je ne pense pas que l’existence de Swift pour Windows augmente sensiblement ce risque.

avatar vincentn | 

Excellente nouvelle, en espérant qu'ils aillent au bout et réussissent cette entreprise de portage sur windows.

Même si ce navigateur et sa philosophie ne me conviennent pas (il se concentre sur les usagers qui utilisent principalement des silos représentés par quelques webapps (Google, Figma…) et un peu de navigation sur le net, que sur l'ensemble et la diversité du net et de ses usages, notamment les plus avancés), que ses limites et lenteurs/lourdeurs actuelles peuvent être exaspérantes (à comparer à Safari, Firefox ou même d'autres Chromium, mieux optimisés), il propose quelques innovations et fonctionnalités très interessantes (qu'on aimerait retrouver ailleurs), et surtout mieux polies et finies que ses concurrents (et on peut féliciter ses développeurs pour ça).

CONNEXION UTILISATEUR