1
2
3
Editorial
Un nuevo número de CaveNation en donde estaremos abordando nuevos temas. Nuestro tema central en esta edición es el gran tema de informática: los hackers. Este es un tema de gran controversia ya que en ciertos casos rompe las reglas éticas de nuestra carrera, pero en otros casos ayuda a hacer un mundo mucho más seguro.
Te damos también información sobre las organizaciones que ofrecen becas para los estudiantes guatemaltecos, si alguna vez has pensado en continuar tus estudios en el extranjero. ¡No te pierdas este artículo! Ya que podrás estudiar en países cercanos como Canadá, Estados Unidos o en países lejanos como Japón.
Existe el famoso grupo Anonymus que es una comunidad de hackers que tiene representación en todos los países del mundo. En Guatemala, por ejemplo, se han conocido de sus acciones como el hackeo a las páginas gubernamentales y la filtración de información gubernamental importante. Unos de los artículos de esta edición se trata de cómo Anonymus hackeó la Superintendencia de Administración Tributaria (SAT) este mismo año.
El desarrollo web es un campo que le interesa a muchos estudiantes de nuestra carrera, es por eso que te traemos todo lo que necesitas saber para convertirte en el mejor desarrollador web. Desde herramientas y lenguajes más básicos, hasta los frameworks y lenguajes de mayor complejidad.
Además, veremos también cómo fueron animados los dragones de la famosa serie estadounidense Game of Thrones y la curiosa e inesperada fuente de inspiración de los animadores. Para la entrevista de esta edición tuvimos el gusto de trabajar con Selva Interactive, un estudio guatemalteco de desarrollo de videojuegos creado por dos estudiantes de la UVG. Ellos nos contaron su experiencia al publicar su videojuego Nanuleu y nos dieron consejos para las personas interesadas en el campo.
Por último, pero no menos importante, te traemos las noticias más relevantes del mundo de los videojuegos. Kirby, nuestra bolita rosada favorita, está cumpliendo… ¡25 años! Y lo celebramos con un artículo dedicado a él. Veremos también que Cygames, empresa japonesa de videojuegos móviles, hace historia convirtiéndose en patrocinadora de uno de los equipos más importantes del fútbol europeo, la Juventus. No te pierdas ninguno de los artículos de esta edición ¡Te aseguro que te van a encantar! Todos los del equipo nos sentimos muy orgullosos del resultado. Como siempre, recuerda mandar tus comentarios a cavenation-lst@uvg.edu.gt. ¡Recuerda que Douglas premia a los mejores comentarios! Gracias por leernos.
4
fire and blood No me lograría explicar bajo qué piedra vives si nunca has al menos escuchado de la existencia de la gran serie televisiva estadounidense Game of Thrones (GOT). Esta serie de fantasía medieval llena drama, aventuras y muchas características más, te engancha desde un inicio a la excelente historia creada por David Benioff y D.B. Weiss para la cadena HBO. Sin embargo, hablar de GOT es aventurarse a un gran mundo lleno de complejidades, por lo que en esta oportunidad solo comentaré acerca de los majestuosos dragones que ayudan a dar vida a esta gran serie. En la serie, se creía que los dragones ya estaban extintos hasta que Daenerys Targaryen logró eclosionar tres huevos de dragón petrificados. Pero, ¿qué es exactamente un dragón? Los dragones son inmensos reptiles alados pertenecientes a una de las razas más antiguas que existe en la mitología. Poseen escamas, dos patas y dos alas. Además, tienen dientes y garras afiladas, cuellos y colas largas y crestas espinosas en el lomo. Daenerys nombró a sus dragones Drogon, Rhaegal y Viserion. Ahora bien, en la parte más técnica del asunto, la creación de estas descomunales criaturas no es nada fácil. La compañía encargada de esta gran labor es Pixomondo. No te lo creerías si te dijera que como base para diseñar a los dragones de GOT, dicha compañía
decidió usar una gallina que sacaron de un supermercado cercano. Esto con el fin de darse una idea sobre cómo deberían funcionar los músculos de los dragones. Aunque, por supuesto, para crear los efectos visuales que sorprenden a millones de personas en el mundo, se necesita más que gallinas. El equipo encargado de los efectos visuales utiliza una variedad de software de modelado de arcilla, tales como ZBrush, para diseñar a los inmensos y peligrosos dragones que puedes observar en GOT. En conclusión, se necesita talento, paciencia, amor al arte y un buen equipo tanto técnico, como humanístico. Así que, si no has tenido la oportunidad de ver GOT y conocer a sus famosos dragones… ¿Qué estás esperando?
5
¡Feliz cumpleaños… ¿KIRBY?! 25 años han pasado de la llegada de Kirby’s Dream Land y, desde entonces, nuestra adorable bola rosa ha participado en un montón de aventuras. Entre estas aventuras, figura el hecho de haber protagonizado en 29 juegos para los diversos sistemas Nintendo, los cuales han dejado una pequeña marca en nosotros al acompañarnos en varios momentos de nuestra vida. Fue exactamente el 27 de abril de 1992 cuando se lanzó en Japón dicho videojuego y unos pocos meses después fue estrenado en Europa, concretamente el 03 de agosto del mismo año. No debe sorprendernos que Nintendo haya planeado celebrar el 25º aniversario de Kirby. Para esto, estará en nuestras manos dos nuevos juegos de la franquicia: Kirby’s Blowout Blast y Kirby Clash Deluxe. Adentrándonos un poco más en la historia de esta pequeña bola rosa que no puede contener su hambre, es relevante mencionar que es Masahiro Sakurai el famoso creador de Kirby y, a sus 19 años, afrontaba ya su primer proyecto como director dentro de las filas de HAL Laboratory. Sakurai mencionó, en una de las tantas entrevistas que ha realizado al respecto, que inicialmente nuestra querida bola rosa con zapatos fue llamada Popopo, pero entre su equipo y él decidieron cambiarle el nombre por el que ahora conocemos: Kirby. Esto en honor a John Kirby, uno de los abogados que defendió a Nintendo en su enfrentamiento con Universal por la supuesta similitud entre Donkey Kong y King Kong.
Ahora bien, con respecto al color de Kirby, Miyamoto quería que fuera de color amarillo, sin embargo, Sakurai ganó en este aspecto y consiguió que quedara como la bolita rosada que conocemos y amamos. Otra de las características que siempre ha tenido el personaje es que no habla, además de sus enormes pies siempre protegidos por unas zapatillas rojas, ¿curioso no? Esperemos que nos sorprendan con muchas más aventuras de Kirby en los próximos años y que muchas más generaciones sean capaces de identificar a nuestro pequeño amiguito como nosotros lo hacemos.
6
Procesador Intel Core i9 El año pasado Intel nos sorprendió con su procesador de diez núcleos, pero este año rompen su récord con su nuevo procesador de ¡18 núcleos! Este procesador es lo mejor en multitarea que se puede encontrar actualmente en el mercado. El procesador es para personas que requieren de mucho poder para realizar sus trabajos, por lo que no se espera que el usuario promedio lo utilice. Su precio será de 1,999 USD y será ideal para renderizar videos de alta calidad de manera rápida. Además, Intel asegura que será capaz de manejar juegos en 4K mientras se retransmiten en Twitch con calidad HD. Aquellos que no necesiten tanta potencia, podrán elegir otros modelos “más económicos” de 16, 14, 12 y 10 núcleos, siendo este último el modelo más barato de 999 dólares. Todos los procesadores tienen una frecuencia base de 3,3 GHz con un tope en el modo Turbo Boost 2.0 de 4,3 GHz y de 4,5 GHz con el Turbo Boost 3.0. Debido a la potencia bruta de los nuevos procesadores, Intel ha tenido que desarrollar un sistema de refrigeración líquida para poder controlar el calor generado por sus cerebros.
Queda bastante claro que Intel ha sabido traer un nuevo producto para llamar la atención de los usuarios más entusiastas y que estos nuevos procesadores no estarán al alcance de todo el mundo, pero sin duda serán los más potentes del mercado.
7 Selva Interactive es un estudio de desarrollo de videojuegos de Guatemala creada por dos estudiantes de Ciencias de la computación de la UVG. Tuvimos el placer de poder hacerles una entrevista acerca de su experiencia como desarrolladores y su proceso creativo. ¿Cómo fue su experiencia al desarrollar y publicar Nanuleu en Steam? Nanuleu es el primer juego comercial que hicimos y aprendimos que es bastante trabajo desarrollar y publicar un juego. La parte más sencilla y divertida es el prototipo o la versión inicial, ya que uno se enfoca en las mecánicas principales. Después viene el proceso de pulirlo, donde se debe poner mucha atención a los detalles y hacer varias iteraciones del proyecto para que cada vez vaya quedando mejor. Una de las cosas que más nos costó fue determinar el nivel de dificultad justo para el juego, ya que nosotros que lo desarrollamos lo habíamos jugado muchas veces y sentíamos que estaba muy fácil. Para publicar en Steam tuvimos que pasar por el proceso de Greenlight, donde la comunidad vota si el juego debería estar o no en Steam. Este sistema ya cambió y ahora es más fácil poder publicar, pues solo se debe hacer un pago de $100 por juego para poder publicar en esta tienda. La parte en la que tuvimos deficiencias fue el marketing y aprendimos que tenemos que ponerle más importancia para futuros proyectos. ¿Cuántas personas trabajaron en Nanuleu? Dos, ambos graduados de la carrera de Ciencias de la Computación UVG. Carlos Villagrán se encargó del diseño de juego y programación y Alhvi Balcarcel del arte y programación. La música y los efectos de sonido los adquirimos en páginas web que se dedican a la venta de estos recursos. ¿Qué los inspiró a ser desarrolladores de videojuegos? Desde pequeños nos han gustado mucho los videojuegos. Lo que más nos inspira es la creatividad de la gente que trabaja en este campo, la capacidad de los videojuegos de captar tu atención completa, provocar en ti sentimientos y ponerte a pensar para resolver problemas o reflexionar acerca de un tema
específico. En su opinión, ¿cuál es el mejor engine? ¿Y cuál recomiendan para aprender los basics? Nosotros utilizamos Unity ya que es bastante completo y permite exportar a las plataformas más importantes. Pero en realidad depende del tipo de juego y plataforma para la que deseen desarrollar. Otras buenas opciones son Game Maker y Unreal Engine. ¿Qué consejos le darían a alguien que desea ser desarrollador? Que empiecen a desarrollar pequeños proyectos, que participen en eventos como los game jams, donde se aprende mucho en poco tiempo. Que no tengan miedo a aprender y probar por su cuenta. Que muestren lo que hacen a los demás. Que prueben muchos juegos diferentes, ya que esto les ayudará a tener más ideas y ver cómo otra gente ha solucionado problemas que se les presentarán. Que se inspiren también en otras áreas de la vida que les gusten, para que logren crear algo diferente. Les recomendamos que vean el canal de YouTube de Extra Credits y que se unan a la comunidad de GameDevGT en Facebook. ¿Están trabajando en algún nuevo proyecto? Sí, estamos trabajando en un juego móvil que se llama Highwind, esperamos que esté listo para inicios de octubre. Le agradecemos a Carlos y Alhvi por tomarse el tiempo de responder nuestras preguntas y por sus consejos. Síganlos en Facebook como Selva Interactive y estén atentos a su nuevo juego, Highwind.
8
¿Qué Es y Qué No Es Un Hacker?: El Concepto, S Normalmente cuando las personas escuchan la palabra hacker lo asocian con un delincuente o criminal de la web, con personas que esconden su verdadera identidad o que utilizan sus habilidades en programación para romper sistemas de seguridad y arruinar los sistemas del gobierno. Sin embargo, no todos los hackers son así y en el siguiente artículo hablaremos un poco sobre cómo se originaron estas personas y cómo es que se les comenzó a asociar con las acciones descritas anteriormente, pero sobre todo, veremos quiénes son realmente estas personas y cuáles son sus verdaderas intenciones. Antes de hablar sobre los hackers hay que definir el origen de esta palabra y cuál es el verdadero significado detrás de ella. Cuando se habla de los primeros hackers, todos están de acuerdo con el hecho de que cerca del año 1959, las personas del Instituto Tecnológico de Massachussets (MIT) fueron los primeros en adoptar esta cultura y de atribuírsela a un grupo de personas que solucionaban problemas técnicos, pero ¿de dónde viene esta palabra? La palabra hack normalmente se asocia a los árboles, ya que significa cortar o hachar, pero se relacionó con la computación porque, en la época en la que se originó la palabra, muchas veces las personas encargadas de arreglar los aparatos eléctricos utilizaban la fuerza bruta para hacerlo. Poco tiempo después de que la palabra hack se asociara con el mundo de la computación, cerca de la década de los 80, todo se basaba en la confianza. Era una época donde todos convivían tranquilamente; sin embargo, no todos deseaban seguir viviendo así y, al darse cuenta del poder de la información, muchos comenzaron a utilizar sus habilidades con la computación y la programación para conseguirla y, de esta manera, comenzaron a darle a los hackers la reputación de ladrones de la información. Ahora que conocemos el porqué de las ideas erróneas que se tienen sobre los hackers, debemos hablar de los distintos tipos de los mismos para así poder identificarlos y darles, a los que se lo merecen, el reconocimiento debido. Básicamente, hay dos tipos de
hackers, los Black Hat y los White Hat. Los White Hat son los hackers éticos, que se encargan de encontrar los puntos vulnerables de un sistema para estudiar y corregir los fallos encontrados, por lo que se les considera como el tipo de hacker “bueno”. Por otro lado, los Black Hat o ciberdelincuentes son aquellos que se encargan de realizar actividades ilícitas con el objetivo de conseguir información confidencial que al final les llevará a tener un beneficio monetario. Dentro de este grupo se puede encontrar a los denominados crackers y phreakers. Los crackers son los que se dedican tanto a modificar software y extender sus funciones, como a robar contraseñas o implantar virus en las computadoras de los demás. Por su parte, los phreakers se dedican a realizar todo tipo de acciones en el mundo de las telecomunicaciones. Entre los grandes grupos de los White Hat y Black Hat encuentra un grupo de hackers que no se identifican como uno de los anteriores. Este grupo se autodenomina como Grey Hay y se encarga de traspasar los niveles de seguridad de una empresa para después ofrecer sus servicios de protección cibernética a la misma. Dentro del grupo de los Black Hat han habido ciertos hackers que se han destacado por haber causado grandes problemas debido a los ciberdelitos que cometieron. La empresa Panda Security nos da una lista de los cinco hackers más famosos y sus delitos más memorables: “Cracka”: Este ciberdelincuente es nada más y nada menos que un joven británico de 16 años que logró hackear los correos personales del director de la CIA y del director del FBL. Además, hackeó las cuentas de teléfono del director de la Inteligencia Nacional estadounidense y reveló la identidad de más de 31,000 agentes de dichas agencias. Aunque la verdadera identidad de este delincuente no se ha revelado, se conoce que se hace llamar Cracka y que pertenece a un grupo llamado “Crackas with Attitude”. Es importante mencionar que este hacker fue capturado en Inglaterra en febrero de 2016.
Sus Tipos, Definiciones y muchas cosas más “El hacker vagabundo”: Adrian Lamo, mejor conocido como el hacker vagabundo, es un joven que se ha conocido con dicho nombre por viajar constantemente y conectarse en distintos cibercafés para realizar sus ataques. Comenzó su carrera cuando buscó los puntos débiles en la seguridad de conocidas empresas como Microsoft, Fortune 500, Bank of America y Yahoo!. “Soupnazi”: Este hacker, cuyo verdadero nombre es Albert Gonzales, es el responsable de uno de los mayores robos de identidad de la historia. Albert consiguió acceder y robar las cuentas bancarias de más de 170 millones de personas. Soupnazi fue detenido en 2008 y condenado a 20 años de prisión en Nueva Jersey. Allí Vladimir Levin: Después de graduarse de la Universidad Politécnica Estatal de San Petersburgo, Levin decidió hacer uso de sus habilidades para hacer dinero fácil y, en poco tiempo, logró robar 10 millones de dólares a los clientes de Citibank. Se cree que Levin trabajaba con un grupo organizado perteneciente a la mafia rusa, pero no se ha logrado comprobar que realmente tenga lazos que lo unan con la misma. Kevin Mitnick: Este joven logró hackear las redes del Pentágono y de grandes compañías como Nokia y Motorola. Kevin se convirtió en el ciber delincuente más buscado del planeta debido a sus acciones realizadas contra dichas empresas y, dos años después de lo sucedido, fue capturado. Después de cumplir su condena de 5 años, Mitnick se convirtió en consultor de seguridad cibernética, dejando el lado oscuro de la red de un lado. Actualmente dirige su propia empresa de seguridad: Mitnick Security Consulting, LLC. Como se puede observar existen varios hackers que desean afectar a otras personas y beneficiarse de ello. Sin embargo, no debemos olvidar que no todos los hackers son malos, que existen algunos que son buenos y desean ayudar para que la seguridad cibernética sea cada vez mejor.
9
10
¿SAT O HACK? La Superintendencia de Administración Tributaria (SAT) sufrió un ataque cibernético a la página del Portal en junio del presente año. El ataque ocasionó dificultades en la utilización de sus servidores para los usuarios.
El Superintendente Juan Solórzano Foppa publicó en su cuenta de twitter: “Se detectó un ataque cibernético a la página del Portal Sat hace dos semanas. Nos está afectando en Declaraguate y otros sitios”.
La institución, por medio del comunicado de prensa SAT 35-2017, publicado el 27 de junio del presente año, indicó que desde dos semanas atrás se habían manifestado recurrentes ataques en los enlaces de internet que sirven como vía de comunicación entre los contribuyentes y la SAT. Informaron, además, que estaban coordinando con los proveedores de este servicio para que de forma permanente se garantice la disponibilidad del mismo. También añadieron que activaron todos los protocolos de seguridad informática para estar protegidos de posibles ataques futuros.
En los años 2015 y 2016 se tiene registro de otros ataques cibernéticos que ha tenido la SAT. Aunque en esas ocasiones también a Anonymous se le acreditaron los respectivos ataques, la institución nunca ha realizado comentarios al respecto. La información proporcionada por la SAT y los medios de comunicación conduce al planteamiento de interrogantes como: ¿A quién denuncia la SAT como responsable de estos ataques? ¿Cómo han afectado estos ataques realmente? ¿Qué garantías existen que la información de los contribuyentes está resguardada?
11
12
Una de las ventajas de estudiar computación es la variedad de ramas que existen, lo que significa que podemos elegir aplicar nuestros conocimientos en diversos tipos de proyectos. Una de las ramas más comunes, pero en donde siempre abunda el trabajo, es el desarrollo web. A lo largo de los años, el desarrollo web ha cambiado muchísimo, pero ha cambiado para bien ya que la cantidad de herramientas y lenguajes que existen es abrumadora y, además, son herramientas de calidad pensadas en hacer del desarrollo web algo, no necesariamente más sencillo, sino algo más estructurado y más fácil de mantener a largo plazo. El objetivo de este artículo es presentar las herramientas y lenguajes básicos primero y luego presentar algunos frameworks, lenguajes y herramientas más complejas para así tener un panorama más amplio del desarrollo web. Html y CSS Esto es lo más básico, pero al final es lo más esencial que se debe saber. Tanto el HTML como el CSS han cambiado bastante desde sus inicios, pero lo bueno es siempre estan actualizados, así que hay que saber manejar los cambios introducidos en HTML5 y CSS3. En mi experiencia, conviene bastante saber utilizar bien el CSS, ya que si uno se vuelve experto en CSS, entonces luego el flujo de diseño se vuelve más rápido y se cubren aspectos importantes, como el UX (la experiencia de usuario) de forma más profesional. Sass, Bootstrap y Foundation son algunas de las herramientas que he utilizado y que sirven bastante en la etapa de diseño o maquetación e inclusive en un diseño final y UX.
contenedor principal.
Sin embargo, necesitamos un intermediario que nos ayude a organizar todos los elementos del contenedor para que así estos funcionen correctamente. Aquí entra en acción el manejador de paquetes. Node, por defecto, utiliza npm. Básicamente, se le estará diciendo al manejador: “Mira, necesito estos paquetes o dependencias. Descárgalos e instálalos”. Cuándo se habla acerca de “paquetes” o “dependencias”, nos referimos a un código que ya está hecho y que cumple una función y que servirá para integrarlo en nuestro proyecto, sin necesidad de volver a crear el agua azucarada. Ahora bien, aparte de npm, se recomienda Yarn, otro excelente manejador de paquetes. En contraste con npm, Yarn es un poco más rápido y además la forma en la que guarda los paquetes es automática, sin necesidad de estarle dando comandos aparte, como se hace en npm.
Lenguajes, manejadores de paquetes y la salsa del webdev Uno de los lenguajes más codiciados en el desarrollo web es Javascript. Todo lo que es dinámico en una página web es gracias a Javascript. Bueno, al menos en su gran mayoría. Pero, sucede también que Javascript tiene muchas versiones, pero si se aprende lo último, es decir Javascript ES6, entonces prácticamente se sabrá todo lo necesario de Javascript. Ojo, saber siempre lo último es bueno y por eso lo recomiendo, pero también hay que tener en mente temas de compatibilidad, por ejemplo. Algunas funciones de ES6 no son del todo compatibles con todos los navegadores, lo que implica utilizar versiones viejas o (la mejor solución) aprender a utilizar algunas de las herramientas geniales que existen por ahí que nos permiten correr código de ES6. Por ejemplo, para dar un soporte completo a ES6, se utiliza un transpilador, que básicamente convierte el código nuevo en una versión que sea compatible con todos los navegadores. Pero acá ya se comienza un poco a hablar en chino. Además, se pasa del concepto quemado de tener una página web simple a tener una aplicación web. Para ello, se comienza con la necesidad de tener un entorno de ejecución para Javascript que se pueda correr y mantener en cualquier servidor. Aquí es donde Node.js entra en acción. Node nos brinda precisamente ese entorno de desarrollo en donde podemos integrar un conjunto amplio de herramientas que le agregan esteroides a nuestra aplicación web. Es como el
Entonces, conociendo ahora las herramientas que nos ayudarán, regresemos al tema de ES6 y compatibilidad. Gracias a Node, ahora podemos establecer un entorno de desarrollo completo. Para darle soporte a Javascript utilizamos algo que se llama Webpack, un agrupador de módulos. Esto quiere decir que si en nuestro proyecto vamos a utilizar, por ejemplo, ES6, Sass, algún framework, etc., Webpack se va a encargar de unirlo todo y hacer que funcione correctamente, brindando una estructura interna que va a hacer que todo sea más ordenado y limpio. Ahora bien, estar configurando todas estas cosas siempre puede resultar tedioso, por lo que necesitamos una herramienta que automatice todos estos procesos. Aquí entra en acción Gulp, un toolkit que automatiza precisamente las tareas que consumen tiempo en el flujo del desarrollo, para que así no estemos repitiendo tareas cada vez que decidamos crear o continuar trabajando en un proyecto.
Asimismo, resulta importante a veces aplicar este desarrollo web del lado del servidor. Para ello lo que se usa con Node es Express. Express nos permite manejar cualquier cosa, desde rutas hasta el manejo de requests, etc. y es altamente útil si se necesita crear una Api, por ejemplo. Aparte de Javascript, el otro lenguaje que va a servir es PHP. Sin embargo, no hay que olvidar que hoy en día se pueden utilizar muchos otros lenguajes en el desarrollo web, como Java, Python, Ruby, entre otros. Es importante, por lo tanto, entrar a estudiar los frameworks, ya que son estos los que nos ayudarán en la utilización de los lenguajes para el desarrollo web. Frameworks y el condimento del webdev Si bien lo que se vió en la sección anterior fue la “salsa” del webdev, los frameworks son el “condimento”, porque básicamente integran todas estas herramientas de las que hablamos o inclusive usan otras a su modo y
funcionan casi completamente por sí mismos. Frameworks hay un montón, así que se hablará sobre aquellos que he utilizado o les he echado el guante más de alguna vez. Antes que nada, ya hablamos un poco de frameworks en la sección anterior. Express es un framework, de hecho, y anteriormente decíamos que Express se encargaba de hacer casi todo. No hay que confundir estas palabras con el concepto de que no vamos a tener que programar nada. Eso, nada que ver, pero el objetivo de un framework es facilitar la creación de una aplicación web y la integración de diversas tecnologías y herramientas. Así que, continuando con el lado de Javascript, se recomienda utilizar React con Redux. En resumen, React nos va a ayudar con el frontend de la aplicación, osea todo lo referente al manejo y manipulación de los aspectos visuales y del flujo de ejecución de la aplicación. Más que un framework, es como
13
una librería de Javascript. Es, además, rapidísimo y tiene buena documentación, solo que es un poco difícil de entenderlo al principio, pero ¿quién dijo que el desarrollo web era sencillo? Además, lo hizo Facebook, así que están en buenas manos si usan React. Ahora, Redux se encarga del backend en la aplicación, si se le quiere llamar así. Solo que, del lado del cliente, no del servidor. Acá se habla siempre de lo que el usuario toca y ve y con lo que interactúa. Pasando a otras tecnologías y lenguajes, se recomienda también Django. No lo he utilizado mucho, pero es un framework basado en Python, por lo que si su salsa está en usar Python para todo, hay que echarle una probada a Django que es muy bueno. Tiene soporte nativo con los motores de bases de datos más comunes, por ejemplo, lo que hace que las migraciones sean más fáciles.
Otro buen framework es Ruby On Rails, que utiliza Ruby como lenguaje. Ofrece casi lo mismo que Django. De hecho, muchos los consideran adversarios. Otro framework que resuena es Angular. Es desarrollado por Google, así que no se diga más. Angular trabaja con base en componentes, tal como hace React, pero brinda otro conjunto de características y además utiliza su propio lenguaje, Typescript, que es parecido a Javascript, pero sí cambia en diversos aspectos. Lo importante a entender con Angular es que es un framework para frontend, es decir que se encarga de lo visual y lo gráfico. Anteriormente hablábamos de React, el cual se encarga también solo del frontend, pero dijimos también que lo íbamos a utilizar con Redux, así que allí se hizo el balance frontendbackend. Django y Ruby on Rails sí se encargan de todo. Para terminar, me gustaría hacer una mención honorífica con Laravel. Este es un framework para aplicaciones web en PHP. Con Laravel se puede hacer todo lo que necesita una aplicación web, no es necesario acudir a otras tecnologías, aunque se puede, claro, si eso es lo que queremos, pero el punto es que Laravel es tan poderoso que se puede hacer de todo allí. El manejo de las bases de datos es nativo y tiene todo automatizado, desde el manejo de las migraciones y un montón de otras cosas. Además, se utiliza un manejador de paquetes llamado Composer, que hace todo un poco más eficiente y ágil de utilizar. A decir verdad, Laravel es muy bueno, pero se deja a discreción del lector, porque por lo menos en mi caso, cuando lo tuve que usar, no era muy experimentado en PHP, y otras cosas, así que me costó aprenderlo, pero una vez se entienden los conceptos básicos, ese framework es sumamente útil, así que se recomienda bastante.