¿Por que el desarrollo web se ha vuelto tan complejo?
En mi opinión tiene que ver con principalmente dos razones:
1. Los requerimientos han crecido y las expectativas de los usuarios y clientes han aumentado respecto a que es y no posible "en la plataforma"
...
2. La web (como la ideó Sir @timberners_lee) no fue ni está "arquitecturada" (palabra inventada) para lo que la estamos usando hoy.

La web fue ideada e implementada como una plataforma para compartir documentos de hiper texto. "Documentos" (subrayo ésto) que se enlazan con otros
He ahí que el lenguaje principal de la web sea HTML. Javascript vino a ser un parche sobre los motores de los browsers para darle algo de interactividad y dinamismo a esos documentos
Todos esos experimentos y "batallas" de los browsers nos han traído hasta ahora donde al menos tenemos una especificación estándar para el lenguaje que entrega dinamismo. ECMA y Tc39
En este episodio revisamos que es ECMA y TC39
cafecon.tech/1081172/387228…
Ahora con ese estándar y una gran mejora en los navegadores es posible crear aplicaciones dinámicas e interactivas.
Pero un nuevo problema apareció.
Escribir javascript (inicialmente) era un dolor de cabeza.
Spaghetti Code
Junto con esto tanto la experiencia de usuario (UX) y la experiencia de desarrollo (DX) se vieron muy afectadas creando estrés en ambos lados de la pantalla
¿Como resolvemos esto?
Mejorando la DX para como resultado tener mejor UX.
Y esta mejora de la DX vino dada por frameworks y tooling siendo quizá la punta de lanza de esa primera era la gran jQuery.
Pero había un dolor oculto....
JQuery fue genial! nos mostró lo q se podía lograr dándonos destellos del futuro.
Pero seguía siendo spaghetti code.. Así que avanzamos a una nueva era de Javascript siendo @reactjs y todo "el tooling" asociado los iniciadores de un nuevo movimiento.

Componentes y transpiladores
React en general no hizo nada "nuevo" si no más bien trajo ideas a un espacio donde no se estaban aplicando.
Ideas desde la programación funcional como inmutabilidad, estado, funciones puras etc.
Pero también trajo la necesidad de más herramientas
egghead.io/courses/hooks-…
Herramientas como @babeljs que permitía hacer uso de esa extraña sintaxis: JSX y también uso de las nuevas características del estándar aún no disponibles en navegadores
freecodecamp.org/espanol/news/q…
Además de muchas otras herramientas que busca hacer el proceso de desarrollo más "Llevadero" buscando ofrecer una mejor DX.
Herramientas como @geteslint y @PrettierCode
freecodecamp.org/espanol/news/q…
El problema q ahora tenemos una gigantesca pila de herramientas y procesos pra hacer un simple "Todo app" creando mucha confusion en quienes están comenzando en este proceso y en general en todo dev
¿Cuál es el camino a seguir?
En mi opinión los frameworks "opinionated" sobre los frameworks son el camino que esta pavimentado el inicio de la 3era ola de la web.
Frameworks como Next y @nuxt_js están torciendo y expandiendo los límites de los que los frameworks ofrecen
Pero también ideas desde otros lenguajes como @elmlang y @rescriptlang
Pero por sobre todos quienes empujan el inicio de la nueva era son las nuevas ideas e implementaciones. Cada framework esta haciendo lo suyo como React con el suspendido Suspense (pun intended).
O ideas de las que tuvimos un teaser como React Server Components
freecodecamp.org/espanol/news/q…
Pero por sobre todo. Las nuevas punta de lanza son nuevas formas de hacer las cosas como lo que @sveltejs @vite_js @snowpackjs y @tailwindcss proponen modificando nuestro modelo mental del como se deben hacer las cosas.
¿Qué crees tú? ¿Qué se viene para el futuro de Javascript y la web?
Para más contenido sígueme o escucha @cafe_contech o Únete al newsletter MicroBytes en microbytes.matiashernandez.dev
No olvides que en @cafe_contech hay concurso!!!
Sorteo suscripciones a @FrontendMasters para que sigas puliendo tus skills

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Matías Hernández Arellano

Matías Hernández Arellano Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @matiasfha

18 Apr
Hablemos de "State management" y porqué es "complejo".

¿Que es el estado de una App?

En una versión muy simple estado son datos que cambian en el tiempo y que usamos para definir que se muestra o no al usuario.

Pero: ¿de donde vienen esos datos?
Esta pregunta es quiza la "piedra angular" para un modelo mental sobre el manejo de estado.
No todo el estado es igual ni proviene de las mismas fuentes.
Podemos definir a lo menos 2 categorías de estado
- UI state
- Server State
(shouts @tannerlinsley for this idea)
UI State: el estado que representa aspectos de la interfaz exclusivamente y que es modificado por acciones del usuario por ejemplo ejemplo un modal abierto/cerrado, el valor de un input o un menú.
Es un estado de fácil acceso, efímero y sincrono y es "simple" de manejar
Read 14 tweets
18 Feb
Q me disculpe @Pa__tty pero usar la vulnerabilidad de NNA como argumento para la presencialidad en clases de colegio es incongruente.
1ero que edades? Acaso todos los estudiantes podrán llevar a cabo los protocolos de autocuidado?
2do hablan de la vulnerabilidad de estudiantes...
Si hablamos de estudiantes vulnerables lo más seguramente también serán establecimientos de escasos recursos por lo que es muy difícil asegurar protocolos de seguridad (en cuanto a insumos).
Vulnerabilidad, si es económica entonces hablamos de uso de transporte público, es decir, espacios aglomerados y sabemos que los menores no serán vacunados, ergo, exposición a posibles contagios ya que aun no se alcanza inmunidad de grupo.
Read 6 tweets
17 Feb
He leído varias veces este tipo de preguntas.
¿Se puede usar React con....? O ¿Cómo usar React con X...? Siendo X alguna tecnología para desarrollo de APIS como Rails, Django, PHP/Laravel,.Net y en general la respuesta es la misma.
2 opciones posibles (no sólo para React) 🧵
La primera opciones es simple. Crea una api Rest o un endpoint graphql y listo.
React (y otros frameworks) pueden funcionar "solos" (una SPA). Es decir se distribuye un grupo de archivos estáticos que son servidos en algún CDN y se comunican con el servidor mediante alguna API.
Esto quiere decir que React (y los demás) son agnósticos de la tecnología de servidor usada ya que el medio de comunicación son solo llamadas HTTP (POST, GET, etc) que transmiten json.
Read 6 tweets
11 Feb
¿Clases o funciones al escribir tus componentes en #React?
Esta es una pregunta bastante común entre quienes están comenzando o retomando el desarrollo web con React.
¿Cuál es el approach correcto o el mejor?

¿Que prefieres tu y por que?
Sigue un hilo 🧵
Hoy el uso de componentes funcionales es la forma "aconsejada" o preferida de escribir tus componentes, pero las clases aún siguen ahí y no se irán por un buen tiempo. Incluso hay muchas app en producción que aún usan componentes de clase ya q fueron escritas hace un tiempo...
¿Entonces como decidir que usar o que aprender?
Como siempre la respuesta depende.
Depende de tus objetivos y el ambiente en que desarrollarás.
Si estás comenzando deberías comenzar por aprender la forma "moderna" de escribir componentes, es decir usando funciones..
Read 10 tweets
11 Feb
Hoy se celebra el día internacional de la mujer y la niña en la ciencia.
Y como padres también tenemos una labor, acercar la ciencia a niñas y niños.
Les recomiendo estos libros que a mis hijos. Mía e Inti les encantan.
Papá ¿donde se enchufa el sol? De @aberron
También, obviamente literatura nacional.
¿Por qué los perros mueven la cola?
Y
¿Qué son los mocos?
Del divulgador nacional por ontonomasia @GaboTuitero
También, astronomía (por cierto el CATA de @uchile tendrá curso de astronomía para niñez este 15/02 cata.cl/noticia.php?id…) y un gran exponente de esto es el profesor Maza.
Somos polo de estrella.
Read 6 tweets
4 Nov 20
¿Cuál es la diferencia entre los hooks useEffect y useLayoutEffect?

¿Cuándo usar useLayoutEffect?

Lo descubriremos en un nuevo hilo sobre #React #hooks 🧵
useLayoutEffect es similar en casi TODO a useEffect, solo tiene pequeñas diferencias.

TLDR: useEffect es lo que quieres usar el 99% del tiempo.

Ambos reciben dos argumentos, un callback que define el efecto y una lista de dependencias.

matiashernandez.dev/react-useeffec…
La diferencia entre ambos radica en el momento en que el efecto definido en el callback es ejecutado.

useEffectes ASINCRONO. y ejecuta el efecto después que tu componente se renderiza asegurando así que tu efecto no bloquerá el proceso principal.
Read 13 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!