Category: Desarrollo

Por qué las GUI necesitan al menos 2,5 iteraciones: Una crítica al desarrollo de software Lean

2025-06-03
Por qué las GUI necesitan al menos 2,5 iteraciones: Una crítica al desarrollo de software Lean

Este artículo critica las limitaciones del desarrollo de software Lean, argumentando que su analogía del desarrollo de software a una línea de montaje de fábrica es fundamentalmente errónea. El desarrollo de software se asemeja más a un proceso de diseño, que requiere experimentación iterativa para descubrir lo que los usuarios realmente desean. Usando el desarrollo de GUI como ejemplo, el autor destaca cómo la creación de GUI a menudo implica varias iteraciones antes de lograr un resultado satisfactorio, muy diferente al flujo lineal de una línea de producción de fábrica. El concepto de 'desperdicio' en el desarrollo de software Lean resulta difícil de aplicar al software, ya que ignora la importancia de la exploración y el descubrimiento. El autor afirma que el desarrollo de software exitoso se asemeja a un proceso de descubrimiento, no de fabricación, que exige una comprensión profunda de las necesidades del usuario y una mejora continua mediante la iteración.

Desarrollo desarrollo lean

Diseño de Software de Información: ¿El Triunfo de los Gráficos, el Fracaso de la Interacción?

2025-06-03

En su ensayo, Bret Victor desafía los principios convencionales del diseño de software, argumentando que la mayor parte del software (software de información) se centra en la presentación de la información, no en la interacción. Aboga por un diseño de software de información basado en el diseño gráfico, reduciendo la interacción del usuario mediante visualizaciones inteligentes y la conciencia del contexto. El artículo utiliza ejemplos como horarios de trenes, librerías online y listados de películas para contrastar los diseños interactivos tradicionales con enfoques guiados por el diseño gráfico. Propone métodos de inferencia de contexto utilizando la detección ambiental y los datos históricos. Victor hace un llamamiento a la industria del diseño de software para que priorice la comunicación visual, revolucionando el diseño del software de información para lograr experiencias de usuario más intuitivas y eficientes.

Desarrollo Diseño Gráfico

IA en Humanidades: Un Arma de Doble Filo

2025-06-03
IA en Humanidades: Un Arma de Doble Filo

Este artículo explora el profundo impacto de la IA generativa en la educación humanística. El autor argumenta que ignorar la influencia de la IA es una tontería, ya que los modelos de lenguaje de IA dependen del conocimiento y las habilidades humanísticas. La IA demuestra un inmenso potencial en la traducción de idiomas, la clasificación y otras áreas, mientras que las habilidades humanísticas son cada vez más cruciales para la propia investigación de IA. A través de la experiencia personal de desarrollar juegos educativos con temas históricos, el autor muestra las aplicaciones de la IA en la enseñanza, pero también señala que el mal uso de la IA puede llevar a la disminución del compromiso de los alumnos y exacerbar las desigualdades educativas. Finalmente, el autor insta a los educadores a participar activamente en el desarrollo de herramientas de enseñanza de IA personalizadas, previniendo el abuso de la IA y manteniendo los valores fundamentales de una educación de calidad.

Framework OAuth 2.1 Provider para Cloudflare Workers: Una biblioteca de seguridad asistida por IA

2025-06-03
Framework OAuth 2.1 Provider para Cloudflare Workers: Una biblioteca de seguridad asistida por IA

Esta biblioteca TypeScript implementa el lado del proveedor del protocolo OAuth 2.1 con soporte PKCE para Cloudflare Workers. Actúa como un envoltorio, automatizando la gestión de tokens y la autenticación del usuario. Los desarrolladores escriben manejadores fetch regulares; la biblioteca se encarga de la autenticación. Es agnóstica con respecto a la gestión de usuarios y los frameworks de IU, almacenando solo hashes, no secretos. Curiosamente, el desarrollo de la biblioteca involucró al modelo de IA Claude, con la revisión de seguridad de los ingenieros de Cloudflare validando el potencial de la IA en el desarrollo de software. La biblioteca también presenta un enfoque novedoso para la gestión de tokens de actualización, equilibrando la seguridad y la resistencia a errores transitorios.

Desarrollo

MonsterUI: Crea interfaces de usuario web modernas en Python puro

2025-06-03
MonsterUI: Crea interfaces de usuario web modernas en Python puro

¿Cansado de cambiar entre HTML, CSS y Python para construir interfaces de usuario web básicas? ¡MonsterUI está aquí para solucionar eso! Construido sobre FastHTML, te permite crear aplicaciones web hermosas y receptivas usando solo Python. Aprovechando bibliotecas modernas como Tailwind, FrankenUI y DaisyUI, MonsterUI proporciona componentes pre-estilizados y valores predeterminados inteligentes, manteniendo el acceso completo a Tailwind CSS. Simplifica el estilo, permitiéndote concentrarte en las funciones en lugar de recordar las clases de utilidad. Las características incluyen temas, componentes básicos, estilo de texto semántico, asistentes de diseño inteligentes, patrones de IU comunes y componentes de nivel superior para una mayor productividad.

Desarrollo

Amazon publica curso de verificación de programas basado en Dafny

2025-06-02

Amazon ha publicado materiales didácticos para la verificación de programas utilizando Dafny. El curso va más allá de la programación básica en Dafny, profundizando en sus capacidades como asistente de prueba. Está estructurado en tres partes: la Parte 1 presenta el lenguaje de programación Dafny; la Parte 2 explora Dafny como asistente de prueba, cubriendo métodos de prueba formales como la deducción natural; y la Parte 3 aplica este conocimiento a la verificación de programas, abarcando programas funcionales, imperativos y orientados a objetos. Este recurso es adecuado tanto para principiantes como para desarrolladores experimentados en Dafny, ofreciendo un enfoque integral a la verificación de programas.

Desarrollo prueba formal

Modelado Extremo en MongoDB: Verificación de Conformidad en la Práctica

2025-06-02

Los ingenieros de MongoDB experimentaron con especificaciones TLA+ y dos técnicas de verificación de conformidad (verificación de rastreo y generación de casos de prueba) para verificar si las implementaciones de sus productos cumplen con las especificaciones. El experimento de verificación de rastreo, realizado en el servidor MongoDB, tuvo como objetivo validar la implementación del protocolo de consenso Raft; el experimento de generación de casos de prueba, en el SDK móvil de MongoDB, tuvo como objetivo validar el algoritmo de transformación operacional. Los resultados mostraron que la verificación de rastreo falló debido a la dificultad de tomar instantáneas del estado de un programa multiproceso y discrepancias entre la especificación y la implementación, mientras que la generación de casos de prueba descubrió con éxito un error en el algoritmo y logró el 100% de cobertura de ramificación. El artículo resume las lecciones aprendidas y presenta avances recientes en el campo, destacando la importancia de la verificación continua de conformidad para la adopción generalizada de TLA+.

Programación Asistida por LLM: ¿Hype o Revolución? La Perspectiva de un Programador Veterano

2025-06-02
Programación Asistida por LLM: ¿Hype o Revolución? La Perspectiva de un Programador Veterano

El programador veterano Thomas Ptacek refuta la idea de que las herramientas de programación de IA son solo una moda pasajera. Argumenta que, si bien el código generado por LLM no es perfecto y requiere revisión y refinamiento humanos, aumenta drásticamente la eficiencia de la codificación, especialmente para tareas repetitivas. Usando agentes, los LLMs pueden manejar de forma autónoma la escritura de código, las pruebas y la depuración, reduciendo significativamente la carga de trabajo del programador. El autor afirma que los LLMs no están destinados a reemplazar a los programadores, sino a convertirse en asistentes poderosos, aumentando la eficiencia general del desarrollo, especialmente al lidiar con grandes cantidades de trabajo repetitivo.

(fly.io)
Desarrollo desarrollo software

El Arte de Agrupar Valores de Atributos en HTML: Haciendo el Código Más legible

2025-06-02
El Arte de Agrupar Valores de Atributos en HTML: Haciendo el Código Más legible

Este artículo presenta una forma mejorada de organizar los atributos de clase HTML. Al agregar espacios, saltos de línea u otros caracteres dentro del valor del atributo de clase, se pueden agrupar diferentes clases CSS de forma más clara. Por ejemplo, usando `[card] [section box] [bg-base color-primary]` o `card | section box | bg-base color-primary` en lugar de `card-section-background1-colorRed`. Si bien este enfoque no está exento de limitaciones (los optimizadores pueden eliminar espacios, los preprocesadores pueden reordenar valores), puede mejorar la legibilidad y el mantenimiento del código, especialmente en proyectos grandes. El autor también demuestra formas más creativas de mejorar la legibilidad de los atributos de clase usando emojis o comentarios, recordando a los lectores la importancia de la comprensión del código y el trabajo en equipo.

Desarrollo

Explotación de día cero en CoreAudio de macOS: Una inmersión profunda

2025-06-02
Explotación de día cero en CoreAudio de macOS: Una inmersión profunda

En abril de 2025, Apple parcheó un error en CoreAudio que se estaba explotando activamente: CVE-2025-31200, una vulnerabilidad de corrupción de memoria. Un investigador de seguridad analizó meticulosamente el fallo, comparando versiones antiguas y nuevas de binarios e identificando la función problemática: apac::hoa::CodecConfig::Deserialize. La vulnerabilidad provenía del manejo incorrecto del tamaño de un array durante el análisis de datos de audio. Los atacantes podían explotar esto para lectura/escritura fuera de los límites, causando una caída del sistema. Mediante ingeniería inversa y análisis dinámico, el investigador reprodujo la vulnerabilidad, revelando su método de explotación. Se aprovecha del Apple Positional Audio Codec (APAC), utilizando un archivo de audio manipulado para controlar los tamaños de los arrays y obtener acceso a la memoria fuera de los límites. Aunque causaba una caída, el potencial de esta vulnerabilidad para ataques más sofisticados es significativo.

Desarrollo

Vanta: Analizador de Comportamiento de Paquetes Ligero – Un Agradecimiento de un Estudiante

2025-06-02
Vanta: Analizador de Comportamiento de Paquetes Ligero – Un Agradecimiento de un Estudiante

Vanta es un analizador de comportamiento de red ligero, rápido y basado en línea de comandos que reconstruye flujos a nivel de protocolo y extrae actividades estructuradas de los datos capturados. A diferencia de las herramientas GUI completas como Wireshark, Vanta prioriza la claridad, la estructura y la simplicidad, lo que lo hace ideal para scripts personalizados y configuraciones mínimas. Admite el análisis de HTTP, DNS y TLS (con huellas digitales parciales), reconstruye automáticamente flujos bidireccionales y genera resúmenes JSON limpios. Desarrollado en un MacBook Air M1 por un estudiante universitario como agradecimiento a las universidades que apoyaron a los estudiantes internacionales.

Desarrollo

Onlook: Un editor de código visual primero, de código abierto, para diseñadores

2025-06-02
Onlook: Un editor de código visual primero, de código abierto, para diseñadores

Onlook es un editor de código visual primero, de código abierto, construido con Next.js y TailwindCSS, que permite a los diseñadores editar directamente en el DOM del navegador y ver los cambios de código en tiempo real. Cuenta con asistencia de IA, ajustes de diseño de arrastrar y soltar, y la capacidad de hacer clic con el botón derecho en un elemento para ir directamente a su ubicación en el código. Actualmente en desarrollo activo, Onlook agradece las contribuciones de la comunidad.

Desarrollo

Se busca Ingeniero de Backend Senior: Defiende el Campo de Batalla del Cerebro

2025-06-02
Se busca Ingeniero de Backend Senior: Defiende el Campo de Batalla del Cerebro

Piramidal busca un ingeniero de software experimentado para construir y mantener la infraestructura de backend de su plataforma principal de datos neuronales. El candidato ideal tiene 5+ años de experiencia en empresas orientadas a producto, dominio de Python y otros lenguajes de backend, contenerización/orquestación (ej. Kubernetes), bases de datos relacionales (ej. Postgres/MySQL) y tecnologías web (ej. JavaScript, React). Colaborará estrechamente con ingenieros de ML y clientes internos, creando interacciones y automatizaciones de usuario seguras, eficientes y agradables. La empresa se dedica a usar la tecnología para maximizar el potencial humano, defendiendo la libertad cognitiva y oponiéndose a la mercantilización y manipulación de las mentes.

Tres algoritmos optimizados para calcular los bordes de mallas poligonales

2025-06-02
Tres algoritmos optimizados para calcular los bordes de mallas poligonales

Esta publicación presenta tres algoritmos equivalentes para calcular los bordes de una malla poligonal, que representan pasos de optimización progresivos para lograr el mismo resultado con una eficiencia creciente. Comenzando con una descripción de la representación de la topología de la malla y los conceptos de bordes, detalla tres enfoques: un algoritmo basado en mapa (complejidad O(n log n)), un algoritmo basado en ordenación (complejidad O(n log n)) y un nuevo algoritmo de valencia menor (complejidad O(n)). El autor compara su rendimiento, destacando la naturaleza innovadora y las aplicaciones potenciales en el desarrollo de juegos del algoritmo de valencia menor.

El auge y la caída (¿y la posible resurrección?) de Stack Overflow

2025-06-02
El auge y la caída (¿y la posible resurrección?) de Stack Overflow

Stack Overflow, antaño un refugio para desarrolladores, prosperó gracias a una cultura de ayuda mutua y de intercambio de conocimientos. Sin embargo, un sistema de reputación gamificado fomentó involuntariamente la competencia en lugar de la colaboración, erosionando lentamente su vibrante comunidad. La llegada de la IA exacerba aún más esta tendencia, lo que lleva a reflexionar sobre el futuro de las comunidades de desarrolladores. La trayectoria de Stack Overflow sirve como advertencia: las plataformas tecnológicas que priorizan las comunidades genuinas en lugar de la mera generación de contenido tienen más probabilidades de prosperar, especialmente en la era de la IA.

Desarrollo

ThorVG: Una biblioteca de gráficos vectoriales multiplataforma que lidera la revolución WebGPU

2025-06-02
ThorVG: Una biblioteca de gráficos vectoriales multiplataforma que lidera la revolución WebGPU

ThorVG ofrece múltiples implementaciones de motores raster, permitiéndote elegir la que mejor se adapte a tu aplicación y preferencias del sistema. Está a la vanguardia, especialmente en el desarrollo web. Aprovechando los shaders de cómputo y el acceso a la GPU moderna de baja sobrecarga de WebGPU, ThorVG permite una optimización agresiva y aplicaciones más amplias. Admite completamente las funciones de renderizado vectorial sobre WebGPU y abstrae la aceleración de hardware (Metal, Vulkan, DirectX) para una compatibilidad multiplataforma perfecta.

Desarrollo

Cacería de errores en el iterador de fuentes del sistema Android: Una historia de símbolos ocultos

2025-06-02

Esta entrada de blog relata una corrección de errores sorprendentemente larga. Android define diferentes niveles de API, con algunos símbolos disponibles solo a partir de una versión específica. Firefox para Android (Fenix) utiliza `ASystemFontIterator_open`, disponible solo a partir de la API 29. Para compatibilidad con versiones anteriores, Fenix utiliza `__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__` y `__builtin_available` para comprobaciones en tiempo de compilación y ejecución. Sin embargo, el sistema de compilación de Firefox utiliza de forma predeterminada la visibilidad oculta (`-fvisibility=hidden`), haciendo que el símbolo débil `ASystemFontIterator_open` se vuelva indefinido en la biblioteca compartida, lo que provoca fallos. La solución fue un simple cambio para modificar temporalmente la visibilidad predeterminada al incluir encabezados del sistema Android.

Reduciendo el tamaño del directorio de destino de Rust: Una nueva bandera del compilador

2025-06-02

Los directorios de destino grandes son una frustración común para los desarrolladores de Rust. Esta publicación presenta un nuevo método para reducir significativamente su tamaño. Una nueva bandera del compilador, `-Zembed-metadata=no`, combinada con una nueva bandera de Cargo, `-Zno-embed-metadata`, evita el almacenamiento redundante de metadatos en los archivos `.rlib` y `.rmeta`. Las pruebas muestran una reducción de hasta el 36,3% en el modo de lanzamiento. Esta característica es actualmente inestable (nightly), con planes para convertirla en la predeterminada, pero las preocupaciones de compatibilidad con versiones anteriores deben considerarse cuidadosamente.

Desarrollo

La pila Ruby on Rails de AttendList: Una inmersión profunda

2025-06-02
La pila Ruby on Rails de AttendList: Una inmersión profunda

AttendList, un rastreador de asistencia para Google Meet, utiliza un backend Ruby on Rails que interactúa con una extensión de Chrome. Este artículo detalla la infraestructura y las elecciones de gemas detrás de AttendList, cubriendo todo, desde trabajos en segundo plano, autenticación y blogs hasta la implementación y características adicionales. La pila principal incluye PostgreSQL, Redis, Sidekiq y RSpec. La autenticación utiliza Devise con Google OAuth, empleando un flujo de autorización incremental. La capa de vista usa Tailwind CSS y ViewComponents. El rendimiento y el perfilado se manejan con Bullet y Rack Mini Profiler. El autor también describe su solución de alojamiento rentable utilizando servidores Hetzner y la plataforma de implementación Hatchbox.

Desarrollo Pila tecnológica

Cuss: Biblioteca de Deteccion de Palabras Groseras Multilingüe

2025-06-02
Cuss: Biblioteca de Deteccion de Palabras Groseras Multilingüe

Cuss es una biblioteca de código abierto que proporciona listas de palabras groseras en varios idiomas junto con una clasificación de confianza. No está destinada a la construcción de filtros de groserías (lo que el autor desaconseja), sino a la investigación de procesamiento del lenguaje natural. La biblioteca admite varios métodos de instalación (npm, esm.sh, etc.) e incluye varias versiones de idiomas (inglés, árabe, español, francés, italiano, portugués, etc.). Cada palabra tiene una clasificación de 0 a 2, que indica la probabilidad de su uso como grosería. Además, la biblioteca contiene otras listas de palabras, como palabras de moda, palabras comunes, etc.

arXivLabs: Colaboraciones comunitarias en nuevas funciones de arXiv

2025-06-02
arXivLabs: Colaboraciones comunitarias en nuevas funciones de arXiv

arXivLabs es un marco experimental que permite a los colaboradores desarrollar y compartir nuevas funciones de arXiv directamente en el sitio web. Las personas y organizaciones involucradas abrazan los valores de arXiv de apertura, comunidad, excelencia y privacidad de los datos de los usuarios. arXiv está comprometido con estos valores y solo trabaja con socios que los comparten. ¿Tienes una idea para un proyecto que beneficiará a la comunidad de arXiv? Aprende más sobre arXivLabs.

Desarrollo

Kan: ¿El asesino de Trello de código abierto?

2025-06-02
Kan: ¿El asesino de Trello de código abierto?

Kan es una herramienta de gestión de proyectos de código abierto que pretende ser una alternativa robusta a Trello. Cuenta con tableros Kanban, colaboración en equipo, importación de Trello, filtro de etiquetas, comentarios, registros de actividad, con plantillas e integraciones planeadas para el futuro. ¡El código es de código abierto y se aceptan contribuciones!

Desempleo en Ciencias de la Computación: ¿El fin del auge?

2025-06-02
Desempleo en Ciencias de la Computación: ¿El fin del auge?

A pesar de su popularidad, la informática presenta una tasa de desempleo sorprendentemente alta. Un informe reciente la sitúa en séptimo lugar entre las especializaciones universitarias, con un 6,1% de desempleo. El auge de la tecnología impulsó la demanda, pero los posteriores despidos en gigantes como Amazon y Google han cambiado el panorama. Los expertos lo atribuyen a un exceso de graduados que carecen de experiencia práctica, junto con las crecientes demandas de la industria y un mercado de nivel de entrada en declive. La narrativa de 'enriquecerse rápidamente' en torno a la codificación choca con las duras realidades económicas.

Desarrollo

arXivLabs: Proyectos experimentales con colaboradores de la comunidad

2025-06-02
arXivLabs: Proyectos experimentales con colaboradores de la comunidad

arXivLabs es un marco que permite a los colaboradores desarrollar y compartir nuevas funciones de arXiv directamente en nuestro sitio web. Tanto las personas como las organizaciones que trabajan con arXivLabs han adoptado y aceptado nuestros valores de apertura, comunidad, excelencia y privacidad de los datos de los usuarios. arXiv está comprometido con estos valores y solo trabaja con socios que los respeten. ¿Tiene una idea para un proyecto que agregue valor a la comunidad de arXiv? Obtenga más información sobre arXivLabs.

Desarrollo

Tmux: Una inmersión profunda en la multiplexación de terminales

2025-06-02
Tmux: Una inmersión profunda en la multiplexación de terminales

Tmux es un potente multiplexor de terminal que permite gestionar varias sesiones de terminal, ventanas y paneles simultáneamente. Piensa en tmux como un gestor de terminal: un servidor gestiona varias sesiones; cada sesión contiene varias ventanas; cada ventana se puede dividir en varios paneles, cada uno ejecutando un programa o shell separado. Múltiples clientes pueden conectarse a la misma sesión simultáneamente. Una tecla de prefijo (normalmente Ctrl+b) permite controlar y gestionar fácilmente los componentes de tmux para una gestión eficiente del terminal.

Consistencia de Bases de Datos: Más Allá de lo Básico

2025-06-02
Consistencia de Bases de Datos: Más Allá de lo Básico

Este artículo profundiza en los desafíos de mantener la consistencia transaccional de la base de datos en entornos de alta concurrencia. Utilizando un ejemplo de Spring Boot, el autor demuestra cómo la paginación predeterminada y las comprobaciones de idempotencia pueden provocar inconsistencias de datos (filas faltantes o actualizaciones duplicadas) al procesar un gran volumen de datos de ventas. El artículo explica a fondo los niveles de aislamiento de la base de datos (READ UNCOMMITED, READ COMMITED, REPEATABLE READ, SERIALIZABLE) y las estrategias de bloqueo optimista/pesimista. Finalmente, empleando el nivel de aislamiento REPEATABLE READ y el bloqueo optimista, el autor resuelve eficazmente las inconsistencias de datos y mejora significativamente el rendimiento.

arXivLabs: Proyectos experimentales con colaboradores de la comunidad

2025-06-02
arXivLabs: Proyectos experimentales con colaboradores de la comunidad

arXivLabs es un marco que permite a los colaboradores desarrollar y compartir nuevas funciones de arXiv directamente en nuestro sitio web. Tanto las personas como las organizaciones que trabajan con arXivLabs han adoptado y aceptado nuestros valores de apertura, comunidad, excelencia y privacidad de los datos de los usuarios. arXiv está comprometido con estos valores y solo trabaja con socios que los respetan. ¿Tiene una idea para un proyecto que agregue valor a la comunidad de arXiv? Obtenga más información sobre arXivLabs.

Desarrollo

Agente iPhone: Controla tu dispositivo iOS con GPT-4.1

2025-06-02
Agente iPhone: Controla tu dispositivo iOS con GPT-4.1

PhoneAgent es una aplicación iOS que aprovecha el modelo GPT-4.1 de OpenAI para controlar tu iPhone en varias aplicaciones. Al acceder al árbol de accesibilidad, puede realizar tareas como enviar mensajes, descargar aplicaciones y realizar llamadas. Utiliza el framework de prueba de interfaz de usuario de Xcode, no requiere jailbreak, pero es experimental y tiene limitaciones conocidas, como el manejo de tareas de larga duración y animaciones. La aplicación envía el contenido de la aplicación a la API de OpenAI y se comunica con las pruebas de IU a través de un servidor TCP.

Desarrollo

HIP: Una API de tiempo de ejecución portátil de código único para GPUs AMD y NVIDIA

2025-06-02
HIP: Una API de tiempo de ejecución portátil de código único para GPUs AMD y NVIDIA

HIP es una API de tiempo de ejecución C++ y un lenguaje de kernel que permite a los desarrolladores crear aplicaciones portátiles para GPUs AMD y NVIDIA a partir de un único código fuente. Las características clave incluyen alto rendimiento con poca sobrecarga, soporte para programación C++ de código único (incluyendo plantillas, lambdas, etc.) y la capacidad de aprovechar las mejores herramientas de desarrollo en cada plataforma. La herramienta HIPIFY automatiza la conversión de CUDA a HIP, mientras que la optimización manual es posible para ajustar a una plataforma específica. HIP admite nuevos proyectos y ofrece una fácil portabilidad del código CUDA existente, aunque no es un reemplazo directo y requiere algo de trabajo manual para la portabilidad y optimización completas.

¿“Solo JavaScript?”: Es más complicado de lo que piensas

2025-06-02

En el mundo de la programación, “Solo JavaScript” es una frase que a menudo se usa incorrectamente. Este artículo explora las complejidades de JavaScript, señalando que muchos archivos .js aparentemente simples, en realidad, dependen de APIs del navegador, variables de entorno Node.js, compilación JSX, preprocesadores, anotaciones de tipo TypeScript y mucho más. La elección del entorno de ejecución y la cadena de herramientas afecta en gran medida la ejecutabilidad del código. El autor utiliza una serie de ejemplos para ilustrar que solo el código JavaScript "vanilla", separado de entornos de ejecución y cadenas de herramientas específicas, puede llamarse realmente “Solo JavaScript”.

Desarrollo Desarrollo Back-end
1 2 69 70 71 73 75 76 77 214 215