Hai uns 15 anos, traballaba nunha empresa na que creamos aplicacións para axentes de viaxes, traballadores dos aeroportos e compañías aéreas. Tamén creamos o noso propio marco interno para compoñentes de IU e capacidades de aplicacións dunha soa páxina. Tiñamos compoñentes para todo: campos, botóns, pestanas, intervalos, táboas de datos, menús, datas, seleccións e seleccións múltiples. Incluso tiñamos un compoñente div. O noso compoñente div foi xenial, por certo, permitiunos facer cantos redondeados en todos os navegadores, o que, créao ou non, non era cousa doada de facer naquel momento.

O noso traballo tivo lugar nun momento da nosa historia cando JS, Ajax e HTML dinámico foron vistos como unha revolución que nos levou ao futuro. De súpeto, puidemos actualizar unha páxina de forma dinámica, obter datos dun servidor e evitar ter que navegar a outras páxinas, o que se consideraba lento e mostraba un gran rectángulo branco na pantalla entre as dúas páxinas. Había unha frase, popularizada por Jeff Atwood (o fundador de StackOverflow), que decía: "Calquera aplicación que se poida escribir en JavaScript escribirase eventualmente en JavaScript." - Jeff Atwood

Para nós naquel momento, parecíanos un atrevido a crear esas aplicacións. Parecía unha aprobación total para facer todo con JS. Así que fixemos todo con JS e non nos dedicamos moito tempo a investigar outras formas de facer as cousas. Realmente non sentimos o incentivo para aprender correctamente o que podían facer HTML e CSS. Realmente non percibimos a web como unha plataforma de aplicacións en evolución na súa totalidade. Principalmente vímolo como algo que necesitabamos solucionar, especialmente cando se trataba de compatibilidade con navegadores. Poderiamos botarlle máis JS para facer as cousas. Axudoume tomar o tempo para aprender máis sobre o funcionamento da web e o que estaba dispoñible na plataforma? Por suposto, probablemente podería ter afeitado un montón de código que non era realmente necesario. Pero, naquel momento, quizais non tanto. Verás, as diferenzas de navegador eran bastante importantes naquela época. Este era un momento no que Internet Explorer aínda era o navegador dominante, sendo Firefox o segundo, pero comezaba a perder cota de mercado debido a que Chrome gañaba rapidamente popularidade. Aínda que Chrome e Firefox foron bastante bos para poñerse de acordo nos estándares web, os ambientes nos que se executaban as nosas aplicacións fixeron que tivésemos que soportar IE6 durante moito tempo. Mesmo cando se nos permitiu admitir IE8, aínda tivemos que tratar con moitas diferenzas entre os navegadores. Non só iso, senón que a web da época non tiña tantas capacidades integradas directamente na plataforma.

Avance rápido ata hoxe. As cousas cambiaron tremendamente. Non só temos máis destas capacidades que nunca, senón que tamén aumentou a velocidade á que están dispoñibles. Permíteme facer a pregunta de novo, entón: ¿Axudaríasche a tomar o tempo para aprender máis sobre como funciona a web e o que está dispoñible na plataforma? Absolutamente si. Aprender a comprender e utilizar a plataforma web hoxe en día ponche unha gran vantaxe sobre outros desenvolvedores. Se traballas no rendemento, a accesibilidade, a capacidade de resposta, todos eles xuntos ou só enviando funcións da IU, se queres facelo como enxeñeiro responsable, coñecer as ferramentas que tes dispoñibles axúdache a alcanzar os teus obxectivos máis rápido e mellor. Algunhas cousas para as que quizais xa non necesites unha biblioteca Sabendo o que os navegadores admiten hoxe, a pregunta, entón, é: que podemos abandonar? Necesitamos un compoñente div para facer cantos redondeados en 2025? Por suposto, nós non. A propiedade border-radius foi compatible con todos os navegadores actualmente utilizados durante máis de 15 anos neste momento. E a forma de esquina tamén chegará pronto, para os recunchos aínda máis elegantes. Vexamos as funcións relativamente recentes que agora están dispoñibles en todos os navegadores principais e que podes usar para substituír as dependencias existentes na túa base de código. O punto non é abandonar inmediatamente todas as túas bibliotecas queridas e reescribir o teu código base. En canto a todo o demais, primeiro terás que ter en conta a compatibilidade do navegador e decidir en función doutros factores específicos do teu proxecto. As seguintes funcións están implementadas nos tres motores de navegador principais (Chromium, WebKit e Gecko), pero é posible que teñas diferentes requisitos de compatibilidade do navegador que che impidan utilizalos inmediatamente. Agora ben, aínda é un bo momento para aprender sobre estas funcións, e quizais planear usalas nalgún momento. Popovers e diálogos A API Popover, o elemento HTML

e o pseudoelemento ::backdrop poden axudarche a desfacerte das dependencias das ventás emerxentes,información sobre ferramentas e bibliotecas de diálogo, como Floating UI, Tippy.js, Tether ou React Tooltip. Xestionan a accesibilidade e a xestión do foco para ti, fóra da caixa, son altamente personalizables mediante CSS e pódense animar facilmente. Acordeóns O elemento
, o seu atributo de nome para elementos mutuamente excluíntes e o pseudoelemento ::details-content eliminan a necesidade de compoñentes de acordeón como o acordeón Bootstrap ou o compoñente acordeón React. Só usar a plataforma aquí significa que é máis fácil para as persoas que coñecen HTML/CSS entender o teu código sen ter que aprender primeiro a usar unha biblioteca específica. Tamén significa que es inmune a cambios rotundos na biblioteca ou á interrupción da biblioteca. E, por suposto, significa menos código para descargar e executar. Os elementos de detalles mutuamente exclusivos non necesitan JS para abrir, pechar ou animar. Sintaxe CSS Capas en cascada, para unha base de código CSS máis organizada, anidación de CSS, para CSS máis compacto, novas funcións de cores, cores relativas e mestura de cores, novas funcións matemáticas como abs(), sign(), pow() e outras axudan a reducir as dependencias dos preprocesadores CSS, bibliotecas de utilidades como Bootstrap e Tailwind, ou incluso bibliotecas CSS-in-JS en tempo de execución. O cambio de xogo :has(), unha das funcións máis solicitadas durante moito tempo, elimina a necesidade de solucións máis complicadas baseadas en JS. Utilidades JS Os métodos modernos de matriz como findLast() ou at(), así como os métodos Set como difference(), intersection(), union() e outros poden reducir as dependencias de bibliotecas como Lodash. Consultas de contedores As consultas de contedores fan que os compoñentes da IU respondan a cousas distintas ao tamaño da ventana gráfica e, polo tanto, fan que sexan máis reutilizables en diferentes contextos. Xa non é necesario usar unha biblioteca de IU pesada JS para iso, e tampouco hai que usar un polyfill. Maquetación Grid, subgrid, flexbox ou multi-columna existen desde hai moito tempo, pero vendo os resultados das enquisas sobre o estado de CSS, está claro que os desenvolvedores adoitan ser moi cautelosos ao adoptar cousas novas e esperar moito tempo antes de facelo. Estas funcións foron Baseline durante moito tempo e poderías usalas para desfacerte das dependencias de cousas como o sistema de cuadrícula de Bootstrap, as utilidades de caixa flexible de Foundation Framework, a grade fixa de Bulma, a grade Materialize ou as columnas Tailwind. Non digo que debas abandonar o teu marco. O teu equipo adoptouno por un motivo, e eliminalo pode ser un gran proxecto. Pero mirar o que a plataforma web pode ofrecer sen un envoltorio de terceiros ten moitos beneficios. Cousas que quizais xa non necesites nun futuro próximo Agora, imos dar unha ollada rápida a algunhas das cousas para as que non necesitarás unha biblioteca nun futuro próximo. É dicir, as cousas que aparecen a continuación non están completamente listas para a súa adopción masiva, pero ser consciente delas e planificar un posible uso posterior pode ser útil. Posicionamento da áncora O posicionamento da áncora CSS manexa o posicionamento das ventanas emerxentes e das informacións sobre ferramentas en relación con outros elementos e ocúpase de mantelos á vista, mesmo cando se move, se despraza ou cambia o tamaño da páxina. Este é un excelente complemento para a API Popover mencionada anteriormente, o que facilitará aínda máis a migración de solucións JS con máis rendemento. API de navegación A API de navegación pódese usar para xestionar a navegación en aplicacións dunha soa páxina e pode ser un excelente complemento, ou mesmo un substituto, para as tarefas de enrutamento React, Next.js ou Angular. Ver API de transicións A API View Transitions pode animar entre os diferentes estados dunha páxina. Nunha aplicación dunha soa páxina, isto fai que as transicións suaves entre estados sexan moi sinxelas e pode axudarche a desfacerte das bibliotecas de animación como Anime.js, GSAP ou Motion.dev. Aínda mellor, a API tamén se pode usar con aplicacións de varias páxinas. Lembras antes, cando dixen que a razón pola que construímos aplicacións dunha soa páxina na empresa na que traballei hai 15 anos foi para evitar o flash branco das recargas das páxinas ao navegar? Se esa API estivese dispoñible nese momento, teriamos sido capaces de conseguir fermosos efectos de transición de páxina sen un marco dunha soa páxina e sen unha enorme descarga inicial de toda a aplicación. Animacións dirixidas por desprazamento As animacións dirixidas por desprazamento execútanse na posición de desprazamento do usuario, en lugar do tempo, o que as converte nunha excelente solución para a narración de historias e percorridos de produtos. Algunhas persoas pasaron un pouco con el, pero cando se usa ben, esta pode ser unha ferramenta de deseño moi eficaz e pode axudar a desfacerse de bibliotecas como: ScrollReveal, GSAP Scroll ouWOW.js. Seleccións personalizables Unha selección personalizable é un elemento

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

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free