¿Cuáles son algunas de las mejores prácticas no conocidas al desarrollar aplicaciones Javascript para la web?

Algunos de estos son más conocidos que otros, pero aquí hay una lista de mis pensamientos:

  • Utilice un linter que imponga un estilo y las reglas de “Partes buenas”, como === y punto y coma.
  • Usa un transpilador. Debería usar ES6 al menos.
  • Hablando de un transpiler, use TypeScript para cualquier cosa no trivial.
  • Use yarn para la gestión de paquetes. Es solo mejor.
  • Si está utilizando Node.js, asegúrese de tener un entorno de depuración configurado. VS Code es estúpido y fácil de usar para depurar un proceso Node, y es multiplataforma.
  • Si está creando un servidor, use contenedores Docker. Nuevamente, es muy fácil y es como un súper poder de comportamiento reproducible.
  • Para las páginas web, asegúrese de que su página se vea razonable incluso cuando los scripts estén deshabilitados. El renderizado isomorfo / universal debe ser el predeterminado.
  • Para muchas cosas, los datos inmutables reducirán los errores. Considere usar estructuras inmutables (como immutable.js).
  • En Lodash, si encadena operaciones, el resultado puede ser mucho más rápido. _(foo).filter(…).sort(…).first() probablemente no necesitará una matriz intermedia, o incluso para ordenar todos los elementos, si simplemente puede encontrar el elemento que ordenaría ser el primero. * *
  • Y por todo lo que es sagrado, no mezcle pestañas con espacios. Elija uno (idealmente espacios; simplemente desactive el carácter de tabulación en su editor y la tecla de tabulación insertará espacios) y sea coherente.

* Este es un ejemplo aproximado; No he verificado que Lodash optimice este ejemplo exacto, pero en general puede ser mucho más rápido usar el encadenamiento.

Mis pocos centavos en buenas / mejores prácticas:

  • Ver datos no DOM; DOM debe ser reflejo de los datos. Consejo de usuario: Ver datos, no DOM
  • La función debe ser pura la mayor parte del tiempo.
  • Si está utilizando jQuery; consultar el DOM puede ser costoso a veces; captura el resultado y usa find o context en result para encontrar un subconjunto.

$ lista = $ (‘. página .resultados .recomendaciones’);
$ list.find (‘li’). hide ();
//o
$ (‘li’, $ lista) .hide ();

  • Use carga diferida para recursos asíncronos e imágenes

Si le gustó mi respuesta, le agradecería que la votara al presionar el botón azul claro a continuación y pueda seguirme si desea leer más como estos. O puedes visitar mi blog Time to Hack

Algunos fuera de mi cabeza

  • Use un contenedor de estado como redux para administrar el estado de la interfaz de usuario de su aplicación. Si está construyendo algo no trivial, las cosas pueden salir rápidamente de las manos si comienza a administrar el estado por su cuenta.
  • El desarrollo web moderno se trata de componentes. Coloca tu componente, estilo y datos. No creerá cuán rápido los nuevos desarrolladores pueden ser productivos cuando se les presenta una base de código construida de esta manera.
  • Tenga un flujo de trabajo de desarrollo bien definido para su proyecto. Mi herramienta para ir a una tubería de compilación es webpack.
  • Si no usa el mecanografiado, use un anotador de tipo como flow. Le ayuda a medida que aumenta su base de código.
  • Pruebe su aplicación web en Chrome habilitando la aceleración de red y CPU.
  • Use animaciones para que su aplicación web se sienta más interactiva.
  • Evite las API habladoras.
  • Optimice el tiempo para la primera interacción y el rendimiento percibido.