Introduction
L'article « Why is Claude an Electron App? » de Drew Breunig se demande pourquoi Claude, malgré avoir investi 20 000 $ dans une implémentation en Rust, a choisi d'utiliser Electron pour son application de bureau. La réponse donnée est que les modèles de langage (LLMs) ne sont pas encore suffisamment performants pour prendre en charge les tâches de développement d'applications natives.
Contexte Technique
Cependant, l'auteur de l'article original estime que la véritable raison réside dans le fait que les applications natives n'offrent plus rien de significatif par rapport aux applications web. Les API natives sont difficiles à utiliser et les fournisseurs de systèmes d'exploitation font tout pour décourager le développement d'applications natives. Les applications Electron sont devenues populaires bien avant l'avènement des LLMs, et ce problème est désormais résolu par les LLMs.
De plus, les applications natives ont perdu leur avance en termes d'apparence et de cohérence. Les systèmes d'exploitation modernes ont des interfaces utilisateur incohérentes et changeantes, ce qui rend difficile la création d'applications natives avec une apparence et une sensation cohérentes.
Analyse et Implications
Les applications natives peuvent théoriquement intégrer plus profondément avec le système d'exploitation, mais dans la pratique, cela n'apporte pas beaucoup d'avantages. Les formats de fichiers interchangeables sont rares, et la plupart des services ont migré vers le web. L'intégration avec les calendriers du système d'exploitation, par exemple, n'est pas plus facile que l'intégration avec les calendriers web.
Enfin, les partisans des applications natives espèrent que celles-ci offriront de meilleures performances. Cependant, les applications web peuvent également être rapides, et dans la pratique, peu d'utilisateurs se soucient de la différence de performances.
Perspective
L'auteur conclut que le problème ne réside pas dans le choix de la technologie (Electron ou native), mais plutôt dans le manque de soin et d'attention portés au développement des applications. Les applications peuvent être de mauvaise qualité quelle que soit la technologie utilisée. Il est donc important de se concentrer sur la création d'applications de haute qualité, plutôt que de se disputer sur la technologie à utiliser.