<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Desarrollo Web &#8211; Jeff Santillán</title>
	<atom:link href="https://jeffsantillan.com/blog/tag/desarrollo-web/feed/" rel="self" type="application/rss+xml" />
	<link>https://jeffsantillan.com/blog</link>
	<description>Transformación Digital y Programación</description>
	<lastBuildDate>Fri, 21 Aug 2026 08:09:08 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>
	<item>
		<title>Abilities API: WordPress quiere trabajar con inteligencia artificial</title>
		<link>https://jeffsantillan.com/blog/abilities-api-wordpress-quiere-trabajar-con-inteligencia-artificial/</link>
					<comments>https://jeffsantillan.com/blog/abilities-api-wordpress-quiere-trabajar-con-inteligencia-artificial/#respond</comments>
		
		<dc:creator><![CDATA[Jefferson Santillan]]></dc:creator>
		<pubDate>Fri, 21 Aug 2026 08:09:07 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Abilities API]]></category>
		<category><![CDATA[Automatización]]></category>
		<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[inteligencia artificial]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://jeffsantillan.com/blog/?p=414</guid>

					<description><![CDATA[WordPress le está enseñando a la IA a entender lo que puede hacer Llevo un tiempo &#8230; <a title="Abilities API: WordPress quiere trabajar con inteligencia artificial" class="hm-read-more" href="https://jeffsantillan.com/blog/abilities-api-wordpress-quiere-trabajar-con-inteligencia-artificial/"><span class="screen-reader-text">Abilities API: WordPress quiere trabajar con inteligencia artificial</span>Leer más</a>]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">WordPress le está enseñando a la IA a entender lo que puede hacer</h2>



<p class="wp-block-paragraph">Llevo un tiempo siguiendo de cerca las últimas versiones de WordPress, y hay un proyecto que viene creciendo lanzamiento tras lanzamiento sin hacer mucho ruido fuera del círculo de desarrolladores: la <strong>Abilities API</strong>. Al investigarla en detalle, entendí por qué es probablemente uno de los cambios más importantes que WordPress ha introducido en los últimos años, aunque a simple vista parezca solo una API técnica más.</p>



<p class="wp-block-paragraph">Antes de entrar en tecnicismos, conviene explicarlo de la forma más simple posible, porque no hace falta ser programador para entender por qué esto importa.</p>



<h2 class="wp-block-heading">Primero, lo básico: ¿qué problema resuelve?</h2>



<p class="wp-block-paragraph">Imaginemos WordPress como una casa enorme con miles de habitaciones (plugins, temas, funciones del núcleo). Cada habitación tiene su propia puerta, con su propia cerradura y su propia forma de abrirla. Cuando una persona quiere hacer algo —publicar un artículo, cambiar el rol de un usuario, revisar el estado del sitio— sabe en qué habitación entrar y cómo moverse, porque usa el panel de administración con el mouse y el teclado, como siempre.</p>



<p class="wp-block-paragraph">Ahora bien, un asistente de inteligencia artificial no «ve» el panel de administración de la misma manera. No sabe de forma intuitiva qué botón presionar ni en qué pantalla está la opción que necesita. Hasta ahora, si un desarrollador quería que una IA realizara alguna acción en un sitio WordPress, tenía que construir un puente a medida para cada tarea puntual, sin ninguna regla común entre plugins.</p>



<p class="wp-block-paragraph">La Abilities API viene a resolver justamente eso: es un <strong>registro central</strong> donde WordPress —y cualquier plugin o tema— puede anotar, de forma clara y estandarizada, «esto es lo que sé hacer, esto es lo que necesito que me indiquen para hacerlo, esto es lo que voy a devolver, y estos son los permisos requeridos para que se me permita ejecutarlo». A cada una de esas acciones registradas se le llama una <strong>ability</strong> (habilidad).</p>



<p class="wp-block-paragraph">Es, en el fondo, como colocarle una etiqueta clara y un manual de instrucciones a cada puerta de la casa, escrito en un idioma que tanto una persona como un programa de computadora pueden leer sin confundirse.</p>



<h2 class="wp-block-heading">¿Por qué esto es tan importante ahora?</h2>



<p class="wp-block-paragraph">Porque cada vez más personas usan asistentes de IA (como Claude, ChatGPT o Gemini) para pedirles tareas del tipo «revisa los últimos artículos que escribí este mes y arma un resumen» o «dime si tengo comentarios pendientes de moderar». Para que un asistente pueda hacer eso de forma confiable —y sobre todo, de forma segura, sin modificar cosas que no debería— necesita un mapa claro de qué puede hacer en ese sitio y bajo qué permisos. La Abilities API es exactamente ese mapa.</p>



<h2 class="wp-block-heading">Línea de tiempo: cómo fue avanzando</h2>



<p class="wp-block-paragraph">Para que quede clara la evolución, así fue apareciendo esta pieza en los últimos lanzamientos de WordPress:</p>



<ul class="wp-block-list">
<li><strong>WordPress 6.9 (diciembre de 2025).</strong> Aquí nace oficialmente la Abilities API como parte del núcleo de WordPress, en su versión de PHP. Trajo un primer conjunto reducido de habilidades básicas del propio WordPress: información del sitio, datos del entorno técnico y datos del usuario conectado en ese momento.</li>



<li><strong>WordPress 7.0 «Armstrong» (20 de mayo de 2026).</strong> Se sumó la contraparte para JavaScript y, lo más relevante, llegó el <strong>AI Client</strong>: una forma de que los plugins puedan enviar solicitudes a modelos de inteligencia artificial sin atarse a un proveedor específico. Es en este punto donde las abilities dejan de ser solo un catálogo y comienzan a ser realmente útiles: son las «herramientas» concretas que ese cliente de IA puede usar para actuar sobre el sitio.</li>



<li><strong>2 de julio de 2026.</strong> Se presentó una propuesta para ampliar el catálogo de habilidades del núcleo, pensando en casos concretos como pedirle a un asistente que redacte un borrador con el resumen de los artículos publicados durante un mes, citando las fuentes originales.</li>



<li><strong>WordPress 7.1 (mediados de agosto de 2026).</strong> Esta versión es la que hace que la API sea, según los propios desarrolladores, «realmente construible»: llegaron ajustes al ciclo de ejecución de las habilidades y trabajo de preparación para que distintos programas externos puedan conectarse de forma más ordenada.</li>
</ul>



<h2 class="wp-block-heading">¿Cómo se ve esto en la práctica?</h2>



<p class="wp-block-paragraph">Un desarrollador que quiere exponer una función de su plugin como «ability» utiliza una función del núcleo llamada <code>wp_register_ability()</code>, donde define un nombre único, una descripción, qué datos necesita recibir, qué va a devolver y qué permisos son necesarios para ejecutarla. Al ser parte del núcleo de WordPress escrito en PHP, es completamente inspeccionable desde herramientas de línea de comandos como WP-CLI: cualquier desarrollador puede listar, en segundos, qué habilidades están registradas en un sitio, sin necesidad de pasar por el panel de administración ni por ningún asistente de IA. Esto la vuelve muy práctica tanto para depurar errores como para construir automatizaciones que no dependan de inteligencia artificial en absoluto.</p>



<h2 class="wp-block-heading">Lo que esto significa a futuro</h2>



<p class="wp-block-paragraph">Lo más interesante de este proyecto es hacia dónde apunta: un WordPress donde las acciones automatizadas —ya sean ejecutadas por una IA, por un script propio o por otra herramienta externa— quedan claramente declaradas, verificadas contra permisos reales, y son descubribles en el momento, en lugar de depender de integraciones improvisadas y frágiles. Es un cambio de fondo, no cosmético: WordPress se está preparando activamente para un contexto donde no solo las personas administran sitios web, sino también programas que actúan en su nombre.</p>



<p class="wp-block-paragraph">Vale la pena aclarar que todavía es un proyecto en desarrollo activo, por lo que algunos detalles de implementación pueden seguir cambiando en próximos lanzamientos. Pero la dirección ya está bastante clara, y para quienes administran o desarrollan sitios en WordPress, es un tema que conviene empezar a seguir de cerca.</p>



<p class="wp-block-paragraph">¡Saludos!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jeffsantillan.com/blog/abilities-api-wordpress-quiere-trabajar-con-inteligencia-artificial/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Flux UI en Laravel 13</title>
		<link>https://jeffsantillan.com/blog/flux-ui-en-laravel-13/</link>
					<comments>https://jeffsantillan.com/blog/flux-ui-en-laravel-13/#respond</comments>
		
		<dc:creator><![CDATA[Jeff Santillan]]></dc:creator>
		<pubDate>Fri, 21 Aug 2026 05:01:53 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Flux UI]]></category>
		<category><![CDATA[Frontend]]></category>
		<category><![CDATA[laravel]]></category>
		<category><![CDATA[Livewire]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Tailwind CSS]]></category>
		<guid isPermaLink="false">https://jeffsantillan.com/blog/?p=411</guid>

					<description><![CDATA[Flux UI en Laravel 13: la librería de componentes que por fin le da orden al &#8230; <a title="Flux UI en Laravel 13" class="hm-read-more" href="https://jeffsantillan.com/blog/flux-ui-en-laravel-13/"><span class="screen-reader-text">Flux UI en Laravel 13</span>Leer más</a>]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">Flux UI en Laravel 13: la librería de componentes que por fin le da orden al frontend con Livewire</h3>



<p class="wp-block-paragraph">Llevo un tiempo mirando de cerca los starter kits de Laravel 13, y hay algo que se repite en casi todos los proyectos nuevos que arrancan con Livewire: aparece Flux UI. No es casualidad. Cuando empecé a revisar cómo está armado el kit oficial de Livewire para Laravel 13, noté que Flux ya no es un componente más de la lista de dependencias, sino la base visual completa sobre la que se construye la aplicación. Y eso, para quienes venimos peleando durante años con Blade «a mano» o con librerías de componentes pensadas para SPA, cambia bastante el punto de partida.</p>



<p class="wp-block-paragraph">¿Qué es exactamente Flux UI?<br>Flux es la librería oficial de componentes para Livewire, construida por el mismo equipo detrás de Livewire y Alpine.js. La idea de fondo es simple: en vez de escribir un botón, un modal o una tabla desde cero cada vez, usás una sintaxis tipo HTML —algo como <code>&lt;flux:button&gt;</code> o <code>&lt;flux:modal&gt;</code>— y Flux se encarga del resto: estilos con Tailwind CSS, accesibilidad, modo oscuro y comportamiento responsive ya resueltos de fábrica.</p>



<p class="wp-block-paragraph">Lo interesante es que no reemplaza a Livewire, lo complementa. Tú sigues escribiendo tu lógica en PHP como siempre, pero el «cascarón» visual —el que normalmente te toma más tiempo del que te gustaría admitir— ya viene armado, probado y pensado para funcionar bien tanto en desktop como en mobile.</p>



<p class="wp-block-paragraph">Por qué aparece justo ahora en Laravel 13</p>



<p class="wp-block-paragraph">Acá viene la parte que más me llamó la atención. El starter kit oficial de Livewire para Laravel 13 combina Livewire, Tailwind y Flux UI como stack por defecto, dejando toda la lógica de frontend y backend directamente dentro de tu aplicación para que puedas modificarla sin pelear contra una «caja negra». Es la misma filosofía que Laravel viene aplicando con sus otros starter kits (el de React usa Inertia 3 y shadcn/ui), pero para el mundo Livewire, Flux es la pieza que faltaba: antes tenías que salir a buscar librerías de terceros o armar tu propio sistema de diseño desde cero.</p>



<p class="wp-block-paragraph">En paralelo, Flux llegó a su versión 2.0, y ahí el equipo tomó una decisión que se nota en el día a día: en lugar de integrar librerías externas de gráficos o selectores de fecha, construyeron esos componentes desde cero. El resultado son piezas más livianas —apenas unos kilobytes extra al bundle final— y, sobre todo, con menos piezas sueltas de las que depender quiero decir, menos riesgo de que una dependencia externa se rompa con una actualización.</p>



<p class="wp-block-paragraph">Cómo se usa en la práctica</p>



<p class="wp-block-paragraph">La instalación es la típica de Laravel: un </p>



<p class="wp-block-paragraph"><code>composer require livewire/flux</code> </p>



<p class="wp-block-paragraph">y dos directivas Blade (<code>@fluxAppearance</code> y <code>@fluxScripts</code>) en tu layout principal. A partir de ahí, empezás a escribir interfaces con una sintaxis bastante legible. Un ejemplo típico que vi replicado en varios tutoriales recientes de CRUD con Laravel 13 y Livewire 4 es algo así: un encabezado con <code>flux:heading</code>, un botón que abre un modal con <code>flux:modal.trigger</code>, y una tabla ordenable con <code>flux:table</code> que ya trae paginación y ordenamiento por columna resueltos. Lo que antes eran veinte líneas de Blade con clases de Tailwind repetidas por todos lados, ahora es una etiqueta con un par de atributos.</p>



<p class="wp-block-paragraph">Flux tiene un nivel gratuito bastante generoso, pensado para cubrir lo esencial: botones, dropdowns, modales, inputs, checkboxes, radios y selects. Ahí es donde vive la mayoría de las pantallas de un CRM interno o un panel de administración estándar. Cuando el proyecto necesita algo más ambicioso, entra en juego <strong>Flux Pro</strong>, con componentes como calendarios, selectores de fecha, editores de texto enriquecido, paletas de comandos y gráficos, todos construidos siguiendo la misma lógica de accesibilidad y soporte para modo oscuro.</p>



<p class="wp-block-paragraph">Lo que me parece más valioso (y lo que hay que tener en cuenta)</p>



<p class="wp-block-paragraph">Lo que más rescato de Flux es que resuelve un problema real: la brecha entre «developer backend que sabe Livewire» y «developer que además tiene que diseñar interfaces prolijas». Con componentes pensados para teclado y lectores de pantalla desde el diseño, te ahorrás una capa entera de trabajo de accesibilidad que, seamos honestos, muchas veces queda para «después» y nunca llega.</p>



<p class="wp-block-paragraph">Ahora bien, hay un matiz importante: los componentes más avanzados están detrás de una licencia Pro, así que si tu proyecto necesita gráficos, editor de texto enriquecido o un calendario completo, ese costo entra en la ecuación desde el día uno. También vale la pena mencionar que ya empezó a moverse un ecosistema alrededor de Flux —herramientas como constructores visuales de páginas tipo drag-and-drop que se apoyan en Flux UI Pro para armar módulos completos sin escribir código—, lo cual es una buena señal de adopción, pero también implica que el ecosistema todavía se está asentando.</p>



<p class="wp-block-paragraph">Conclusión</p>



<p class="wp-block-paragraph">Si estás por arrancar un proyecto nuevo con Laravel 13 y piensas usar Livewire, probar el starter kit oficial con Flux UI de entrada me parece el camino más razonable hoy. No solo por ahorrar tiempo de maquetado, sino porque te deja una base consistente de diseño desde el primer commit, algo que en proyectos que crecen con el tiempo termina siendo más valioso de lo que parece al principio. Todavía me falta llevarlo a un proyecto de producción más grande para sacar conclusiones sobre cómo escala en equipos, pero como primera impresión, Flux se siente como una herramienta hecha por gente que usa Livewire todos los días y sabe exactamente dónde duele.</p>



<p class="wp-block-paragraph">Enlaces:</p>



<ul class="wp-block-list">
<li>Flux 2: <a href="https://laravel-news.com/flux-2-livewire-ui-kit">https://laravel-news.com/flux-2-livewire-ui-kit</a> </li>



<li>Starter Kits: <a href="https://laravel.com/starter-kits">https://laravel.com/starter-kits</a> </li>



<li>Instalación: <a href="https://fluxui.dev/docs/installation">https://fluxui.dev/docs/installation</a></li>
</ul>



<p class="wp-block-paragraph">¡Saludos!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jeffsantillan.com/blog/flux-ui-en-laravel-13/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Qué es ngrok y por qué todo desarrollador termina usándolo</title>
		<link>https://jeffsantillan.com/blog/que-es-ngrok-y-por-que-todo-desarrollador-termina-usandolo/</link>
					<comments>https://jeffsantillan.com/blog/que-es-ngrok-y-por-que-todo-desarrollador-termina-usandolo/#respond</comments>
		
		<dc:creator><![CDATA[Jeff Santillan]]></dc:creator>
		<pubDate>Thu, 13 Aug 2026 20:22:52 +0000</pubDate>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[APIs]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Herramientas para Programadores]]></category>
		<category><![CDATA[Redes]]></category>
		<category><![CDATA[Testing de Webhooks]]></category>
		<guid isPermaLink="false">https://jeffsantillan.com/blog/?p=393</guid>

					<description><![CDATA[Hay un momento muy específico en la vida de cualquier persona que programa: estás construyendo algo &#8230; <a title="Qué es ngrok y por qué todo desarrollador termina usándolo" class="hm-read-more" href="https://jeffsantillan.com/blog/que-es-ngrok-y-por-que-todo-desarrollador-termina-usandolo/"><span class="screen-reader-text">Qué es ngrok y por qué todo desarrollador termina usándolo</span>Leer más</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Hay un momento muy específico en la vida de cualquier persona que programa: estás construyendo algo en tu computadora, corre perfecto en <code>localhost</code>, y de repente necesitas que <em>alguien más</em> —un servicio externo, un cliente, tu celular— lo vea. Y ahí te das cuenta de que «localhost» es, literalmente, solo tuyo. Nadie más en internet puede llegar hasta ahí. La primera vez que me topé con ese problema traté de resolverlo con configuraciones de router, redirección de puertos, hasta pensé en alquilar un servidor solo para probar un webhook. Fue un desperdicio de tiempo tremendo. Y ahí es exactamente donde entra ngrok.</p>



<h3 class="wp-block-heading">¿Qué es, en el fondo?</h3>



<p class="wp-block-paragraph">ngrok es una herramienta que crea un <strong>túnel seguro</strong> entre internet y un servidor que corre en tu máquina local. En términos simples: agarra lo que tienes corriendo en <code>localhost:3000</code> (o el puerto que sea) y le pone una puerta de entrada pública, una URL real de internet, que redirige todo el tráfico hacia tu máquina. Técnicamente funciona como un proxy inverso: crea un túnel seguro entre un endpoint público y un servicio que corre localmente, y además captura y analiza todo el tráfico que pasa por el túnel para poder inspeccionarlo o reenviarlo después.</p>



<p class="wp-block-paragraph">Para que se entienda con una analogía: imagina que tu computadora es una casa sin dirección postal. ngrok le da una dirección temporal y le pone un cartero que reenvía cada carta (cada petición HTTP) directo a tu puerta, sin que tengas que mudarte ni construir nada nuevo.</p>



<p class="wp-block-paragraph">Lo que empezó como una utilidad de tunneling relativamente simple se fue convirtiendo, con los años, en algo más ambicioso. Con el tiempo la plataforma amplió sus capacidades más allá del tunneling básico, sumando inspección y reenvío de tráfico, control de accesos y dominios estáticos, posicionándose como una herramienta más amplia de acceso para desarrollo y DevOps. Y no es un dato menor: la empresa detrás del proyecto atrajo inversión de capital de riesgo significativa, incluida una ronda de 50 millones de dólares liderada por Lightspeed Venture Partners, lo que da una idea de cuánta demanda real hay por resolver este problema tan puntual.</p>



<h3 class="wp-block-heading">El uso básico: exponer tu localhost en tres pasos</h3>



<p class="wp-block-paragraph">Aquí es donde ngrok brilla de verdad, y es lo que probablemente te trajo a leer esto. El flujo típico es así:</p>



<ol class="wp-block-list">
<li><strong>Instalas el cliente de ngrok</strong> en tu máquina (hay versiones para Mac, Windows y Linux, y también se puede correr como binario suelto sin instalación compleja).</li>



<li><strong>Levantas tu servidor local</strong> como siempre lo harías (tu API en Express, tu app en Django, lo que sea) corriendo en, digamos, el puerto 3000.</li>



<li><strong>Ejecutas un comando</strong> parecido a <code>ngrok http 3000</code>.</li>
</ol>



<p class="wp-block-paragraph">Y eso es todo. En cuestión de segundos, ngrok te devuelve una URL pública (algo como <code>https://a1b2c3d4.ngrok-free.app</code>) que cualquiera en internet puede visitar, y que reenvía cada petición hasta tu servidor local como si nunca hubiera salido de tu máquina. Mientras el túnel está abierto, tienes además una interfaz local de inspección donde puedes ver, en tiempo real, cada petición que llega: headers, body, código de respuesta, todo. Y lo mejor es que puedes reenviar esas peticiones sin tener que provocar el evento original de nuevo, algo que se agradece muchísimo cuando estás depurando.</p>



<h3 class="wp-block-heading">Dónde se usa esto en el día a día</h3>



<p class="wp-block-paragraph"><strong>Probar webhooks es, sin duda, el caso de uso número uno.</strong> Servicios como Stripe, Twilio o Shopify no te avisan de un evento (un pago, un mensaje, una compra) llamando a tu <code>localhost</code>; necesitan una URL pública real a la que enviarle esa notificación. Poder reenviar esas peticiones sin disparar de nuevo el evento original es especialmente valioso cuando se están probando manejadores de webhooks para servicios como Stripe o Shopify. Antes de ngrok, para probar esto en serio tenías que desplegar tu código a un servidor real cada vez que querías validar un cambio. Ahora simplemente corres el túnel y listo.</p>



<p class="wp-block-paragraph">Otros usos que probablemente te van a sonar familiares:</p>



<ul class="wp-block-list">
<li><strong>Mostrar una demo en vivo.</strong> ¿Tu app todavía no está desplegada pero tu jefe o un cliente quiere verla ya? Compartes el link de ngrok y listo, sin pasar por un proceso de deploy.</li>



<li><strong>Probar en el celular u otro dispositivo.</strong> Ideal para revisar cómo se ve tu web en un teléfono real, no en el simulador del navegador.</li>



<li><strong>Integraciones entre servicios en desarrollo.</strong> Cuando dos equipos están construyendo partes distintas de un sistema y necesitan que sus entornos locales se hablen entre sí.</li>



<li><strong>Trabajo remoto o colaborativo puntual.</strong> Compartir acceso temporal a algo que corre en tu máquina sin montar infraestructura.</li>
</ul>



<h3 class="wp-block-heading">Lo que hay que tener claro antes de usarlo</h3>



<p class="wp-block-paragraph">Acá viene la parte donde conviene ser honesto, porque ngrok no es magia gratuita ni una solución de producción. El plan gratuito ha cambiado bastante con el tiempo y hoy trae más límites que antes: sesiones con tiempo máximo, ancho de banda limitado, y una página intersticial de advertencia que ven los visitantes antes de llegar a tu contenido. Si necesitas un dominio propio fijo, más ancho de banda o funciones de seguridad como restricciones por IP, autenticación OAuth o políticas de tráfico personalizadas, eso ya entra en los planes pagos.</p>



<p class="wp-block-paragraph">Y aquí va el matiz más importante: <strong>ngrok es una herramienta de desarrollo y pruebas, no de hosting.</strong> No está pensada para que tu aplicación viva ahí de forma permanente ni para tráfico de producción real. Es, literalmente, un puente temporal entre tu máquina y el mundo. Para producción existen otras soluciones (VPS, servicios cloud, plataformas de despliegue) que están diseñadas para eso.</p>



<p class="wp-block-paragraph">Tampoco es la única opción del mercado (existen alternativas como Packetriot, Cloudflare Tunnel o localtunnel), pero ngrok sigue siendo, con diferencia, la más popular y la que casi todo tutorial o documentación de webhooks menciona primero.</p>



<p class="wp-block-paragraph">Lo que más me gusta de ngrok es justamente su simplicidad: resuelve un problema muy concreto «necesito que internet vea lo que tengo en mi máquina, ya, sin desplegar nada» con un solo comando. No es la herramienta que vas a usar todos los días si trabajas en producción, pero es de esas utilidades que, una vez las conoces, te preguntas cómo hacías antes para probar un webhook o mostrar una demo a último momento. Si todavía no la has probado, instalarla y correr tu primer túnel te toma literalmente cinco minutos.</p>



<p class="wp-block-paragraph">¿La usas para webhooks, para demos, o le has encontrado otro uso interesante? Me encantaría leer en qué la aplicas tú.</p>



<p class="wp-block-paragraph">Instalación:</p>



<p class="wp-block-paragraph">Pueden encontrar el instalador en la Microsoft Store</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="747" height="500" src="https://jeffsantillan.com/blog/wp-content/uploads/2026/08/image-4.png" alt="" class="wp-image-398" srcset="https://jeffsantillan.com/blog/wp-content/uploads/2026/08/image-4.png 747w, https://jeffsantillan.com/blog/wp-content/uploads/2026/08/image-4-300x201.png 300w" sizes="(max-width: 747px) 100vw, 747px" /></figure>



<pre class="wp-block-code"><code>ngrok --version</code></pre>



<figure class="wp-block-image size-full"><img decoding="async" width="508" height="72" src="https://jeffsantillan.com/blog/wp-content/uploads/2026/08/image-3.png" alt="" class="wp-image-396" srcset="https://jeffsantillan.com/blog/wp-content/uploads/2026/08/image-3.png 508w, https://jeffsantillan.com/blog/wp-content/uploads/2026/08/image-3-300x43.png 300w" sizes="(max-width: 508px) 100vw, 508px" /></figure>



<h3 class="wp-block-heading">Fuentes</h3>



<ul class="wp-block-list">
<li>Wikipedia, <a href="https://en.wikipedia.org/wiki/Ngrok">«Ngrok»</a></li>



<li>StackShare, <a href="https://stackshare.io/ngrok/vs/packetriot">comparación ngrok vs. Packetriot</a></li>



<li>Pangea, <a href="https://pangea.app/glossary/ngrok">glosario: qué es ngrok</a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://jeffsantillan.com/blog/que-es-ngrok-y-por-que-todo-desarrollador-termina-usandolo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
