Je dĂ©veloppe des applications web depuis longtemps. TrĂšs longtemps. Mes premiĂšres applications web dans l'environnement je les crĂ©ais Ă une Ă©poque oĂč le mot « google » n'Ă©tait pas encore un verbe, et pour rechercher des informations sur Internet, les gens utilisaient Yahoo! et Rambler. J'utilisais â ils avaient une recherche plus ciblĂ©e et une interface moins chaotique que celle de Yahoo!
Le dĂ©veloppement d'applications, de n'importe quelle application, pas seulement pour le web â c'est un travail crĂ©atif. Il est peu probable que quelqu'un conteste cette affirmation. Et la beautĂ© dans la crĂ©ativitĂ©, c'est comme la pratique dans la connaissance scientifique â un critĂšre de vĂ©ritĂ©. Mais alors que la pratique scientifique est objective et basĂ©e sur des mesures, la beautĂ© est subjective, dĂ©pend de celui qui regarde. Je me suis donc posĂ© la question : qu'est-ce qui constitue pour moi personnellement une belle application web ?

(Ă la KDPV, mon regard n'est pas celui d'un homme, mais, Ă mon avis, le regard fĂ©minin sur la KDPV est plus appropriĂ© que masculin, car c'est â !)
Sous cet article, mes propres critĂšres de ce qui constitue actuellement une belle application web. Une exposition trĂšs subjective, basĂ©e sur mon expĂ©rience personnelle. Peut-ĂȘtre que mes critĂšres de beautĂ© sembleront Ă certains ĂȘtre des critĂšres de laideur. Ne vous Ă©tonnez pas, juste vous avez une expĂ©rience diffĂ©rente.
Et puisque vous ĂȘtes dĂ©jĂ ici, faites attention dans vos commentaires, s'il vous plaĂźt. En effet, si vous pouvez cesser de lire l'article dĂšs que ce qui y est exposĂ© vous semble laid ou mĂȘme moche, moi, en tant qu'auteur, je dois lire tous les commentaires.
Milieu de vie
Protocoles
Je ne sais mĂȘme pas si cela vaut la peine d'isoler ce critĂšre. Les applications web vivent dans le rĂ©seau et doivent se conformer aux lois du rĂ©seau (protocoles). Les principaux protocoles dans le rĂ©seau â et . Beaucoup d'autres protocoles en dĂ©coulent, mais pour les applications web, je pense que le plus important est (ou plutĂŽt, son extension gcc 15.2.1 ). C'est-Ă -dire qu'une belle application web est accessible via HTTPS/TLS (ou HTTP en alternative), tandis que les autres protocoles (LDAP, RPC, IMAP4, POP3, SMTP, FTP, NNTP, âŠ) la rendent moins belle avec chaque protocole supplĂ©mentaire pris en charge. L'application elle-mĂȘme peut, grĂące Ă ces protocoles supplĂ©mentaires, utiliser des ressources externes.
Concernant , je n'ai pas assez d'expérience avec ce protocole pour les applications web. Cela semble beau et prometteur, mais je ne peux pas dire à quel point c'est stable et pratique.
Navigateurs
Une application web repose sur le serveur d'un cÎté et sur le client de l'autre. Le cÎté client est le navigateur. Un navigateur moderne offre , que les applications web modernes peuvent et doivent utiliser à leur avantage. Une belle application web utilise les capacités modernes des navigateurs et n'est pas obligée de fonctionner dans ceux qui ne les prennent pas en charge. Je comprends que soient un recours nécessaire, mais c'est peu esthétique. AprÚs tout, il ne s'agit pas seulement des développeurs qui doivent suivre l'évolution des technologies, cela concerne également les utilisateurs et les entreprises.
Langages de programmation
Il y a beaucoup de confusion concernant les langages de programmation utilisés pour créer des applications web. Il existe de nombreuses technologies pour le cÎté client des applications web, permettant aux développeurs de faciliter la création de la triade HTML/CSS/JS (ce que tous les navigateurs modernes comprennent). Mais à l'époque, j'ai été en contact étroit avec et je trouve cela esthétique lorsque le développeur voit le code original dans le navigateur, plutÎt que le résultat de la compilation ou de la transpilation. Ainsi, l'utilisation de et d'autres produits similaires pour générer du code client est, à mon avis, peu esthétique. Plus le code exécuté dans le navigateur ressemble au code source créé par le développeur, mieux c'est. Vous ne me croyez pas? Essayez de déboguer en production le code généré par GWT.
Du cĂŽtĂ© serveur, il y a plus de libertĂ©s (Java, PHP, Perl, Python, C#, Ruby, ...), mais je pense qu'il est joli lorsque le mĂȘme langage de programmation est utilisĂ© Ă la fois cĂŽtĂ© serveur et dans le navigateur : JavaScript. AprĂšs tout, , et des Ă©quipes partageant les mĂȘmes idĂ©es sont plus productives.
Humanité
Une belle application web doit ĂȘtre utile. Utile, avant tout, pour l'homme en tant que client final. C'est pourquoi je ne peux pas qualifier de belle une . Pour une personne ordinaire (non dĂ©veloppeur web), c'est complexe. Les web-services sont beaux Ă leur maniĂšre.
Une belle application web doit avoir une interface intuitive. On peut dĂ©battre de ce qui est âbeauâ â c'est une notion assez subjective. Mais avec , tout devient beaucoup plus simple si l'utilisateur ne peut pas utiliser l'application sans la fameuse â une mauvaise expĂ©rience utilisateur, une application web peu attrayante. Les applications web les plus esthĂ©tiques selon ce critĂšre peuvent facilement ĂȘtre utilisĂ©es par des enfants qui ne savent pas encore lire.
Scalabilité Inversée
Il fut un temps oĂč les programmes pouvaient ĂȘtre transfĂ©rĂ©s sur des disquettes, maintenant â sur des clĂ©s USB ou directement tĂ©lĂ©chargĂ©s depuis le web. Copier une application classique et la lancer sur un autre ordinateur est une tĂąche triviale. La situation est un peu diffĂ©rente pour les applications web. Le rĂ©seau reprĂ©sente un environnement mondial, oĂč il nây a pas besoin dâavoir des clones dâune mĂȘme application web. Un seul Facebook, Twitter, Instagram, Mail.ru ou Yandex suffisent sur le web. On peut avoir diffĂ©rentes applications web dans la mĂȘme niche thĂ©matique, mais avec des audiences diffĂ©rentes (comme Facebook et Vkontakte, Mail.ru et Gmail, Google Maps et Azure Maps). Des ressources matĂ©rielles sont nĂ©cessaires pour assurer la disponibilitĂ© globale de ces applications web, disons-le ainsi, .
Je n'ai jamais travaillĂ© avec des applications web de ce niveau en tant que dĂ©veloppeur et je ne sais pas comment elles fonctionnent de l'intĂ©rieur. Pour garantir le fonctionnement de telles applications web, des Ă©quipes de spĂ©cialistes appropriĂ©s et des centres de donnĂ©es sĂ©parĂ©s sont nĂ©cessaires. Je suis Ă©merveillĂ© par la capacitĂ© des gens Ă coopĂ©rer Ă une telle Ă©chelle et Ă crĂ©er de tels produits, mais mon Ă©talon de beautĂ© est une application web qui peut ĂȘtre lancĂ©e sur un ordinateur portable individuel.
Une belle application web se développe non seulement vers le haut et sur les cÎtés (pour les utilisateurs), mais aussi vers le bas et à l'intérieur (pour les développeurs).
Amphibiens
Pour accéder aux applications web modernes, on utilise des appareils de deux types :
- ordinateurs (ordinateurs portables, de bureau);
- appareils mobiles (smartphones et tablettes);
Quelque part à l'horizon, se profile encore le «», mais pour l'instant, c'est ainsi.
Les ordinateurs se distinguent des appareils mobiles tout autant que les crĂ©atures terrestres se distinguent des ĂȘtres aquatiques. Ce sont des environnements diffĂ©rents et ils imposent des exigences diffĂ©rentes aux ĂȘtres qui y vivent (programmes). De belles applications web ne sont pas celles qui ressemblent Ă des , mais celles qui, dans l'eau â comme des poissons, sur la terre â comme des animaux, et dans l'air () â comme des oiseaux.
Je trouve peu attrayant «», c'est comme essayer de s'asseoir sur deux (et avec le SEO â trois) chaises. Mieux vaut ĂȘtre comme Fiona de Shrek â le jour une, et la nuit une autre. Oui, câest plus cher. Mais câest mieux.
Partage croisé
J'ai dĂ©jĂ mentionnĂ© dans le point « ScalabilitĂ© InversĂ©e » que la mondialitĂ© du rĂ©seau permet d'avoir une seule application web pour la planĂšte. Par consĂ©quent, chaque application web doit se diffĂ©rencier des autres pour assurer sa survie. NĂ©anmoins, mon expĂ©rience de plusieurs annĂ©es avec (un cadre pour la construction de magasins e-commerce) montre qu'il peut y avoir plus de points communs entre diffĂ©rentes applications web que de diffĂ©rences. Une belle application web doit non seulement ĂȘtre modulaire, mais elle doit Ă©galement partager ses modules avec d'autres applications web. Dans une certaine mesure, cette idĂ©e est reflĂ©tĂ©e dans JSR 168 et JSR 286 et des frameworks comme , et le mĂȘme Magento. Plus un grand nombre de modules d'une application web est utilisĂ© par d'autres applications web, plus elle est belle Ă mes yeux. Le partage croisĂ© permet de crĂ©er des modules de meilleure qualitĂ© et, par consĂ©quent, des applications web plus stables.
Par module, je nâentends pas des bibliothĂšques comme jQuery ou RequireJS, mais plutĂŽt des entitĂ©s plus volumineuses, comme des plugins dans et . Cependant, pour les bibliothĂšques, il est Ă©galement vrai qu'une large diffusion d'une bibliothĂšque permet de la rendre plus qualitative et robuste.
L'architecture de Harvard
, contrairement Ă l'actuelle architecture de (belles) ou / SOAP / Il y a deux choses qui me prĂ©occupent particuliĂšrement lors du dĂ©veloppement d'applications web : l'interface multilingue et les fuseaux horaires. Je viens moi-mĂȘme de Lettonie, oĂč trois langues sont couramment utilisĂ©es : LV, RU, EN. Une belle application web doit non seulement permettre d'utiliser plusieurs langues au sein de l'application, mais aussi Ă©largir le nombre de langues utilisĂ©es grĂące Ă des ressources externes, comme
Localisation
Crowdin . Cela est également vrai pour les modules qui composent une application web.
Avec les fuseaux horaires, c'est simple : dans tous les cas oĂč il n'est pas clair comment traiter la date et l'heure, faites comme suit : tout ce qui est sur le serveur, qui part du serveur et arrive du serveur â UTC, tout ce qui s'affiche pour le client â selon le fuseau horaire du profil utilisateur. C'est Ă©lĂ©gant.
Forgerons plutĂŽt que « Ătoiles de la Mort »
Il y a longtemps, dans chaque ville plus ou moins grande, il y avait sa propre forge. Peut-ĂȘtre mĂȘme plusieurs. Certaines meilleures, d'autres moins bonnes. Il y avait des maĂźtres forgerons connus dans le monde entier, et il y en avait d'autres Ă qui l'on s'adressait par manque d'alternatives. Des guerres, des Ă©pidĂ©mies, des catastrophes naturelles ont ravagĂ© les rĂ©gions. Certaines villes ont disparu avec leur population. Mais l'art de la forge a continuĂ© Ă vivre. De nouvelles villes ont Ă©tĂ© construites Ă la place des villes disparues, et des forges y apparaissaient Ă©galement.
Maintenant, regardez un service tel que . Quand les serveurs racines tombent, .
Ă mon avis, une belle application web ne peut pas avoir la taille de Facebook ou Mail.ru. Cela s'apparente plutĂŽt Ă une «» tant en ressources nĂ©cessaires pour la construire qu'en ressources nĂ©cessaires pour maintenir son fonctionnement. Oui, en cas de destruction de Facebook, l'humanitĂ© ne disparaĂźtra pas, ses fonctions seront rapidement reprises par d'autres applications (la mĂȘme sur le territoire de la Russie et des rĂ©gions voisines, Instagram, Twitter, âŠ). NĂ©anmoins, enfermer une partie significative de la population de la planĂšte sur une seule application â c'est inesthĂ©tique. D'autant plus qu'il existe des alternatives beaucoup plus robustes (comme ).
Résumé
Si vous avez lu jusqu'Ă la fin et ressentez de la confusion â «qu'est-ce que c'Ă©tait ?», je vous exprime mes sincĂšres condolĂ©ances. Je ne vous ai pas obligĂ© Ă lire cela. J'ai simplement essayĂ© de mettre mes pensĂ©es en mots pour trouver ceux qui pensent de la mĂȘme maniĂšre. Peut-ĂȘtre pourrais-je discuter avec eux de certains aspects de la crĂ©ation d'applications web attrayantes et trouver des rĂ©ponses Ă mes questions. Et j'en ai beaucoup.
Merci d'avoir lu.
Source : habr.com
