..
   Copyright (c) 2025 Allan Avendaño Sudario
   Licensed under Creative Commons Attribution-ShareAlike 4.0 International License
   SPDX-License-Identifier: CC-BY-SA-4.0

==========================================
Guía 11: TypeScript - Introducción 
==========================================

.. topic:: Objetivo específico
    :class: objetivo

    Explorar los conceptos básicos de TypeScript e implementar tipado estático, con el fin de mejorar la robustez, claridad y escalabilidad del código.  

Actividades previas
=====================

Stackblitz
----------

1. Acceda a `Stackblitz <https://stackblitz.com/>`_ y familiarícese la interfaz y con las herramientas disponibles para el desarrollo de aplicaciones web.
2. Obtenga una cuenta gratuita en Stackblitz para poder guardar sus proyectos y realizar bifurcaciones (forks) de los proyectos públicos.

Actividades en clases
=====================

TypeScript
----------

1. Acceda a la colección pública `Typescript <https://stackblitz.com/@aavendan/collections/typescript>`_.
2. Acceda a cada uno de los proyectos:

   a) Cree una bifurcación (fork) 
   b) Acceda a todos los archivos con extensión .ts (index.ts, clase.ts, funciones.ts, etc) y complete las instrucciones que se encuentran en los comentarios de acuerdo con la documentación de `TypeScriptLang <https://www.typescriptlang.org/>`_.
   c) Verifique la validez de su respuestas utilizando la consola de Stackblitz.
   
      (i) Errores en tiempo de transpilación: No debe tener líneas marcadas en rojo.
      (ii) Errores en tiempo de compilación: La vista previa debe ejecutarse sin problemas y la consola de la vista previa no debe contener errores.

3. Responda a la actividad en clases con las URLs de sus proyectos.

Conclusiones
============

.. topic:: Preguntas de cierre

    * ¿Qué conceptos fundamentales de TypeScript crees que podrían ser malinterpretados si solo se sigue el código sugerido por la IA sin analizarlo críticamente?

    * ¿Qué ajustes realizaste al código generado por la IA para que las anotaciones de tipo, interfaces o funciones en TypeScript se adaptaran correctamente a las necesidades del dashboard?

    * ¿Qué implica para ti, como futuro desarrollador, asumir con responsabilidad el uso del código generado por IA, asegurándote de comprenderlo antes de integrarlo a un proyecto real como un dashboard?

Actividades autónomas
=====================

Recursos extras
------------------------------

En redes:

.. raw:: html

    <blockquote class="twitter-tweet"><p lang="ca" dir="ltr">Bootcamp FullStack JavaScript en Español<br>Gratuito y con Certificado final<br><br>✓ React + Redux<br>✓ Node con TypeScript<br>✓ APIs Express y GraphQL<br>✓ Desarrollo apps móviles<br>✓ Docker &amp; GitHub Actions<br>✓ PostgreSQL y MongoDB<br><br>De la Universidad de Helsinki:<br>→ <a href="https://t.co/Divm89YuBi">https://t.co/Divm89YuBi</a> <a href="https://t.co/HDJbhMdam6">pic.twitter.com/HDJbhMdam6</a></p>&mdash; Miguel Ángel Durán (@midudev) <a href="https://twitter.com/midudev/status/1768301655861190958?ref_src=twsrc%5Etfw">March 14, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>