tutorial loop for convertir coffee javascript production-environment coffeescript

javascript - loop - Usando CoffeeScript en un entorno de producción



coffeescript vs typescript (2)

Realmente me gusta usar CoffeeScript (1.1.1) para proyectos pequeños y funcionó muy bien hasta ahora. Sin embargo, antes de usarlo en un entorno más amplio, me gustaría escuchar una segunda opinión sobre su uso en producción.

Así que mis preguntas son:

  • ¿Qué tan estable es el lenguaje en sí?
  • ¿Debo ver los próximos cambios que romperán mi código?
  • Si la respuesta es afirmativa a la pregunta anterior: ¿qué tan bien son compatibles las versiones anteriores?
  • ¿Existe un estable (solo corrección de errores) y una rama de desarrollo separada?
  • Si ya usó CoffeeScript en su producto / sitio web / etc., describa el alcance en el que se usó y su experiencia general.

¡Gracias!

Nota: Ya escuché que "el soporte de CoffeeScript se incluirá en la versión 3.1 de Ruby on Rails". (Wikipedia) lo cual es genial debido al respaldo adicional de la comunidad de Rails.


El lenguaje se ha mantenido estable durante los últimos seis meses (1.1.1 es básicamente 1.0 con correcciones de errores). Eso no es garantía de estabilidad futura, pero no espero que mi libro quede totalmente obsoleto en el corto plazo.

Yo diría que las mejores prácticas para evitar problemas de versión son

  1. Asegúrese de documentar la versión de CoffeeScript para la que se escribió su proyecto, y
  2. Compila a JS bajo esa versión y guarda el JS almacenado en algún lugar
  3. Tenga una buena cobertura de exámenes (en palabras de Samuel Adams: ¡ Siempre es una buena decisión! )

De esa manera, cuando se lance una nueva versión de CoffeeScript, tendrá una copia de seguridad de JS para usar en caso de que su código de CoffeeScript esté dañado. Romper los cambios es un dolor, pero es un dolor común a casi todos los idiomas, excepto JavaScript. Solo pregúntale a un Rubyist que recientemente hizo la transición de 1.8 a 1.9, o un Pythonista que todavía está migrando su código de Python 2 a Python 3.

El consejo que puedo dar para evitar que su código se rompa con los cambios de la versión de CoffeeScript es evitar los casos de borde sintáctico. Por ejemplo, func a:b, c usa para significar func {a:b, c:c} , y ahora significa func {a:b}, c . Eso es una mejora (el viejo comportamiento se consideraba un error), pero algunas personas fueron sorprendidas con la guardia baja. Así que use puntuación explícita siempre que haya un indicio de ambigüedad; hace para el código más legible de todos modos.

Jeremy tendrá que comentar sobre la distinción stable / master , ya que ambas ramas existen pero stable no se ha actualizado desde abril (anterior a 1.1.0).