YouTube2Text

Esto es Clean Architecture en 20 minutos | Todo lo que necesitas saber — Transcript

by Gentleman Programming · 3,068 words · 457 segments · language en · Watch on YouTube

Full transcript

  1. 0:00vamos a hacer una cercanía a lo que es
  2. 0:01los conceptos de Clean architecture y de
  3. 0:03ahí vamos a pasar también a la parte de
  4. 0:05la hexagonal architecture pero
  5. 0:08primero antes de hablar del la hexagonal
  6. 0:10Tenemos que hablar de la Clean y es por
  7. 0:12algo es un algo muy interesante y es que
  8. 0:15son una serie de conceptos realmente son
  9. 0:17una serie de principios que todos
  10. 0:20tendríamos que tener bastante asimilados
  11. 0:22y estar familiarizados estos conceptos
  12. 0:25como bien lo dice uncle Bob que es el
  13. 0:27creador de los mismos dice bueno
  14. 0:30escuchame una cosa la verdad hay muchas
  15. 0:32ideas ahora mismo esas ideas vienen de
  16. 0:35la parte de la hexagonal de la parte de
  17. 0:37la onion de la parte de las gam
  18. 0:39architecture de la parte de etcétera hay
  19. 0:41muchas ideas muchas filosofías pero
  20. 0:42todos hacen lo mismo que es separar
  21. 0:45concern s separation of concerns que
  22. 0:47cada cosita está atomizada tenga su
  23. 0:49propia lógica y Tratamos de diferenciar
  24. 0:52y separar las cosas de una manera que
  25. 0:54podamos trabajar de una manera cómoda
  26. 0:56que podos escalar podemos mantener bien
  27. 1:00Entonces es
  28. 1:02[Música]
  29. 1:08así vamos a empezar con lo siguiente
  30. 1:10nosotros tenemos que identificar que la
  31. 1:12Clean architecture per una forma muy
  32. 1:14fácil de pensarlo es que tenemos un
  33. 1:16dominio esto Vamos a ponerle d luego
  34. 1:19vamos a tener la parte de use cases le
  35. 1:22vamos a poner una u luego vamos a tener
  36. 1:24también la parte de adapters le vamos a
  37. 1:27poner una a Y por último de todo vamos a
  38. 1:29tener la parte externa que le vamos a
  39. 1:31poner una e bien entonces cómo hay que
  40. 1:35pensar esto de representa dominio domain
  41. 1:41cuando hablamos de domain estamos
  42. 1:43hablando de
  43. 1:45lógica de negocios y nos quedamos acá no
  44. 1:49también a esto le vamos a sumar lo que
  45. 1:52son entidades bien más entidades ahí lo
  46. 1:56tenemos Y por qué hacemos esto qué es
  47. 1:58esto lógica de negocios qué es esto
  48. 1:59entidades Bueno es muy
  49. 2:02fácil yo le voy a mostrar una forma que
  50. 2:06es imposible equivocarse esto así no más
  51. 2:08se los digo eh que es la forma que yo lo
  52. 2:09vengo explicando hace muchísimo tiempo y
  53. 2:11me encanta explicarlo que es esta
  54. 2:13cualquier cosa que sea un requerimiento
  55. 2:18el cual no depende de la
  56. 2:21tecnología estamos hablando que es
  57. 2:23lógica de negocios bien Qué quiere decir
  58. 2:27esto si yo les digo que siempre Este
  59. 2:30ejemplo Ya sé que es muy repetitivo pero
  60. 2:31es muy fácil si yo digo que tengo una
  61. 2:35aplicación y la persona que se puede
  62. 2:37loguear y utilizar la aplicación o
  63. 2:39registrarse tiene que ser mayor de 18
  64. 2:41años hay en algún lugar una parte
  65. 2:45técnica que me diga tiene que ser así
  66. 2:47porque si no la aplicación no funciona
  67. 2:49no no se ve limitado por la tecnología
  68. 2:52el requerimiento por lo cual es lógica
  69. 2:55de negocios es así de fácil eh es así de
  70. 2:57fácil y cuando esa lógica de negocios se
  71. 2:59aplica en más de un proyecto de una
  72. 3:02empresa estamos diciendo ahora que la
  73. 3:03lógica de negocios pasa a ser una lógica
  74. 3:05de organización una lógica
  75. 3:09organizacional bien entonces Qué es una
  76. 3:12entidad son las diferentes justamente
  77. 3:15entidades que van a estar funcionando en
  78. 3:18nuestra aplicación una entidad sería
  79. 3:20usuario si es una aplicación bancaria
  80. 3:23banco un banco cualquier cosa que tenga
  81. 3:26que ver o que un decir en la lógica de
  82. 3:29negocio
  83. 3:31que se ve referenciado ahí luego vamos a
  84. 3:33tener la siguiente que es la u que
  85. 3:35hablábamos que era los Us cases y los
  86. 3:40use cases no son más que los
  87. 3:43requerimientos que vienen por la lógica
  88. 3:45de aplicación Entonces vamos a agarrar
  89. 3:47vamos a borrar Us ya sabemos lo que es
  90. 3:49lo identificamos por la u Y esto es
  91. 3:54lógica de
  92. 3:57aplicación y Cómo sabemos que es una
  93. 3:59cada aplicación porque ahora sí vamos a
  94. 4:03estar limitados por la
  95. 4:04tecnología ustedes sabían por ejemplo a
  96. 4:07ver voy a hacer una consulta están
  97. 4:09atentos Están así atentos a todo lo que
  98. 4:12le voy a decir porque se viene una
  99. 4:14pregunta A ver qué me dicen un mensaje
  100. 4:17de error en un formulario es lógica de
  101. 4:20negocios o lógica de
  102. 4:23aplicación Qué es gente a ver lógica de
  103. 4:27negocios escriban uno lógica aplicación
  104. 4:30escriban dos un mensaje de error es
  105. 4:32lógica de aplicación o es lógica de
  106. 4:36negocios
  107. 4:38Mmm se la están jugando mucho eh bueno
  108. 4:42todos aquellos que respondieron lógica
  109. 4:45de
  110. 4:46aplicación mal no es lógica de
  111. 4:49aplicación qué restricción técnica nos
  112. 4:53dice a nosotros escuchen bien qué
  113. 4:55restricción técnica tenemos nosotros
  114. 4:57para decir brom password
  115. 5:01ninguna o no el copy del mensaje de
  116. 5:06error no nos importa es lógica de
  117. 5:10negocios bien Ahí está el problema ahora
  118. 5:14el mensaje es lógica de negocios si
  119. 5:16nosotros ahora nos vamos a cómo
  120. 5:18mostramos ese mensaje ahí ya estamos
  121. 5:21hablando de lógica de aplicación se
  122. 5:23entiende y Cómo sabemos esto porque que
  123. 5:26lo mostremos en mensaje en rojo que lo
  124. 5:28mostremos con un papá que lo mostremos
  125. 5:30con alerta que lo mostremos con un
  126. 5:32tooltip que lo mostremos que la caja
  127. 5:34alrededor del input donde nosotros
  128. 5:36estamos escribiendo se ponga en rojo eso
  129. 5:37es lógica de aplicación porque es un use
  130. 5:40Case bien cómo lo voy a mostrar si se va
  131. 5:44a ver restricto por la
  132. 5:46tecnología por ejemplo ux un reex sería
  133. 5:50lógica de negocios exactamente por
  134. 5:52ejemplo que un campo Sí o sí tenga quec
  135. 5:55un mail por
  136. 5:58qué yo no podría poner por ejemplo input
  137. 6:01de tipo String y decir mete el mail ahí
  138. 6:04adentro si no hay una restricción
  139. 6:06técnica que me dice esto tiene que ser
  140. 6:08mail bien es una restricción de negocios
  141. 6:11Entonces eso es lo que tenemos que
  142. 6:12tratar se entiende de hacer estas
  143. 6:14diferenciaciones cómo vamos a saber de
  144. 6:16vuelta que es una lógica de aplicación
  145. 6:18porque la tecnología influye y no
  146. 6:20solamente porque la tecnología influye
  147. 6:22sino también porque si cambia
  148. 6:25algo va a verse impactado si yo les digo
  149. 6:29por
  150. 6:30ejemplo tienen que hacer un register
  151. 6:33donde la persona que tenga mayor de 18
  152. 6:35años sea la única que se puede loguear
  153. 6:37pero es register tiene que tener un
  154. 6:38formulario Mostrar los mensajes de error
  155. 6:40en formato de alertas Perdón en mensaje
  156. 6:42rojo abajo del input y además de eso
  157. 6:44cuando aplicamos submit tiene que tirar
  158. 6:46un mensaje diciendo success bien de todo
  159. 6:49eso qué es lo único que es regla de
  160. 6:52negocio qu van a decir los mensajes y
  161. 6:55que tiene que ser mayor de 18 años el
  162. 6:57usuario ya está bien si tiene mail Bueno
  163. 7:00también que sea un mail fantástico pero
  164. 7:02todo lo otro tiene un impacto todo lo
  165. 7:06otro si alguien va y cambia un use Case
  166. 7:08en vez de una alerta digo de un mensaje
  167. 7:10en rojo ahora Quiero un popup Me
  168. 7:12rompiste todo prácticamente no estamos
  169. 7:15teniendo un impacto sobre la lógica de
  170. 7:18aplicación bien la lógica de aplicación
  171. 7:20sí se va a ver impactada cuando cambia
  172. 7:22el use Case la lógica de negocios ya
  173. 7:24viene la parte más importante pero
  174. 7:26terriblemente importante que se llama la
  175. 7:29la regla de las dependencias si es o la
  176. 7:32regla del dominio Mejor dicho Perdón es
  177. 7:34que El dominio es Intocable nada tiene
  178. 7:37que afectar del El dominio nada sino que
  179. 7:41los use cases y lo demás todo tiene que
  180. 7:43dar soporte a que se pueda cumplir la
  181. 7:47lógica de negocios bien y ahí está la
  182. 7:50segunda funcionalidad tan bonita de la
  183. 7:53lógica de aplicación la lógica de
  184. 7:55aplicación no solamente va a dar
  185. 7:57justamente los use cases sino que
  186. 7:59también ojo con esto la lógica de
  187. 8:01aplicación va a acercar las entidades a
  188. 8:04la lógica de negocios un
  189. 8:08usuario tiene que ser mayor de 18 se
  190. 8:13entiende acercamos la entidad usuario
  191. 8:16con el caso de uso mayor de 18
  192. 8:19años sí ojo con lo de servicio con todo
  193. 8:23eso no se metan tanto todavía ustedes
  194. 8:25olvídense traten de que lo que yo les
  195. 8:27estoy diciendo ahora no tiene todavía
  196. 8:29implement real son ideas son conceptos
  197. 8:32son
  198. 8:33justamente ideales sí se podría decir
  199. 8:36son una serie de principios Ahí está sí
  200. 8:39olvídense servicios eso olvídense
  201. 8:41estamos hablando de ideales acá ahora va
  202. 8:45a pasar algo van a ver que me voy a
  203. 8:47saltear un concepto ahora que es que
  204. 8:49nosotros vamos a necesitar Igualmente
  205. 8:52cosas externas
  206. 8:54no Qué es una cosa externa cualquier
  207. 8:57cosa que pueda cambiarse sí totalmente
  208. 9:00un requerimiento un Perdón un recurso a
  209. 9:03mí me gusta decirle recursos es e un
  210. 9:06recurso el cual nosotros Ah es un
  211. 9:11recurso el cual nosotros estamos
  212. 9:12utilizando dentro de nuestra aplicación
  213. 9:14bien pero que el día de mañana puede
  214. 9:16cambiar por ejemplo una apicol ojo con
  215. 9:19esto m eh Por ejemplo una apicol por
  216. 9:23ejemplo ahora por qué se los digo además
  217. 9:26de eso bien un recurso como yo les decía
  218. 9:30tiene que ser totalmente intercambiable
  219. 9:31tiene que ser algo que se pueda sacar
  220. 9:33poner sin ningún tipo de problemas Okay
  221. 9:39entonces este recurso también como bien
  222. 9:41lo dijimos es externo no es
  223. 9:44nuestro bien no es nuestro puede ser por
  224. 9:47ejemplo un servicio externo no es
  225. 9:50nuestro entonces acá viene el problema
  226. 9:54cómo hacemos nosotros para que nuestro
  227. 9:55código sea mantenible y a la vez pua
  228. 9:59comunicarse con el mundo exterior y que
  229. 10:01si el mundo exterior cambia por alguna
  230. 10:03razón Mi aplicación no se ve
  231. 10:06impactada ahí viene el jueguito s Ahí
  232. 10:11viene el jueguito y la cosa linda de
  233. 10:13todo esto y es una gente se viene viene
  234. 10:18una de las capas que más les cuesta a
  235. 10:21todo el mundo que es la a la adapter
  236. 10:26bien la famosa adapter
  237. 10:29Y por qué les estoy diciendo esto porque
  238. 10:33Generalmente nosotros lo que vamos a
  239. 10:35hacer sí es esto tiene como una lógica
  240. 10:38tiene como un sentido nosotros hacemos
  241. 10:41todo para que El dominio sea lo que no
  242. 10:44se pueda tocar y todo depende del
  243. 10:46dominio si nosotros vemos las cosas
  244. 10:49veríamos una flechita que sería algo y
  245. 10:52vamos a hacerlo con el color blanco si
  246. 10:54les parece que sería algo así Y por qué
  247. 10:56es esta flechita porque El dominio no
  248. 10:59sabe lo que pasa en el en los casos de
  249. 11:01uso bien el adapter no sabe perdón eh de
  250. 11:06vuelta El dominio no sabe lo de adapter
  251. 11:08El dominio no sabe de las partte externa
  252. 11:10les da igual le da totalmente igual
  253. 11:12entonces hay una flecha y esa flecha es
  254. 11:15porque hacia arriba va a ir la
  255. 11:17información sí y qué quiere decir de
  256. 11:20vuelta que la flecha vaya hacia afuera
  257. 11:21que de afuera hacia dentro no tiene ni
  258. 11:23idea sí no tiene ni idea pero y ahí
  259. 11:28viene el problemita que todo el mundo no
  260. 11:29entiende es que el
  261. 11:31adapter sí tiene doble flecha porque es
  262. 11:36justamente que se comunica con la parte
  263. 11:37de afuera y con la parte de adentro bien
  264. 11:42se entiende se puede pensar si les
  265. 11:45gustaría Porque mucha gente lo piensa
  266. 11:47así y no lo veo tan mal un
  267. 11:50middleware bien un famoso middleware es
  268. 11:54algo intermedio que va a adaptar las
  269. 11:56cosas de los dos lados alen conven neces
  270. 11:59experiencia aprender sí totalmente y
  271. 12:02porque esto se aplica en muchas cosas yo
  272. 12:05lo aplico en parte de react lo aplico en
  273. 12:07angular Lo aplico eh en backend como ya
  274. 12:10lo van a ver un montón entonces ahí me
  275. 12:12está diciendo es un mapper no es
  276. 12:13solamente un mapper es un adaptador
  277. 12:16puedes hacer lo que quieras all adentro
  278. 12:17hay mucha gente que hasta tiene lógica
  279. 12:19dentro de los adaptadores Eso depende de
  280. 12:21uno cómo lo queramos hacer Entonces
  281. 12:24vamos a dar un ejemplo un ejemplo sería
  282. 12:26ustedes me dijeron una Api Bueno yo
  283. 12:29tengo acá una Api No acá acá eh ahí
  284. 12:34tengo una Api esa Api me va otorgar una
  285. 12:37cierta información que puede ser eh No
  286. 12:40sé user bien Me da datos de un usuario
  287. 12:44una base de datos puede ser
  288. 12:45tranquilamente una base de datos es algo
  289. 12:47externo de mi aplicación el día de
  290. 12:49mañana yo podría cambiar y lo
  291. 12:51podría cambiar por lo que se me cantes
  292. 12:53por sql o por lo que quiera bien
  293. 12:55entonces me da igual cómo está guardado
  294. 12:59de la información es información y listo
  295. 13:01eso es lo que a mí me importa de mi
  296. 13:03aplicación mi aplicación quiere los
  297. 13:05datos del usuario cómo esté guardada
  298. 13:06almacenado de esos usuarios me da igual
  299. 13:09Entonces yo lo que voy a hacer es
  300. 13:11justamente decir si yo en mi repositorio
  301. 13:14tengo que un usuario se llama
  302. 13:18usuario nombre
  303. 13:20Eh apellido pero en mi aplicación en mi
  304. 13:24aplicación entera esta parte de acá
  305. 13:26dentro Sí mi aplicación entera yo esto
  306. 13:29digo que es user name y password estamos
  307. 13:33diciendo que tenemos cosas diferentes no
  308. 13:36Por más que uno esté en español y otro
  309. 13:38esté en inglés y los dos sean lo mismo
  310. 13:40se escriben diferente ya con que se
  311. 13:41escriban diferentes son cosas diferentes
  312. 13:43entonces ahí viene el concepto del
  313. 13:46adapter el adapter lo que va a hacer es
  314. 13:49Si recibe una petición des desde la
  315. 13:51aplicación hacia fuera c Api bueno va a
  316. 13:55venir le pega a ese adapter ese adapter
  317. 13:59va a modificar la información de la
  318. 14:01aplicación para que la entidad externa
  319. 14:04lo pueda entender y así utilizar
  320. 14:07entonces yo te puedo decir yo quiero por
  321. 14:09digamos que tenemos una que es get user
  322. 14:10y ese get user utiliza en la propiedad
  323. 14:13user y tú le tienes que pasar Cuál es el
  324. 14:16user pero tu aplicación bien dice
  325. 14:19usuario por ejemplo vamos a hacer la
  326. 14:21contra dice usuario entonces tú tienes
  327. 14:23que mapear usuario a user le pegas a Api
  328. 14:26con esa información la Api te va
  329. 14:30password Y eso lo vas a mapear y lo vas
  330. 14:33a transformar a usuario nombre apellido
  331. 14:37y todo funciona espectacular bien y
  332. 14:40ahora les voy a hacer una pregunta el
  333. 14:43fren Dónde está dentro de todo
  334. 14:46esto Qué es dominio Us Case adapter
  335. 14:51parte
  336. 14:52externa Qué es el
  337. 14:55FR se di externo quién más
  338. 15:02acá no dice
  339. 15:05presentador solamente quiero saber la
  340. 15:06capa la
  341. 15:10layer ojo que todavía no estamos en
  342. 15:13hexágonos no Hemos llegado eso estamos
  343. 15:15en otra parte esto
  344. 15:17arit bien Ok entonces alguien me dice
  345. 15:21adapter Perfecto es externo y que todo
  346. 15:26el mundo encanta el ena encanta react
  347. 15:29les encanta next les encanta todo esto
  348. 15:33pero gente somos algo que que somos una
  349. 15:38basurita bien somos imprescindibles la
  350. 15:41verdad m somos totalmente prescindibles
  351. 15:43Mejor dicho nos pueden cambiar en
  352. 15:45cualquier momento si hoy el día de hoy
  353. 15:48usamos react o usamos angular o usamos
  354. 15:50SP usamos lo que
  355. 15:53queramos nadie depende de nosotros
  356. 15:55Nosotros dependemos de todos bien por
  357. 15:58esoo siempre digo no importa el
  358. 15:59framework que tú utilices o librería
  359. 16:02puedes llegar al mismo objetivo
  360. 16:03totalmente que es cumplir los objetivos
  361. 16:05de la lógica de negocios mientras
  362. 16:07cumplamos con los objetivos de la lógica
  363. 16:09de negocios estamos bien entonces por
  364. 16:11eso también les digo no sean frame
  365. 16:13workers sean ingenieros sean
  366. 16:16desarrolladores bien no sean frame
  367. 16:18workers piensen en las cosas no se
  368. 16:20queden en un solo framework hay muchos
  369. 16:22frameworks en muchas librerías que
  370. 16:24pueden hacer exactamente lo mismo y lo
  371. 16:26hacen solamente que algunas según los
  372. 16:28requerimientos y recursos que nosotros
  373. 16:30dispongamos son mejores para eso que
  374. 16:33necesitamos y por ahí el día de hoy es
  375. 16:35fantástico usar Astro porque tenemos un
  376. 16:39una aplicación que tiene unos requisitos
  377. 16:42de contenido muy estático y funciona
  378. 16:44espectacular obviamente podos meter
  379. 16:45rectángulo Lo que ustedes quieran no
  380. 16:47genial pero por ahí el día de mañana
  381. 16:49tenemos una aplicación Ultra robusta con
  382. 16:52buenos requisitos sí que ya están muy
  383. 16:54bien establecidos tenemos diseños
  384. 16:56tenemos todo tiene contenido muy
  385. 16:58Dinámico angular fantástico angular
  386. 17:01ahora al revés tenemos una aplicación
  387. 17:03que tiene los requisitos muy dinámicos
  388. 17:05estamos todavía buscando nuestro Nicho
  389. 17:07es una startup no sabemos lo que
  390. 17:09queremos estamos probando probando mucho
  391. 17:11prototipado por angular no es lo mejor
  392. 17:13porque peca En ese sentido angular no es
  393. 17:17tan estructurado que nos puede tirar
  394. 17:19para atrás Entonces vamos a react nos
  395. 17:21vamos a SP nos vamos a otro tipo de
  396. 17:23tecnologías se entiende que nos dé esa
  397. 17:25mayor flexibilidad a consta de robustez
  398. 17:28[Música]
  399. 17:30Entonces nosotros somos externos somos
  400. 17:33algo totalmente prescindible que nos
  401. 17:34podemos nos pueden intercambiar en
  402. 17:36cualquier momento Sí después de eso
  403. 17:40también otra cosa muy muy muy mu muy
  404. 17:42importante
  405. 17:44es Dónde está un browser ojo lo que les
  406. 17:48acabo de decir eh Dónde está la web
  407. 17:50Dónde está el browser en estas capas qué
  408. 17:52layer gente a ver qué me dicen Esto va a
  409. 17:55est
  410. 17:57increíble dónde está el
  411. 17:59browser ahí me dice se
  412. 18:06adapter externo externo adáptate Okay
  413. 18:10adapter externo externo externo externo
  414. 18:12externo lógica de aplicación adapter
  415. 18:14adapter Bueno hay una buena pelea entre
  416. 18:17adapter y externo y les voy a decir que
  417. 18:19los que dijeron externo Esta vez sí bien
  418. 18:22hecho es externo el browser es
  419. 18:24totalmente externo y cuál es el adapter
  420. 18:27quién me lo puede decir cómo nos
  421. 18:28comunicamos con los
  422. 18:31browsers con qué algo que utilizan todos
  423. 18:35los días Eso es lo peor de
  424. 18:36todo muy bien el dom exactamente es el
  425. 18:41dom ustedes bien el browser entiende
  426. 18:45javascript ustedes utilizan el dom para
  427. 18:47manejar los templates de lo que se
  428. 18:50renderiza en el browser Y también
  429. 18:52gracias a esto pueden hacer document.get
  430. 18:55Element by ID que esto que lo otro se
  431. 18:56están comunicando a través de una Api
  432. 18:59porque sí gente el dom es una una Api
  433. 19:02para poder comunicarnos en este caso con
  434. 19:05el browser y nosotros de esta misma
  435. 19:08manera Sí si el día de mañana Ahí viene
  436. 19:11la gracia del adapter si el día de
  437. 19:14mañana la gente hermosísima bien que
  438. 19:17codifica todos estos browsers dice Mira
  439. 19:19para hacer un document getm byid vamos a
  440. 19:21cambiar toda la lógica la miércoles
  441. 19:23vamos a tirar todo lo que está hecho y
  442. 19:24lo vamos a hacer de vuelta porque vimos
  443. 19:25que es totalmente es poco performante no
  444. 19:29me sirve no me funciona no me gusta eh
  445. 19:32vamos a hacerlo otra manera genial les
  446. 19:35impacta a
  447. 19:36ustedes no no les impacta para nada
  448. 19:40porque ustedes van a seguir utilizando
  449. 19:41el adapter que es
  450. 19:43getl se entiende Ahí va la gracia Ahí va
  451. 19:48la gracia la parte escalable la parte
  452. 19:50mantenible les da igual la otra parte
  453. 19:53ustedes Solamente les importa lo que
  454. 19:55llega a su aplicación y si hay algo que
  455. 19:58es lo que ustedes esperaban lo adaptan
  456. 20:01Ahí viene la gracia bien se entendió o
  457. 20:03no se entendió

About this transcript

This page contains the full transcript of Esto es Clean Architecture en 20 minutos | Todo lo que necesitas saber by Gentleman Programming, generated from the public captions YouTube serves with the video. The transcript has 3,068 words across 457 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.