/jugando_con_typescript

Simulacion de Plataforma de Cursos, para que tanto, los Alumnos como Profesores se les asignen Cursos y toda la Info persista en una mini BD.

Primary LanguageTypeScriptMIT LicenseMIT

TypeScript


Proyecto con TypeScript

Este proyecto está desarrollado utilizando TypeScript, un superset de JavaScript que agrega características avanzadas al lenguaje y permite trabajar de forma más segura y estructurada.

¿Qué es TypeScript?

TypeScript es un lenguaje de programación de código abierto desarrollado y mantenido por Microsoft. Es un superconjunto de JavaScript, lo que significa que todo código JavaScript válido es también código TypeScript. TypeScript introduce el tipado estático opcional y otras características útiles que permiten escribir código más robusto y escalable.

En esencia, TypeScript se transpila a JavaScript, lo que significa que los navegadores no ejecutan TypeScript directamente. En cambio, el código TypeScript es convertido a JavaScript para que sea compatible con cualquier entorno que soporte JavaScript, como los navegadores o Node.js.

Ventajas de TypeScript

  • Tipado estático: Una de las mayores ventajas de TypeScript es que permite el uso de tipos estáticos, lo que ayuda a detectar errores de forma anticipada durante el desarrollo, antes de que el código sea ejecutado.

  • Mejor autocompletado y documentación: Gracias al tipado, las herramientas de desarrollo como editores de código (por ejemplo, Visual Studio Code) pueden ofrecer autocompletado más preciso y ayuda contextual, lo que acelera el desarrollo y reduce errores.

  • Más seguro y mantenible: TypeScript facilita la creación de código más estructurado y fácil de mantener a largo plazo. El tipado fuerte y las interfaces claras permiten que los equipos grandes trabajen de manera más eficiente.

  • Compatibilidad con ES6+ y más: TypeScript es compatible con las últimas características de ECMAScript (ES6, ES7, etc.), lo que permite escribir código moderno sin preocuparse por la compatibilidad del navegador. Luego, el código es transpileado a versiones más antiguas de JavaScript según sea necesario.

  • Interfaces y clases: TypeScript introduce conceptos como interfaces y clases que permiten organizar y estructurar mejor el código en aplicaciones grandes.

Desventajas de TypeScript

  • Curva de aprendizaje: Si bien es muy similar a JavaScript, TypeScript tiene características adicionales (como los tipos, interfaces, y más) que requieren un poco más de tiempo para aprender, especialmente si vienes de un entorno puramente JavaScript.

  • Configuración adicional: Trabajar con TypeScript requiere una configuración adicional en el proyecto (como el archivo tsconfig.json) y el uso de un proceso de compilación que convierta el código TypeScript en JavaScript.

  • Más pasos en el desarrollo: Al necesitar compilar el código TypeScript a JavaScript, el ciclo de desarrollo puede ser ligeramente más lento comparado con escribir solo JavaScript.

¿Por qué usar TypeScript en este proyecto?

Este proyecto ha sido desarrollado en TypeScript para aprovechar las ventajas de tipado estático y la organización que ofrece este lenguaje. Gracias a TypeScript, podemos crear código más seguro, con menos errores, y más fácil de escalar a medida que el proyecto crezca.

El uso de TypeScript también mejora la colaboración en proyectos en equipo, ya que permite definir contratos claros (interfaces) entre distintas partes del sistema, haciendo más fácil entender cómo interactúan los componentes.

Instalación y ejecución

Para ejecutar este proyecto, sigue los siguientes pasos:

  1. Clona el repositorio:

    git clone https://github.com/Drako01/jugando_con_typescript.git
  2. Instala las dependencias:

    npm install
  3. Compila el código TypeScript a JavaScript:

    npx tsc -w
  4. Ejecuta el proyecto:

    npm start

Contribuciones

¡Las contribuciones son bienvenidas! Si deseas contribuir al proyecto, por favor abre un issue o envía un pull request con tus mejoras.

Licencia

Este proyecto está bajo la licencia MIT. Puedes ver más detalles en el archivo LICENSE.

Autor: Alejandro Di Stefano

GitHub