Fa uns 15 anys, treballava en una empresa on vam crear aplicacions per a agents de viatges, treballadors d'aeroports i companyies aèries. També hem creat el nostre propi marc intern per a components d'interfície d'usuari i capacitats d'aplicacions d'una sola pàgina. Teníem components per a tot: camps, botons, pestanyes, intervals, taules de dades, menús, selectors de dates, selectes i multiseleccions. Fins i tot teníem un component div. Per cert, el nostre component div va ser fantàstic, ens va permetre fer cantonades arrodonides a tots els navegadors, cosa que, ho creieu o no, no era una cosa fàcil de fer en aquell moment.

El nostre treball va tenir lloc en un moment de la nostra història en què JS, Ajax i HTML dinàmic es van veure com una revolució que ens va portar al futur. De sobte, podíem actualitzar una pàgina de manera dinàmica, obtenir dades d'un servidor i evitar haver de navegar a altres pàgines, que es veia lent i mostrava un gran rectangle blanc a la pantalla entre les dues pàgines. Hi havia una frase, popularitzada per Jeff Atwood (el fundador de StackOverflow), que deia: "Qualsevol aplicació que es pugui escriure en JavaScript s'escriurà eventualment en JavaScript." - Jeff Atwood

En aquell moment, ens va semblar un atreviment d'anar a crear aquestes aplicacions. Em va semblar una aprovació general per fer-ho tot amb JS. Així que ho vam fer tot amb JS, i realment no ens vam prendre el temps per investigar altres maneres de fer les coses. Realment no vam sentir l'incentiu per aprendre correctament què podien fer HTML i CSS. Realment no percebíem el web com una plataforma d'aplicacions en evolució en la seva totalitat. Ho vam veure principalment com una cosa que havíem de solucionar, sobretot quan es tractava del suport del navegador. Podríem llançar-hi més JS per fer les coses. M'hauria ajudat prendre el temps per aprendre més sobre com funcionava la web i què hi havia disponible a la plataforma? Per descomptat, probablement hauria pogut afaitar un munt de codi que realment no era necessari. Però, en aquell moment, potser no tant. Ja veieu, les diferències del navegador eren bastant importants en aquell moment. Aquesta va ser una època en què Internet Explorer encara era el navegador dominant, amb Firefox en segon lloc, però començava a perdre quota de mercat a causa de que Chrome guanyava popularitat ràpidament. Tot i que Chrome i Firefox eren bastant bons per posar-se d'acord en els estàndards web, els entorns en què s'executaven les nostres aplicacions van fer que haguéssim de suportar IE6 durant molt de temps. Fins i tot quan ens van permetre donar suport a IE8, encara vam haver de fer front a moltes diferències entre navegadors. No només això, sinó que la web de l'època no tenia tantes capacitats integrades directament a la plataforma.

Avancem ràpid fins avui. Les coses han canviat enormement. No només tenim més d'aquestes capacitats que mai, sinó que també ha augmentat el ritme a què estan disponibles. Aleshores, permeteu-me que torni a fer la pregunta: us ajudaria avui prendre-vos el temps per obtenir més informació sobre com funciona el web i què hi ha disponible a la plataforma? Absolutament sí. Aprendre a entendre i utilitzar la plataforma web avui en dia us ofereix un gran avantatge respecte a altres desenvolupadors. Tant si treballeu en rendiment, accessibilitat, capacitat de resposta, tots junts, com si només envieu funcions de la interfície d'usuari, si voleu fer-ho com a enginyer responsable, conèixer les eines que teniu disponibles us ajudarà a assolir els vostres objectius més ràpid i millor. Algunes coses per a les quals potser ja no necessiteu una biblioteca Sabent quins navegadors admeten avui dia, la pregunta, doncs, és: què podem abandonar? Necessitem un component div per fer cantonades arrodonides el 2025? Per descomptat, no ho fem. La propietat border-radius ha estat compatible amb tots els navegadors que s'utilitzen actualment durant més de 15 anys en aquest moment. I la forma de cantonada també arribarà aviat, per a racons fins i tot més elegants. Fem una ullada a les funcions relativament recents que ara estan disponibles a tots els navegadors principals i que podeu utilitzar per substituir les dependències existents a la vostra base de codi. La qüestió no és abandonar immediatament totes les biblioteques estimades i reescriure la base de codi. Pel que fa a la resta, primer haureu de tenir en compte el suport del navegador i decidir-ho en funció d'altres factors específics del vostre projecte. Les funcions següents s'implementen als tres motors principals del navegador (Chromium, WebKit i Gecko), però és possible que tingueu diferents requisits de suport del navegador que us impedeixin utilitzar-los immediatament. Ara bé, encara és un bon moment per conèixer aquestes funcions, i potser planejar utilitzar-les en algun moment. Popovers i diàlegs L'API Popover, l'element HTML

i el pseudoelement ::backdrop us poden ajudar a desfer-vos de les dependències de la finestra emergent,informació sobre eines i biblioteques de diàleg, com ara Floating UI, Tippy.js, Tether o React Tooltip. Gestionen l'accessibilitat i la gestió de l'enfocament per a vostè, fora de la caixa, són altament personalitzables mitjançant CSS i es poden animar fàcilment. Acordions L'element
, el seu atribut de nom per a elements mútuament exclusius i el pseudoelement ::details-content eliminen la necessitat de components d'acordió com l'acordió Bootstrap o el component acordió React. Només utilitzar la plataforma aquí significa que és més fàcil per a les persones que coneixen HTML/CSS entendre el vostre codi sense haver d'aprendre primer a utilitzar una biblioteca específica. També vol dir que sou immune als canvis trencats a la biblioteca o a la suspensió d'aquesta biblioteca. I, per descomptat, significa menys codi per descarregar i executar. Els elements de detalls mútuament exclusius no necessiten JS per obrir, tancar o animar. Sintaxi CSS Les capes en cascada, per a una base de codi CSS més organitzada, nidificació de CSS, per a CSS més compactes, noves funcions de color, colors relatius i barreja de colors, noves funcions matemàtiques com abs(), sign(), pow() i altres ajuden a reduir les dependències dels preprocessadors CSS, biblioteques d'utilitats com Bootstrap i Tailwind, o fins i tot biblioteques CSS-in-JS en temps d'execució. El canvi de joc :has(), una de les funcions més sol·licitades durant molt de temps, elimina la necessitat de solucions basades en JS més complicades. Utilitats JS Els mètodes de matriu moderns com findLast(), o at(), així com els mètodes Set com difference(), intersection(), union() i altres poden reduir les dependències de biblioteques com Lodash. Consultes de contenidors Les consultes de contenidors fan que els components de la interfície d'usuari responguin a coses diferents de la mida de la finestra gràfica i, per tant, els fan més reutilitzables en diferents contextos. Ja no cal utilitzar una biblioteca d'interfície d'usuari amb JS per a això, i tampoc cal utilitzar un polyfill. Disseny La quadrícula, la subquadrícula, la caixa flexible o la multicolumna ja fa temps que existeixen, però mirant els resultats de les enquestes sobre l'estat de CSS, és evident que els desenvolupadors solen ser molt prudents a l'hora d'adoptar coses noves i esperar molt de temps abans de fer-ho. Aquestes funcions han estat Baseline durant molt de temps i les podríeu utilitzar per desfer-se de les dependències de coses com el sistema de graella de Bootstrap, les utilitats flexbox de Foundation Framework, la graella fixa de Bulma, la graella de Materialize o les columnes Tailwind. No dic que hagis de deixar el teu marc. El vostre equip ho va adoptar per una raó, i eliminar-lo pot ser un gran projecte. Però mirar què pot oferir la plataforma web sense un embolcall de tercers a la part superior comporta molts avantatges. Coses que potser ja no necessiteu en un futur proper Ara, fem una ullada ràpida a algunes de les coses per a les quals no necessitareu una biblioteca en un futur proper. És a dir, les coses següents no estan del tot preparades per a una adopció massiva, però ser-ne conscients i planificar-ne un possible ús posterior pot ser útil. Posicionament de l'àncora El posicionament de l'àncora CSS gestiona el posicionament de les finestres emergents i els consells sobre eines en relació amb altres elements i s'encarrega de mantenir-los a la vista, fins i tot quan es mou, desplaça o canvia la mida de la pàgina. Aquest és un gran complement de l'API Popover esmentada abans, que farà que sigui encara més fàcil migrar de solucions JS amb més rendiment. API de navegació L'API de navegació es pot utilitzar per gestionar la navegació en aplicacions d'una sola pàgina i pot ser un gran complement, o fins i tot un reemplaçament, per a les tasques d'encaminament React, Next.js o Angular. Mostra l'API de Transicions L'API View Transitions pot animar entre els diferents estats d'una pàgina. En una aplicació d'una sola pàgina, això fa que les transicions suaus entre estats siguin molt fàcils i us pot ajudar a desfer-vos de biblioteques d'animació com Anime.js, GSAP o Motion.dev. Encara millor, l'API també es pot utilitzar amb aplicacions de diverses pàgines. Recordeu abans, quan vaig dir que la raó per la qual vam crear aplicacions d'una sola pàgina a l'empresa on vaig treballar fa 15 anys era per evitar el flaix blanc de les recàrregues de pàgines en navegar? Si aquesta API hagués estat disponible en aquell moment, hauríem pogut aconseguir bells efectes de transició de pàgina sense un marc d'una sola pàgina i sense una gran descàrrega inicial de tota l'aplicació. Animacions basades en desplaçaments Les animacions basades en desplaçaments s'executen a la posició de desplaçament de l'usuari, més que no pas amb el temps, la qual cosa les converteix en una solució fantàstica per a la narració d'històries i visites guiades de productes. Algunes persones l'han passat una mica per sobre, però quan s'utilitza bé, aquesta pot ser una eina de disseny molt eficaç i pot ajudar a desfer-se de biblioteques com: ScrollReveal, GSAP Scroll oWOW.js. Seleccions personalitzables Una selecció personalitzable és un element

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free