Hacker News

Mostrar HN: Vertex.js – A 1kloc SPA Framework

Comentarios

14 min read Via lukeb42.github.io

Mewayz Team

Editorial Team

Hacker News
Aquí está o artigo:

O auxe dos microframeworks: por que os desenvolvedores están a rexeitar as ferramentas de JavaScript inchadas

Un programador publicou recentemente un marco de aplicacións dunha soa páxina construído en aproximadamente 1.000 liñas de código para Hacker News, e a resposta foi eléctrica. O proxecto, un marco minimalista de SPA, volveu a encender un debate que leva anos a arder na comunidade de desenvolvemento web: as nosas ferramentas volvéronse demasiado complexas para os problemas que resolven? Cando a biblioteca principal de React, o seu enrutador, a súa capa de xestión de estado e as súas ferramentas de compilación pesan colectivamente en centos de miles de liñas de código, un marco que ofrece enrutamento, reactividade e renderización de compoñentes en só 1.000 liñas obriga a unha pregunta incómoda. Para as empresas que crean aplicacións orientadas ao cliente, a resposta a esa pregunta ten consecuencias reais: en tempos de carga, produtividade dos desenvolvedores e custos de mantemento a longo prazo.

O que demostra un marco de 1.000 liñas

A idea dun micro-marco non é nova. Backbone.js tiña aproximadamente 1.800 liñas de código fonte anotado cando se estreou en 2010. Mithril.js envíase con gzip de menos de 10 KB. O que fai que cada nova entrada desta categoría destaque non é o reconto de liñas en si, senón o que revela sobre o estado actual das API do navegador. Os navegadores modernos inclúen soporte nativo para literal de modelos, a API do historial, a reactividade baseada en proxy, os elementos personalizados e a carga de módulos. Hai unha década, os frameworks necesitaban miles de liñas só para normalizar as diferenzas entre Internet Explorer e Chrome. Hoxe, un programador experto pode construír un marco SPA totalmente funcional como unha fina capa de orquestración encima das primitivas da plataforma.

Isto é importante porque cambia a conversa de "que marco debemos escoller?" a "necesitamos un marco en absoluto?" Para proxectos pequenos e medianos (unha páxina de destino con seccións dinámicas, un panel interno, un portal de clientes) a resposta é cada vez máis: quizais non, ou polo menos non pesada. O marco de 1.000 liñas é a proba de que a plataforma madurou ata o punto de que o traballo do marco está a diminuír.

Por suposto, marcos como React e Vue aínda gañan o seu peso en aplicacións a gran escala con árbores de estado complexas, necesidades de renderizado no servidor e equipos de máis de 20 desenvolvedores que se benefician de convencións ríxidas. A idea clave é que a ferramenta correcta depende enteiramente do alcance do problema.

O custo real de JavaScript bloat

A investigación de Google demostrou constantemente que cada 100 milisegundos de tempo de carga engadido pode reducir as taxas de conversión ata un 7 %. A páxina web media agora envía máis de 500 KB de JavaScript, unha cifra que case se triplicou desde 2015. Para as empresas, esta non é unha métrica abstracta de rendemento. Tradúcese directamente en ingresos perdidos, taxas de rebote máis altas e peores clasificacións dos motores de busca.

O problema agrávase nas redes móbiles. Un usuario dun dispositivo Android de gama media que se conecte a través de 3G pode esperar entre 5 e 8 segundos para que unha páxina cargada de JavaScript se faga interactiva, mesmo despois de que se renderiza o HTML inicial. Isto é especialmente castigador para as empresas que atenden a clientes en mercados emerxentes, onde a navegación en primeiro lugar móbil é a norma e a infraestrutura de rede varía moito.

  • Tempo de análise: os grandes paquetes de JavaScript tardan máis en analizarse e compilarse, mesmo antes de que se execute unha única liña de código da aplicación
  • Presión da memoria: as estruturas internas complexas consumen memoria que podería ser utilizada pola propia aplicación
  • Cansazo das actualizacións: as principais actualizacións do cadro (Angular 1 a 2, Vue 2 a 3, React class components to hooks) forzan custosos esforzos de migración cada 2 ou 3 anos
  • Cadenas de dependencia: o cartafol node_modules dun proxecto React típico contén entre 800 e 1.200 paquetes, cada un deles unha posible vulnerabilidade de seguranza ou un cambio de ruptura
  • Complexidade da creación: Webpack, Babel, PostCSS e os seus ficheiros de configuración adoitan superar o código de aplicación que serven

Os microframeworks evitan a maioría destes custos. Con menos abstraccións, hai menos cousas que romper, menos dependencias que auditar e menos bytes que enviar ao navegador. Para unha empresa que necesita unha presenza web rápida e fiable sen un equipo de infraestrutura frontend dedicado, as matemáticas favorecen cada vez máis a sinxeleza.

Por que a comunidade de programadores está dividida

A discusión de Hacker News sobre os pequenos cadros SPA xera de forma fiable dous campos opostos. Por un lado están os desenvolvedores que levan anos en grandes bases de código construídas en React ou Angular e que viron de primeira man como se compoñen a complexidade do framework co paso do tempo. Observaron que funcións sinxelas se incorporaban a tarefas de varios días porque as convencións do cadro requiren unha configuración do enrutador táctil, un boilerplate de xestión do estado e arneses de proba que se burlan dos internos do cadro. Para estes desenvolvedores, un marco de 1.000 liñas representa a liberación: un retorno a comprender cada liña de código que se executa na súa aplicación.

Do outro lado, están os pragmáticos que sinalan que os frameworks existen porque as aplicacións do mundo real necesitan finalmente o que proporcionan: utilidades de accesibilidade, internacionalización, división de código, renderizado no servidor e unha selección de desenvolvedores que xa coñecen a ferramenta. Un micro-marco pode ser delicioso para un proxecto de fin de semana, argumentan, pero tenta incorporar un equipo de cinco a unha base de código de 1.000 liñas a medida sen respostas de Stack Overflow e sen documentación oficial.

Ambas as dúas partes teñen puntos válidos, e a verdade é que a elección é contextual. Un fundador en solitario que crea un MVP ten necesidades fundamentalmente diferentes que un equipo empresarial que mantén unha aplicación de cinco anos. O perigo reside en aplicar solucións empresariais a problemas de inicio ou ferramentas de inicio a retos empresariais.

O que realmente necesitan as empresas modernas da súa pila tecnolóxica

O debate do marco é, en última instancia, un proxy para unha pregunta máis ampla: como deberían as empresas asignar os seus recursos técnicos limitados? Cada hora que un programador dedica a configurar unha canalización de compilación ou a migrar a unha nova versión do cadro é unha hora que non se dedica a crear funcións que serven aos clientes. Para moitas empresas, especialmente as pequenas e medianas empresas, a opción tecnolóxica ideal é aquela que minimice a diferenza entre "Teño unha idea" e "os clientes a están a usar".

A mellor decisión tecnolóxica que pode tomar unha empresa en crecemento é escoller ferramentas que resolvan os problemas actuais sen crear a carga de mantemento do futuro. Se iso significa un marco de 1.000 liñas ou unha plataforma totalmente xestionada, o obxectivo é o mesmo: dedicar o teu tempo ao que fai que a túa empresa sexa única, non á infraestrutura que toda empresa necesita.

Este principio esténdese máis aló dos frameworks frontend. As empresas reconstruyen habitualmente os mesmos sistemas de backend (autenticación de usuarios, procesamento de pagos, CRM, facturación, programación) porque a súa pila tecnolóxica elixida así o require. Plataformas como Mewayz existen precisamente para eliminar este traballo repetitivo, que ofrecen 207 módulos preconstruídos que abarcan desde CRM e nóminas ata sistemas de reserva e análise. A mesma filosofía que impulsa aos desenvolvedores cara a microframeworks (facer máis con menos, eliminar a complexidade innecesaria) impulsa ás empresas cara a plataformas consolidadas que substitúen decenas de subscricións SaaS cun único sistema.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

O espectro do marco: atopar o teu punto agradable

En lugar de tratar a elección do marco como binaria (mega-marco ou micro-marco), axuda a pensar en termos dun espectro. Nun extremo, tes JavaScript vainilla con cero abstraccións. No outro, tes metaframes completos como Next.js ou Nuxt que xestionan o enrutamento, a representación, a obtención de datos e a implantación. A maioría dos proxectos pertencen a algún lugar do medio.

Para un sitio de mercadotecnia orientado ao cliente con algúns elementos interactivos, un microframe ou incluso unha reactividade en liña ao estilo de Alpine.js pode ser o axuste perfecto. Para un panel de control SaaS complexo con datos en tempo real, permisos baseados en roles e soporte fóra de liña, paga a pena un marco maduro cun ecosistema rico. O erro é optar por defecto na opción máis pesada porque é a máis popular, ou predeterminar na opción máis lixeira porque é a que máis satisface intelectualmente.

A proba práctica é sinxela: enumera todas as funcións que precisa a túa aplicación nos próximos 12 meses. Se un micro-cadro cobre o 90 % desas necesidades e podes realizar a man o 10 % restante en menos tempo do que gastarías configurando un cadro máis grande, o micro-marco gaña. Se a túa lista de funcións inclúe renderizado no servidor, validación de formularios complexos, orquestración de animacións e compatibilidade de accesibilidade profunda, é probable que o marco máis amplo se pague por si só.

Leccións para fundadores e operadores de empresas non técnicos

Se estás dirixindo unha empresa e o teu equipo técnico está a debater sobre marcos, isto é o que realmente importa. En primeiro lugar, pregunta sobre o tempo para a primeira función: canto de rápido pode un novo desenvolvedor do equipo enviar un cambio significativo? Se a resposta implica días de configuración do entorno e aprendizaxe do marco, ese é un sinal de advertencia independentemente do marco escollido. En segundo lugar, pregunta sobre a ruta de actualización. Os marcos que liberan cambios de ruptura cada 18 meses impoñen un imposto oculto que raramente aparece na avaliación inicial.

En terceiro lugar, e o máis importante, pregunta se necesitas un software personalizado para a función en cuestión. Moitas empresas invisten meses de tempo para desenvolvedores na construción de ferramentas internas (paneles, sistemas CRM, fluxos de facturación, interfaces de programación) que xa existen como produtos pulidos e mantidos. Unha plataforma como Mewayz, que atende a máis de 138.000 usuarios con módulos que abarcan todo o espectro de operacións comerciais, pode eliminar completamente a necesidade de desenvolvemento personalizado para funcións empresariais estándar. Isto libera ao teu equipo de desenvolvemento para centrarse nos aspectos verdadeiramente únicos do teu produto: as funcións que ningunha ferramenta comercial pode ofrecer.

  1. Auditoia o teu código personalizado: identifica que ferramentas internas duplican a funcionalidade dispoñible nas plataformas existentes
  2. Calcula o custo real: tendo en conta non só o desenvolvemento inicial, senón o mantemento continuo, os parches de seguranza e as solicitudes de funcións
  3. Avaliar a consolidación: conta as túas subscricións de SaaS actuais e compara o custo cunha plataforma integrada
  4. Protexe os teus diferenciadores: reserva recursos de desenvolvemento personalizados para funcións que realmente diferencian a túa empresa

O futuro pertence ás opcións intencionadas

A emoción arredor dun marco SPA de 1.000 liñas non é realmente sobre o marco en si. Trátase dun movemento crecente no desenvolvemento de software cara á intencionalidade: escoller ferramentas porque se adaptan ao problema, non porque dominen o mercado. O ecosistema de JavaScript pasou a última década nunha carreira armamentística de características e abstraccións. O movemento contrario, representado por microframeworks, HTML renderizado no servidor e API nativas da plataforma, é unha corrección cara ao pragmatismo.

Para as empresas, este cambio é inequívocamente positivo. Significa máis opcións, menores custos de cambio e unha cultura de desenvolvedores que valora cada vez máis a sinxeleza e a velocidade sobre a integridade teórica. Tanto se es un emprendedor en solitario que elixe entre WordPress e un sitio personalizado, como se un CTO que avalía se crear ou mercar a túa próxima ferramenta interna, aplícase o mesmo principio: a mellor tecnoloxía é a que desaparece nun segundo plano, o que che permite centrarche en atender aos teus clientes.

O marco de 1.000 liñas recórdanos que o poder non require complexidade. As empresas máis eficaces e as ferramentas máis eficaces son as que fan exactamente o que se necesita e nada máis.

Racionaliza o teu negocio con Mewayz

Mewayz trae 207 módulos de negocio nunha soa plataforma: CRM, facturación, xestión de proxectos e moito máis. Únete a máis de 138.000 usuarios que simplificaron o seu fluxo de traballo.

Comeza gratis hoxe →

Preguntas máis frecuentes

Que é un microframe como Vertex.js?

Un micro-framework é unha biblioteca de JavaScript minimalista deseñada para xestionar tarefas básicas de aplicacións sen a maior parte de solucións máis grandes. Vertex.js conségueo proporcionando a funcionalidade SPA esencial, como o enrutamento e a xestión do estado, nunhas 1.000 liñas de código. Isto contrasta cos marcos que requiren bibliotecas separadas e máis pesadas para o enrutamento ou o estado, o que reduce a complexidade xeral e o inchazo de proxectos máis pequenos.

Por que os desenvolvedores avanzan cara a ferramentas máis sinxelas?

Moitos desenvolvedores consideran que as ferramentas JavaScript modernas volvéronse demasiado complexas para o proxecto medio. Os marcos pesados ​​poden introducir tempos de construción lentos, unha curva de aprendizaxe pronunciada e funcións innecesarias. Ferramentas máis sinxelas como Vertex.js ofrecen unha experiencia de desenvolvemento máis rápida e comprensible ao centrarse nos problemas esenciais que debe resolver un framework, aliñando mellor cos requisitos reais do proxecto.

É Vertex.js axeitado para unha aplicación grande e complexa?

Vertex.js está deseñado principalmente para proxectos máis pequenos nos que a sinxeleza e a baixa sobrecarga son fundamentais. Para aplicacións moi grandes e complexas con moitos compoñentes interactivos, un marco máis rico en funcións cun amplo ecosistema pode ser máis apropiado. Para os equipos que necesiten amplos módulos preconstruídos, un servizo como Mewayz (que ofrece 207 módulos por 19 USD ao mes) podería proporcionar a interface de usuario e os compoñentes funcionais necesarios dos que carece un microframework.

¿Aínda necesito unha ferramenta de compilación con Vertex.js?

Aínda que Vertex.js é lixeiro, é probable que aínda uses unha ferramenta de creación para o desenvolvemento profesional. Ferramentas como Vite ou Parcel son necesarias para agrupar o teu código, xestionar as dependencias de npm e activar funcións modernas de JavaScript. Non obstante, a cadea de ferramentas en xeral segue sendo máis sinxela que as que requiren marcos máis grandes, xa que evitas bibliotecas de enrutamento e xestión do estado complexas.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime