Bienvenido a Internet ■Volver al BBS■ Hilo completo ▼Bajar▼

■ Este hilo se encuentra guardado en el archivo

¿Por qué react es tan malo? (33 respuestas)

1 : root@bienvenidoainternet.org:~# : 16/03/20(lun)04:25:00 ID:jQrbqCYW0

He visto que acá muchos odian todo lo que se haga llamar framework de javascript, pero no entiendo por qué tanto odio especialmente contra esas tecnologías. Lo típico es leer que es bloat y demás memazos, pero en serio, ¿por qué react, vue y demás son tan malos? De electron puedo entenderlo por lo pesado que es chromium, pero de los demás simplemente me parece que el odio es una especie de meme o algo.

2 : : 16/03/20(lun)05:13:00 ID:r7iH4LeTa

¿Tienes teléfono móvil o celular?

3 : root@bienvenidoainternet.org:~# : 16/03/20(lun)12:32:49 ID:2TXmgTYS0

Porque salvo que tu aplicación sea de intranet o esté tras un login, los spiders no ejecutan javascript.
Aparte, es pasarse por donde no ilumina el sol la accesibilidad, y no hablo solo de lectores de pantalla sino de poder funcionar bien con browsers viejos o de solo texto. Imagina que aún hay empresas que usan XP y sólo dejan usar IE8 porque por política tiene bloqueadas las aplicaciones externas.

4 : : 16/03/20(lun)12:40:50 ID:r7iH4LeT0

Esa debería ser la razón de más peso, tal y como dice >>3-san. Lo mencionado en >>2 es menos importante: los tiempos de carga insoportables, sobre todo en teléfonos, que dejan la web inusable y hacen perder visitas, aun sabiendo que la mayoría de accesos a la web se hace desde estos dispositivos debería ser fundamental, pero destrozar el SEO es un suicidio a cambio de nada. Solo para que el programador esté "cómodo", cuando todo ese trabajo debería hacerse del lado del servidor. Es falaz decir que se sobrecargan los servidores, cuando las peticiones para obtener cientos y cientos de kb de JavaScript mantienen más tiempo abierta la conexión abierta y por tanto disparan el consumo de memoria.

5 : root@bienvenidoainternet.org:~# : 16/03/20(lun)14:07:08 ID:fgDl24AO0

Para eso está el server side rendering que soluciona la mayoría de los problemas que mencionan. A parte de eso alguna razón más para odiar las frameworks de js?
Respecto a la accesibilidad existen proyectos como este https://a11yproject.com/

6 : : 16/03/20(lun)15:57:36 ID:r7iH4LeT0

Por lo general, las dependencias para funciones extremadamente simples en lugar de hacer una librería especializada que las recopile por categorías. Esto ralentiza enormemente los despliegues, complica la resolución de las mismas, requiriendo ingentes cantidades de RAM para ejecutar NPM (más de 1 GB para sí mismo), disparando los requerimientos mínimos del VPS o contenedor donde se ejecuta. Al incrementar muy notablemente la cantidad de pequeñas dependencias mantenidas por una mayor cantidad de usuarios, el riesgo de fallo de las dependencias en cuanto a seguridad, secuestro o corrupción de sus mantenedores se incrementa, además de que ya ha sucedido en varias ocasiones algún problema caótico al respecto.

Si vas a usar JS, usalo para mejorar la experiencia, priorizando solo donde haya características que solamente pueden ejecutarse con JS, y siempre permitiendo una alternativa que degrade el mínimo posible la experiencia. Usar Vanilla JS mejorará enormemente el rendimiento de la página, al no tener tantas llamadas anidadas innecesarias. Jquery es miles (sí, miles) de veces más lento para operaciones tan básicas como selectores. En páginas grandes se dispara la falta de rendimiento. En dispositivos móviles que venden hoy en día, salvo modelos caros de lujo, afecta muy notablemente no solo al rendimiento de carga de página (tarda más en cargar el JS que en descargar el sitio), sino que drena la batería de forma muy notable, lo que no agradará a los usuarios.

7 : root@bienvenidoainternet.org:~# : 16/03/20(lun)16:03:11 ID:HN/KgSQh0!

>(sí, miles)
oh no, la operación va a demorarse milisegundos en vez de microsegundos :-o

(y sí, estoy siendo sarcástico)

8 : root@bienvenidoainternet.org:~# : 16/03/20(lun)16:03:43 ID:HN/KgSQh0!

ah, y
>librería
biblioteca

9 : : 16/03/20(lun)16:14:56 ID:r7iH4LeT0

Para completar la información:

Vanilla JS: document.getElementById('test-table');
Operaciones por segundo: 12.137.211

jQuery: $jq('#test-table');
Operaciones por segundo: 350.557


Vanilla JS: document.getElementsByTagName("span");
Operaciones por segundo: 8.280.893

jQuery: $jq('span');
Operaciones por segundo: 19.449


Y a eso, sumen la lentitud extra de React. Y sin contar el consumo de RAM (se me cierra el navegador a menudo en Android por OOM en las mismas páginas). Pueden sacar sus propias conclusiones.

10 : root@bienvenidoainternet.org:~# : 16/03/20(lun)16:21:28 ID:HN/KgSQh0!

concluyo que tu teléfono móvil es una patata

11 : : 16/03/20(lun)16:29:44 ID:r7iH4LeT0

Nuevo, comprado en diciembre, Android Go 8.1

12 : : 16/03/20(lun)16:30:38 ID:r7iH4LeT0

Cada vez se venden más teléfonos con Android Go por precio, suelen tener 1 GB de RAM, aunque sean quad core, algunos traen más almacenamiento interno por motivos obvios (16 GB o más).

13 : root@bienvenidoainternet.org:~# : 16/03/20(lun)16:31:19 ID:HN/KgSQh0!

gracias por apoyar mi conclusión

14 : : 16/03/20(lun)16:40:00 ID:r7iH4LeT0

El cuico señores. Edición inmune a la economía del coronavirus.

15 : : 16/03/20(lun)17:07:26 ID:r7iH4LeT0

Normalmente las web no se hacen para ti únicamente. Hay quien prefiere ahorrar en teléfonos y consumir otro tipo de productos. ¿De qué me sirve que la mayoría de gente malgaste dinero en un teléfono si no va a tener dinero para otros gastos? Deja de mirarte al ombligo, que las patatas son para comérselas. Gracias.

16 : root@bienvenidoainternet.org:~# : 16/03/20(lun)17:18:44 ID:HN/KgSQh0!

>Normalmente las web no se hacen para ti únicamente.
lo mismo te digo

17 : : 16/03/20(lun)18:31:26 ID:T+nRLBA8a

Este weón también viene a dar la cacha a Tecnología? Debí haberme imaginado que era computín.

18 : root@bienvenidoainternet.org:~# : 16/03/20(lun)18:36:42 ID:HN/KgSQh0!

¿cuál es el problema? ¿acaso está prohibido?

19 : root@bienvenidoainternet.org:~# : 16/03/20(lun)18:44:34 ID:VqYZiShe0

>>12
Dile eso a los webdevs que desarrollan en sus Macbook Pros 16" del año con 16/32 GB de RAM, procesador i7/i9 y en móvil prueban en iPhones 11 Pro y en Galaxy S20s

20 : : 16/03/20(lun)22:21:38 ID:a05gWY2Y0

Lo interesante de React es que en escencia mantiene un DOM virtual que evita que una actualización del DOM ("original") haga un recorrido completo de los nodos siendo realmente ineficientemente. En estricto rigor, esto puede no ser apreciado por desarrolladores que no se dedican al frontend con JS vanilla a gran escala, pero para muchos es algo verdaderamente significativo.

21 : root@bienvenidoainternet.org:~# : 16/03/20(lun)23:43:53 ID:ow+q8HxE0

Ahora no importa nada de eso, GitHub adquirió NPM. AAAAAAAAAAAAAAAAAAAAAAAAAA

22 : : 16/03/20(lun)23:48:37 ID:ow+q8HxE0

Es cierto lo del shadow DOM. De todos modos, algo falla cuando páginas tan sencillas como Twitter tiene una latencia de varios segundos en su navegabilidad. No quiero ni saber para qué agregan profilers a las herramientas del navegador si luego no hay interés en optimizar.

En la práctica todo suena muy bien, aparte de Shadow DOM, los web workers o webAssembly. Pero algo no está realmente bien en general cuando las web más emblemáticas están recomendando sus propias apps porque su versión web es imposible de usar en un teléfono.

23 : : 16/03/20(lun)23:52:18 ID:ow+q8HxE0

Otro detallito que no se pensó, es la cantidad de reflow que sucede al cargar una página. Quieren mostrar contenido lo antes posible (tras desperdiciarlo con assets gigantescos), sin embargo eso hace que el navegador cargue contenidos múltiples veces, repinte y vuelva a repintar. Google demonizó lo de cargar JS en el <head> sin una buena justificación, pensando en HTTP/1.1 y no en preload o defer. Hay contradicciones en sus webmaster tools.

Es preocupante que haya cientos de kb en dar compatibilidad a navegadores que ya no existen. Hay quien piensa que su web todavía tiene que funcionar en IE7. Y eso tiene un costo enorme también. Herramientas como WebPack o incluso el monstruo de 7 cabezas Babel deberían desaparecer de la faz de la tierra.

24 : : 17/03/20(mar)03:07:03 ID:x7H6A4RV0

Cabros ¿es buena idea usar frameworks de CSS y si es así cuáles recomiendan? (excluyo a bootstrap por requerir jquery y ser demasiado monótono)

25 : root@bienvenidoainternet.org:~# : 17/03/20(mar)07:37:03 ID:cZK9WC280!

vanilla css es todo lo que necesitas

26 : : 17/03/20(mar)11:29:05 ID:gyVpqfPT0

27 : : 17/03/20(mar)11:30:46 ID:gyVpqfPT0

>>24
Es buena idea si te da paja hacer algo o sientes que no sabes "diseñar" y quieres algo bonito de forma rápida.

28 : root@bienvenidoainternet.org:~# : 17/03/20(mar)14:10:44 ID:51RqLKF80

29 : : 17/03/20(mar)15:19:46 ID:ykxvXS6C0

>>25 +1
Y usar selectores adecuadamente. La especificidad también tiene un precio. Hay que informarse.
Muchos resets absurdos e innecesarios que usan casi todos los "frameworks" javascript se basan en el abuso del selector universal. Huye de ellos como de la peste.

30 : : 18/03/20(mie)02:24:27 ID:7oG0tq+n0

>>25
Apoyo, entiendo por qué hay gente a la que le gustan frameworks de JS pero de CSS?? No gracias.

31 : root@bienvenidoainternet.org:~# : 18/03/20(mie)15:39:56 ID:jNny1IB00

Los resets de CSS son necesarios porque entre WebKit, Blink, Gecko, Trident y EdgeHTML no se ponen de acuerdo con los estilos base.

32 : : 18/03/20(mie)18:38:46 ID:BTnQNytW0

No es necesario si defines explícitamente ciertos estilos. Si reseteas no puedes hacer compatible tus elementos con los de otros CSS existentes. Por ejemplo, intenta mezclar bootstrap con pdf.js: se romperá todo. Al principio salió una idea interesante de componentes CSS autónomos, hasta que inventaron esa mierda dependiente de JS que modifica el DOM sin necesidad.

33 : root@bienvenidoainternet.org:~# : 19/03/20(jue)11:01:26 ID:jmfeZpJEa

10 KB

■ Este hilo se encuentra guardado en el archivo

weabot.py ver 0.10.9 Bienvenido a Internet BBS/IB