- Descripción
- Currículum
- Reseñas
Si quieres entrar en el mundo de la programación sin saber nada y transformarte en alguien competente, con bases sólidas, conocimiento de las tecnologías más demandadas, y capacidad de entrar al mercado laboral o trabajar por tu propia cuenta, este es el curso para ti.
Hemos trazado una ruta de aprendizaje progresivo, con una curva que avanza poco a poco introduciendo cada concepto, desde lo más básico hasta lo más complejo. Empezarás sin saber nada, creando aplicaciones simples, hasta lograr crear tus propios servidores Web, aplicaciones de escritorio o servicios de datos. A grandes rasgos aprenderás lo siguiente:
- Crea tus propias aplicaciones
- Desarrolla servidores Web
- Diseña interfaces gráficas de usuario
- Trabaja como FREELANCER o emprendedor vendiendo tu software
- Postúlate a un empleo en el mundo real
- Saca el máximo provecho de este curso
- Capitaliza este contenido con excelentes beneficios.
El curso contendrá más de una veintena de proyectos que te permitirán dominar cada tema, entrenándote de forma intensiva. Este es el curso definitivo que te ahorrará el tener que tomar diferentes cursos por doquier sin saber exactamente a qué atenerte. A continuación te presentamos un resumen de cada unidad didáctica: UNIDAD 1: PROGRAMACIÓN ESTRUCTURADA EN 4 LENGUAJES Iniciarás la ruta trabajando con dos lenguajes principales (Pascal y JavaScript), y dos complementarios (C++ y Java). De este modo abarcarás el espectro de lo que es programar lenguajes compilados, semi-interpretados y puramente interpretados, con todas las variaciones que ello conlleva. Pascal será el lenguaje base que usaremos para introducir y estudiar cada tema, ya que es muy potente, moderno (a pesar de lo que piensan varios) y poderoso para el aprendizaje; y JavaScript será la contraparte, la oveja negra, quién mostrará una cara de la programación muy diferente a lo que proponen lenguajes más estructurados como Pascal, Java o C++. Los temas que veremos serán:
- Entrada y salida estándar de datos
- Variables, constantes y tipos primitivos
- Programación secuencial
- Selección mediante IF
- Diagramas de flujo
- Encadenación IF
- Case y Switch
- Iteración con FOR
- Iteración condicional con WHILE y DO-WHILE (REPEAT)
- Proyectos de aplicación y desarrollo de software
UNIDAD 2: ARREGLOS A partir de aquí abandonaremos a C++ y Java, ya que has aprendido las estructuras esenciales de ellos así como de Pascal y JavaScript. El curso continuará con Pascal como lenguaje base y JavaScript como referente para el mundo Web, incluyendo un poco de HTML. En esta unidad trabajarás:
- Arreglos lineales
- Arreglos bidimensionales o matrices
- Arreglos dinámicos
- Arreglos como objetos en JavaScript
- Algoritmos de búsqueda y ordenación
- El Juego de la Vida de John Conway
UNIDAD 3: PROGRAMACIÓN MODULAR A partir de este punto empezarás a crear programas más grandes y complejos, por lo que comenzarás a trabajar con subprogramas (procedimientos y funciones), y todo lo que ello conlleva. El entrenamiento se intensificará en este punto. Los temas concretos serán:
- Funciones fuertemente tipadas
- Funciones con tipos dinámicos
- Procedimientos fuertemente tipados
- Procedimientos dinámicos
- Pasaje de parámetros por copia
- Pasaje de parámetros por referencia
- Las vicisitudes del pasaje de parámetros en JavaScript
- Alcance de identificadores
- Registros
- Tipos de datos estructurados
- Modularización de código
- Encapsulamiento básico
- Manipulación de archivos
- Conceptos de Bases de Datos
- Conceptos de diseño de software
- Punteros y memoria dinámica
- Listas encadenadas o simplemente enlazadas
- Tipos Abstractos de Datos
- Operaciones primitivas
- Selectoras, asignadoras, predicados, constructores y destructores
- Creación de módulos en JavaScript
- Uso de varias páginas HTML
- TADs LinkedList, Stack y Queue
- Árbol Binario de Búsqueda
- Algoritmos de búsqueda y recorrido
- Recursión computacional
UNIDAD 4: PROGRAMACIÓN ORIENTADA A OBJETOS Todo lo visto hasta el momento es como la preparación para poder desempeñar la orientación a objetos. Este tema aplica absolutamente, y en gran profundidad, todo lo visto anteriormente. Es uno de los conceptos más demandados en el mercado laboral y extremadamente necesario si quieres aprender luego a usar cualquier tecnología, lenguaje, framework, etc.
- Los temas que veremos, esencialmente serán:
- Definición y estructura de los objetos
- Definición de clases
- Modificadores de acceso
- Encapsulamiento avanzado
- Propiedades
- Clases internas
- Campos y operaciones estáticas
- Patrón de diseño SINGLETON
- Importación y exportación de componentes
- Modelos de objetos en JavaScript
- Prototype en JavaScript
- Herencia
- Polimorfismo
- Casteo de tipos (down-cast y up-cast)
- Interfaces
- Clases abstractas
- Genéricos
- Captura y lanzamiento de excepciones
- Promesas
- JSON
- Operaciones de resurrección
- Bases de UML y diseño de software
- Mantenimiento y escalabilidad de código
UNIDAD 5: INTERFACES GRÁFICAS DE USUARIO En este módulo aplicaremos todo lo visto hasta el momento para crear interfaces gráficas modernas para aplicaciones de escritorio. Sin embargo, todo lo que verás y entrenarás aquí lo aplicarás luego, casi de forma idéntica, para la Web, ya que JavaScript utiliza un modelo de eventos y gestión de componentes similar al que usarás en Pascal. 1. Creación de ventanas 2. Campos y formularios complejos 3. Eventos e interacción del usuario 4. Manipulación de componentes 5. Validación de información de ingreso 6. Diálogos simples y modales 7. Botones y componentes de acción 8. Menús principales y menús contextales 9. Tablas y filtros 10. Pasaje de información entre ventanas y cuadros 11. Estructuración de información al usuario 12. Generación dinámica de componentes en tiempo real 13. Uso de acciones 14. Paneles con pestañas 15. Iconos y decoraciones 16. Barras de carga y splash-screen 17. Creación de GUIs complejas UNIDAD 6: HTML a fondo y JavaScript A partir de este punto tienes todas las bases de la programación para escritorio y un entrenamiento exhaustivo en el uso de una gran variedad de herramientas. Realmente ya eres todo/a un/a programador/a, pero aún estás lejos de llegar a lo que el mercado laboral demanda. El mundo Web es la pata que falta, y a partir de aquí lo completaremos, ya que eres todo/a un/a experto/a en JavaScript pero falta diseñar Webs dinámicas, vistosas y responsivas, así como utilizar APIS y programar del lado de servidor. Lo que veremos, a grandes rasgos es: 1. Estructuras básicas de HTML5 2. Enlazamiento interno de páginas 3. Enlazamiento externo entre páginas 4. Barras de progreso 5. Tablas, filas, columnas, celdas y estructuración 6. Creación de formularios complejos 7. Gestión de formularios y eventos 8. Elementos META 9. Elementos de estructuración semántica de página 10. Imágenes 11. Favicon 12. Mapas 13. Picture 14. Figure y Figcaption 15. Eventos con JavaScript 16. Documentación oficial 17. Programación multihilo con Workers 18. Cuadros de diálogo 19. Uso de frames internas 20. Audio y video 21. Uso de acciones 22. Creación de GUIs complejas 23. Drag and Drop 24. HTML Canvas 25. Creación de juegos de ejemplo UNIDAD 7: CASCADE STYLE SHEETS (CSS) Una vez que sabes trabajar a fondo y al máximo con HTML es momento de trabajar la visualización, el adorno, la estilización de una página. CSS es extenso y tiene varias cosas que trabajar, ya que es capaz, además de gestionar cómo se en las cosas, de dotar a HTML de ciertas funcionalidades extra muy interesantes. Lo que verás en este módulo, a grandes rasgos es: 1. Estilos incrustados básicos 2. Estilos importados 3. Listas de colores y color-picker 4. Selectores 5. Definición de clases de estilos 6. Fuentes básicas 7. Importación de fuentes externas y uso de íconos 8. Posicionamiento absoluto y z-index 9. Posicionamiento relativo y span 10. Fondos y colores alfa 11. Dimensiones y alineaciones 12. Modelo de cajas 13. Menús desplegables 14. Barras de navegación 15. Sombras de texto y cajas 16. Bordes y márgenes 17. Animaciones 18. Transiciones y transformaciones 19. Cajas flexibles 20. Diseño multicolumna 21. Consultas @media 22. ToolTips 23. Menú contextual 24. Panel con pestañas 25. Uso de variables CSS 26. Selectores de atributos 27. Pseudoclases 28. Pseudoelementos 29. Condiciones 30. CSS dinámico desde JavaScript UNIDAD 8: DOM Y BOM Este módulo regresará a JavaScript y te mostrará cómo gestionar dinámicamente todos los componentes HTML, pudiendo ahora realizar verdadera magia con una página Web. El uso del DOM será, a partir de ahora, la base principal que usarás para el resto de tecnologías que aprenderás.
- Bases del DOM
- Navegación en el árbol de objetos
- Formularios
- Aplicación de CSS en el DOM
- Selectores de consultas y colecciones de elementos
- La clase Element y la interfaz HTMLElement
- Creación de elementos HTML personalizados
- El BOM
UNIDAD 9: XML Es un lenguaje, o más bien un formato, que te permitirá organizar la información y configuraciones de una manera más automatizada y profesional. Es importante que conozcas las bases, ya que aunque no lo usarás tanto manualmente, la amplia mayoría de tecnologías crean formatos XML para configurar las aplicaciones y proyectos, por lo que es vital que sepas comprender este formato.
- Estructura de un documento XML bien formado
- Árbol XML
- XML DOM
- XML Parser
- XML DTD
- XML Schema
UNIDAD 11: TYPESCRIPT TypeScript es un lenguaje de programación fuertemente tipado que se basa en JavaScript, lo que le brinda mejores herramientas a cualquier escala. Básicamente es una extensión de JavaScript transformándolo en un lenguaje fuertemente tipado, como Pascal, C++, Java y cualquier otro, dotándolo de todos los beneficios de diseño que implica tener tipos de datos explícitos, entre muchísimas otras cosas. Este lenguaje, al extender el JavaScript nativo es ampliamente demandado, fácil de aprender y recomendable. El mercado laboral lo demanda, te facilita la vida y es extremadamente necesario que lo conozcas, sea cual sea el camino que vayas a tomar a futuro. UNIDAD 13: BASES DE DATOS RELACIONALES SQL Como gran tema final es imprescindible que sepas usar bases de datos relacionales. Para ello usaremos MySQL y SQLite. Este módulo te enseñará lo indispensable que debes conocer para manipular bases de datos SQL, conectarlas a tus aplicaciones y usarlas como métodos de persistencia. También recibirás nociones básicas de diseño. De este modo luego podrás decidir si quieres profundizar con un curso completo de SQL o no, o bien, puedes incluso ver opciones NO-SQL, como MongoDB y otras. Los temas que verás son: 1. Concepto de base de datos relacional 2. Creación de bases de datos y tablas 3. Carga de datos desde un archivo 4. Consultas básicas y compuestas 5. Ordenación y limitación de resultados. 6. Cálculos simples y Funciones de uso común: MAX, COUNT, AVG, MIN, SUM 7. Modificación y eliminación de registros 8. Eliminación de tablas y bases de datos 9. Modificación de la estructura de una tabla (ALTER) 10. Funciones y formato de fecha 11. Trabajando con dos tablas y consultas combinadas 12. Conectar Pascal a MySQL 13. Conectar NodeJS a MySQL
-
1Presentación
Conoce qué temas tratarás en el curso y cómo avanzaremos a lo largo de ellos.
-
2Introducción
Entiende cuáles son las bases de este curso y por qué está estructurado de un modo y características particulares.
-
3Certificaciones Programación MASTER
Este curso otorga múltiples certificaciones confome el nivel de progreso que alcances. Conócelas todas y aprende cómo acceder a ellas.
-
4Instalación de Lazarus y creación del 'Hola mundo' en Pascal
Instalemos el primer IDE llamado Lazarus para programar en Pascal, junto al compilador FPC y creemos el primer programa.
-
5OPCIONAL: Instalación de VisualStudio y 'Hola mundo' con C++
Instalaremos, de forma opcional, el IDE VisualStudio para programar en C++.
-
6Instalación de JRE y JDK
Instalaremos herramientas neceasrias para programar en JavaScript utilizando el IDE Apache NetBeans.
-
7Instalación de Apache NetBeans
Instalaremos aquí el IDE Apache NetBeans que nos servirá para trabajar con Java, JavaScript, HTML y CSS.
-
8Creación del primer programa en Java
Ya lo hiciste en Pascal, luego en C++ y ahora lo harás en Java: ¡Hola mundo!
-
9Tipos de lenguajes de programación
Comprende las diferencias estructurales de los distintos lenguajes de programación.
-
10Creación del primer proyecto HTML5
Ahora veremos cómo crear una página simple en HTML5.
-
11Salida estándar en Pascal
Comenzaremos a aprender a mostrar información de salida por consola. Primero en Pascal, luego trasladaremos eso a otros lenguajes.
-
12Salida estándar en C++
Mostraremos datos por consola en C++.
-
13Salida estándar en Java
Mostremos información por consola en Java.
-
14Salida básica en HTML
En HTML no existe la salida estándar de datos, todo se muestra en páginas Web. Veamos cómo mostrar salidas estáticas.
-
15Salida estándar multilínea con Pascal
Hora de empezar a mejorar la impresión de datos por consola, primero en Pascal, y luego lo verás en otros lenguajes.
-
16Salida estándar multilínea en Java
Veamos cómo imprimir múltiples líneas en la salida estándar de Java.
-
17Entrada de datos y primeras variables en Pascal
Solo mostrar texto no sirve de mucho, es hora empezar a interactuar con el usuario.
-
18Entrada de datos y primeras variables en C++
La forma de trabajo en C++ es un tanto particular. Veamos cómo lograr lo mismo que fácilmente logramos en Pascal.
-
19Entrada de datos y variables en Java
Java es un lenguaje particular, proque todo es Orientación a Objetos, por lo que la entrada de datos es algo curiosa en este lenguaje.
-
20Entrada de datos y variables en JavaScript
HTML no es un lenguaje de programación, solo estructura información. El verdadero lenguaje de programación Web es JavaScript. Es hora de conocerlo y empezar a hacer cosas con él.
-
21Variables numéricas enteras en Pascal
Hora de empezar a trabajar con números enteros.
-
22Matemáticas simples en Pascal
Hagamos algunos cálcuos simples con la información que nos brinda el usuario.
-
23Matemáticas simples en C++
Hagamos ahora lo mismo que en Pascal pero ahora con C++. Veamos que por más que la sintaxis de los lenguajes es diferente, el trasfondo es exactamente el mismo.
-
24Lectura de enteros en Java
Leer números en Java es un tanto particular, veamos cómo replicar lo mismo que hemos hecho en Pascal y en C++.
-
25Matemáticas simples en JavaScript
Si Java es particular, pues JavaScript se lleva el premio gordo. Veamos cómo leer números en este lenguaje y cómo operar matemáticamente con ellos.
-
26Concepto de acumulación en Pascal
Las variables pueden acumular valores, o sea, tomar su valor anterior y modificarlo. Por ejemplo, cuando en un videojuego acumularos puntos, o cuando depositamos o extraemos dinero de una cuenta bancaria, se modifican los valores previos decreciéndolos o incrementándolos.
-
27Acumulación en C++
Veamos cómo aplicar la misma idea aprendida en Pascal ahora en C++.
-
28Números reales en Pascal
No es lo mismo un número sin coma o punto flotante, llamado entero (que usamos para contar, como 1, 2, 3 y así) que uno con ella, llamado número real (1.5, 3.245, etc.). Veamos cómo Pascal gestiona estos tipos de datos.
-
29Números reales en C++
Así como en Pascal, en todo lenguaje hay diferencias entre un número entero y uno de punto flotante. Veamos cómo C++ los gestiona.
-
30Números reales en Java
Ahora toca ver cómo Java gestiona los enteros y los reales.
-
31Constantes en Pascal
Hay variables que no varían, o sea, que mantienen su valor constante. Veamos para qué sirven y cómo usarlas en Pascal.
-
32Constantes en C++
Obviamente C++ tiene también constantes, veamos cómo usarlas.
-
33Constantes en Java
En Java las constantes se conocen como variables finales. Veamos cómo aplicarlas.
-
34Números reales y uso de constantes en JS
JavaScript también tiene constantes, veamos cómo usarlas. En conjunto, también veamos cómo este lenguaje gestiona los tipos numéricos.
-
35Práctica: entrada básica y cálculos con Pascal
Si no aplicas todo lo visto, no aprenderás nada. Hora de poner manos a la obra con los primeros ejercicios.
-
36Lectura simultánea de variables en Pascal
Leer variables una a una no siempre es útil. A veces debemos facilitar la vida del usuario para que ingrese los datos del modo más simple posible. Veamos cómo leer más de una variable a la vez en Pascal.
-
37La sentencia READ de Pascal a fondo
Entendamos un poco más a fondo como Pascal lee datos desde la entrada estándar para profundizar en la mecánica que hay detrás.
-
38Comentarios y documentación de código
El código fuente se vuelve cada vez más y más complejo. Escribir notas en lenguaje coloquial es clave, sobre todo si se trabaja en equipo, para facilitar la vida de quién ha de leer un código. Veamos cómo escribir comentarios y qué tipos de ellos tenemos disponibles.
-
39Tipos de divisiones matemáticas en Pascal
Dividir un número entre otro no es una tarea tan simple como puede parecer. Veamos qué es la división entera, la real y el módulo entre dos números.
-
40Tipos de divisiones y uso de comentarios en C++
Veamos ahora como C++ gestiona las divisiones numéricas y cómo usar comentarios en el código fuente.
-
41Tipos de divisiones numéricas en Java
Java, al igual que Pascal y C++, también tiene diversos tipos de divisiones matemáticas. Veamos cómo usarlas.
-
42Tipos de divisiones y uso de comentarios en JavaScript
JavaScript no se queda atrás, por lo que también gestiona las divisiones matemátcias de diversos modos, y también contiene comentarios.
-
43Leyendo caracteres en Pascal
Leer caracteres (letras, números, símbolos) es importante. Veamos cómo lo hace Pascal para entrenarte en ello y luego aplicarlo en diversos lenguajes.
-
44Secuencias de escape y caracteres en C++
C++ maneja los caracteres de un modo un tanto distinto a Pascal, pero las bases son las mismas. Asimismo introduce la herramietna de secuencias de escape que resulta muy útil.
-
45Secuencias de escape en Java
Java, al venir de C++, también tiene secuencias de escape.
-
46Inferencia de tipos en C++
A veces no es necesario especificar manualmente el tipo de una variable, sino que podemos dejar que C++ lo infiera. Veamos cómo lograrlo y para qué sirve.
-
47Inferencia de tipos en Java
Java también es capaz de inferir tipos de variables sin tener que explicitarlos.
-
48Caracteres de escape en JavaScript
Veamos cómo JavaScript gestiona los caracteres o secuencias de escape.
-
49Sentencia IF en Pascal
Es hora de que nuestros programas puedan elegir caminos distintos de acción en función de ciertas condiciones preestablecidas. Veamos cómo Pascal usa la sentencia IF.
-
50Diagrama de flujo básico
Diagramar, o sea, planificar, es clave. Veamos cómo dibujar el flujo de nuestro programa.
-
51Sentencia IF en C++
Veamos ahora como C++ usa la sentencia IF.
-
52Sentencia IF en Java
Veamos como Java utiliza IF. Spoiler: es igual que en C++.
-
53Sentencia IF en JavaScript
JavaScript también tiene IF, y es igual que en C++ y Java.
-
54Diagrama de concatenación IF
Dibujemos ahora un diagrama de flujo más complejo.
-
55IF concatenado en Pascal
Concatenar un IF a otro no es difícil, pero requiere práctica y atención.
-
56Práctica: concatenando IF
Pongamos en práctica lo visto hasta el momento.
-
57IF concatenado en C++
Concatenemos IF ahora en C++.
-
58IF concatenado en Java
Java también concatena IF. Veamos cómo aplicarlo.
-
59IF concatenado en JavaScript
Concatenemos IF en JavaScript y veamos cómo funciona.
-
60Selección múltiple en Pascal
Existe una sentencia que permite escribir los IF concatenados de otro modo, la cual en Pascal se llama CASE. Veamos cómo funciona.
-
61Selección múltiple en C++
En C++ la sentencia CASE pasa a llamarse SWITCH. Veamos su sintaxis y algunas diferencias en lo visto con Pascal.
-
62Selección múltiple en Java
En Java, al igual que en C++, tenemos el SWITCH. Veamos cómo aplica.
-
63Selección múltiple en JavaScript
JavaScript también tiene SWITCH.
-
64Tipo booleano y operadores lógicos en Pascal
Veamos cómo mejorar las condiciones de selección usando tipos booleanos, y operadores lógicos de Pascal.
-
65Tipo booleano y operadores lógicos en C++
En C++ también tenemos booleanos y operadores lógicos. Cambian de sintaxis respecto de Pascal, pero en esencia son lo mismo.
-
66Tipo booleano y operadores lógicos en Java
Veamos cómo Java aplica los operadores lógicos y el tipo booleano.
-
67Tipo booleano y operadores lógicos en JavaScript
JavaScript también opera lógicamente con booleanos y operadores lógicos. Asimismo, tiene algunas particularidades interesantes a diferencia de Pascal, C++ y Java.
-
68Operadores comparativos en Java
Veamos cómo Java compara valores.
-
69Anidación IF en Pascal, Java, C++ y JS
Veamos cómo incorporar un IF dentro de otro.
-
70Sentencia FOR en Pascal
Hasta ahora nuestros programas no pueden hacer nada complejo porque carecen de la capacidad de iterar o repetir código ya ejecutado. A partir de ahora aprenderemos cómo iterar, comenzando con Pascal y luego avanzando a otros lenguajes.
-
71Caso práctico: Adivinador Pascal
Crearemos un pequeño juego de adivinar un número en una serie de intentos posibles, utilizando lo aprendido hasta el momento.
-
72FOR anidado en Pascal
Un FOR puede estar contenido dentro de otro, lo cual abre un gran abanico de posibilidades, pero a su vez, complejiza las cosas.
-
73Sentencia FOR en C++
Evidentemente C++ también tiene su sentencia FOR que, aunque en esencia funciona igual que en Pascal, su sintaxis cambia bastante.
-
74Sentencia FOR en Java
El FOR de Java, como no podía ser de otro modo, es igual que el de C++.
-
75Sentencia FOR en JavaScript
Aunque JavaScript, al nacer de C++, comparte muchas cosas con dicho lenguaje y también con Java (al menos en su sintaxis), algunas cuestiones hay que tener en cuenta. Veamos el FOR en JS.
-
76Generar números aleatorios en Pascal
Veamos cómo crear números al azar en Pascal usando RANDOM.
-
77Generar números aleatorios en C++
Veamos cómo generar números al azar en C++.
-
78Generar números aleatorios en Java
Veamos cómo generar números al azar en Java.
-
79Generar números aleatorios en JavaScript
Veamos cómo generar números aleatorios en JavaScript.
-
80Proyecto: Adivinador 2.0
Hora de trabajar duro. Proponemos aquí un primer proyecto para aplicar todo lo visto hasta el momento.
-
81Bucle WHILE en Pascal
Si bien la sentencia FOR resulta útil, no es suficiente. Algunas veces se requiere repetir un código indefinidamente hasta que cierta condición se cumpla, y a priori, no se puede saber cuándo ocurrirá eso. Veamos cómo lograrlo a través de la sentencia WHILE.
-
82Bucle WHILE en C++
Veamos cómo C++ utiliza el WHILE.
-
83Bucle WHILE en Java
Apliquemos ahora el WHILE en Java.
-
84Bucle WHILE en JavaScript
Apliquemos WHILE ahora en JavaScript.
-
85Bucle REPEAT-UNTIL en Pascal
El bucle WHILE repite la ejecución de un bloque de código mientras una condición se cumpla. Ahora Pascal nos propone un bucle similar que repite un bloque de código hasta que una condición se cumpla, el cual se llama REPEAT-UNTIL.
-
86Bucle DO-WHILE en C++
Pascal nos proponía el bucle REPEAT-UNTIL como alternativa a WHILE. C++ no tiene un bucle repeat, sino que su análogo es DO-WHILE, que sigue siendo un WHILE pero con una estrucutra inversa: la condición se evalúa al final del bloque y no al principio, similar a REPEAT.
-
87Bucle DO-WHILE en Java
Java utiliza la misma sintaxis que C++ para las estructuras básicas, por lo que su bloque DO-WHILE es el mismo.
-
88Bucle DO-WHILE en JavaScript
JavaScript también funciona similar a C++.
-
89Caso práctico: Adivinador 3.0
El segundo proyecto de aplicación. Mejoraremos el programa anterior añadiendo características más avanzadas.
-
90Tipos primitivos y subrangos en Pascal
Ampliemos la cantidad de tipos de datos que nos provee Pascal, comenzando por los subrangos.
-
91Arreglos en Pascal
Hora de conocer los tipos de datos estructurados, empezando por los arreglos.
-
92Arreglos en JavaScript
En JavaScript las cosas son muy distintas a Pascal. Veamos sus arreglos.
-
93Búsqueda lineal en arreglos en Pascal
Veamos cómo recorrer un arreglo para encontrar un elemento, del modo más básico y simple posible.
-
94Búsqueda lineal en arreglos en JavaScript
Recorrer arreglos en JavaScript es muy similar a Pascal.
-
95Ejemplo práctico de arreglos en Pascal
Veamos algunas cuestiones con ejemplos prácticos de arreglos.
-
96Ejemplo práctico de arreglos en JS
Veamos algunos ejemplos prácticos con arreglos en JS.
-
97Arreglos dinámicos en Pascal
Pascal tiene un tipo de arreglos que se pueden crear en tiempo de ejecución. Veamos cómo funcionan.
-
98Arreglos bidimensionales en Pascal
Ahora complejicemos los arreglos para trabajar con tablas, grillas o matrices.
-
99Arreglos bidimensionales en JavaScript
Los arreglos de más de una dimensión en JS se trabajan como arreglos de arreglos. Veamos los pormenores.
-
100Números aleatorios no repetidos en un arreglo en Pascal
Veamos un algoritmo para rellenar un arreglo con números al azar sin que ninguno se repita dentro de él.
-
101Números aleatorios no repetidos en un arreglo en JS
Apliquemos el mismo algoritmo ahora en JS.
-
102El depurador en Lazarus
Veamos cómo depurar un programa usando Lazarus debugger.
-
103El depurador de NetBeans con Google Chrome
Depurar un sitio Web requiere del uso conjunto de NetBeans y Chrome y, aunque se puede depurar directo en el navegador, hacerlo con el IDE es más robusto y beneficioso.
-
104Lectura paso por paso en Pascal
Veamos un ejemplo práctico de lectura de datos paso a paso.
-
105Generar letras aleatorias en JavaScript
Las letras no son números, pero podemos generarlas aleatoriamente de todos modos. Veamos cómo.
-
106Acumulación en un String de JS
Veamos cómo usar una variable string para acumular texto e ir generando una salida dinámica.
-
107Proyecto: Truco de las 21 cartas
Te proponemos aquí un proyecto bastante interesante y retador. Crearás el Truco de las 21 cartas, de modo que tu programa siempre adivinará una letra que elegirás en la pantalla.
-
108Proyecto: MasterMind 1.0
He aquí un siguiente proyecto más retador que el anterior. Crearás el juego MasterMind en su versión de Pensador. Veamos los detalles.
-
109Proyecto: MasterMind 2.0
Ahora mejorarás el proyecto MasterMind, admitiendo letras repetidas en los códigos. Esto añade más dificultad al jugador, y es un tanto más complejo de programar.
-
110Bucle FOR-IN en Pascal
Existe una versión de FOR especialmente pensada para recorrer arreglos automáticamente. Veamos cómo la aplica Pascal.
-
111Bucle FOR-OF en JavaScript
JavaScript también tiene un FOR especial para recorrer arreglos.
-
112Procedimientos en Pascal
Hora de modularizar los programas. Empecemos entendiendo qué es un subprograma, cómo crearlo y cómo invocarlo.
-
113Pasaje de parámetros en Pascal
Un procedimiento puede recibir información al ser invocado, la cual se inserta mediante parámetros. Veamos cómo utilizarlos.
-
114Funciones en Pascal
Las funciones son similares a los procedimientos, con la salvedad de que generan un resultado al final de su ejecución. Veamos su enorme utilidad.
-
115Alcance de identificadores en Pascal
Ahora que puedes tener variables, constantes y tipos de datos dentro y fuera de los subprogramas se añaden los conceptos de alcance y sombreado. Veamos qué significa todo esto.
-
116Ejemplo de función booleana en Pascal
Veamos la utilidad de una función booleana, también conocida como predicado.
-
117Pasaje de parámetros por referencia en Pascal
Los parámetros pueden funcionar también como variables de salida para un procedimiento o una función. Veamos esto, ya que amplía las posibilidades y con ello la complejidad.
-
118Declaración adelantada FORWARD en Pascal
Existen casos en los que debemos utilizar un identificador antes de poder declararlo, lo cual no es posible en Pascal. Para solucionar esto existe la declaración adelantada con FORWARD.
-
119Prácticas con subprogramas en Pascal
Los ejemplos prácticos siempre son bienvenidos.
-
120Sobrecarga de identificadores en Pascal
Más de un subprograma puede tener el mismo nombre siempre que varíe algo en su firma. Veamos cómo usar esto y por qué es útil.
-
121Procedimientos en JavaScript
En JavaScript todo son funciones, no hay procedimientos per se, pero sí hay funciones que trabajan como procedimientos. Veámoslo.
-
122Funciones en JavaScript
En JavaScript todo subprograma es una función, solo que las funciones que no arrojan un reultado (undefined) las interpretamos como procedimientos. El resto, operan igual que las funciones de Pascal, con una salvedad: la sentencia return.
-
123Alcance de identificadores en JS
Todo lenguaje tiene el asunto del alcance de identificadores. Veamos cómo lo gestiona JavaScript.
-
124Pasaje de parámetros en JavaScript
Las cosas cambian bastante con JavaScript en lo que a parámetros refiere.
-
125Proyecto: MasterMind 2.5
Mejoraremos aún más los MasterMind. Veamos ahora cómo reestructurar el código para hacer uso de los subprogramas en él.
-
126Enumeraciones en Pascal
Un nuevo tipo de datos se añade, veamos como declarar enumerados.
-
127Uso de enumerados en el juego del Adivinador en Pascal
Apliquemos de modo practico las enumeraciones.
-
128Registros en Pascal
Un nuevo tipo de datos estructurado surge, el cual te dotará de mayor versatilidad a la hora de programar. La orientación a objetos empeiza a asomar muy sutilmente.
-
129Aplicando registros en el Adivinador en Pascal
Apliquemos de modo práctico los registros.
-
130Registros y enumerados en JavaScript
JavaScript no tiene enumeraciones como Pascal, ni tampoco registros, pero hay modos de emular dicho comportamiento utilizando la versatilidad de este lenguaje.
-
131Arreglos con tope en Pascal
El arreglo con tope es un tipo de datos que se logra implementar combinando el uso de arreglos y registros a la vez.
-
132Arreglos con tope en JavaScript
Usemos el ingenio para lograr tener arreglos con tope en JavaScript del mismo modo que en Pascal. En esencia esto no sería necesario por en JS todos los arreglos son dinámicos, pero eso es algo para ver en el futuro.
-
133Arreglos avanzados en JavaScript
Hay particularidades de los arreglos de JS que resultan interesantes y útiles.
-
134Proyecto: MasterMind 3.0
Ahora crearemos la versión Adivinador de este juego, en la cual nuestro programa deberá adivinar un código que nosotros inventamos en función de las notas que le brindamos como pistas.
-
135Unidades modulares en Pascal
Hora de construir proyectos más grandes, y para eso necesitamos separar las partes de éstos en archivos distintos en vez de tener un código espagueti en un solo lugar.
-
136Modularización básica en JavaScript y HTML
JavaScript, al trabajar en conjunto con HTML, maneja ciertas complejidades en tanto a la modularización. Veamos cómo iniciar con esto.
-
137Enlazar archivos HTML
Profundicemos un poco más en la modularización de HTML.
-
138Proyecto: MasterMind 4.0
Finalmente, unificaremos el MasterMind en modo Adivinador y en modo Pensador para que, ahora desde un solo juego, se pueda seleccionar cómo se quiere jugar.
-
139El juego de la vida en Pascal: parte 1
El Juego de la vida es un autómata celular diseñado por el matemático británico John Horton Conway en 1970. Resulta muy interesante de programar con lo aprendido hasta el momento.
-
140El juego de la vida en Pascal: parte 2
Continuaremos desarrollando el funcionamiento del juego.
-
141El juego de la vida en pascal: parte 3
Aún queda trabajo por hacer.
-
142El juego de la vida en Pascal: parte 4
Ahora sí, terminamos el proyecto.
-
143El juego de la vida en JavaScript y HTML
Veamos ahora la versión Web de este proyecto.
-
144Proyecto: Buscaminas
Programarás dos versiones del juego Buscaminas, una en Pascal y otra Web. Ambas son muy similares pero con variaciones en su estructura.
-
145Introducción a los archivos en Pascal
JavaScript no manipula archivos, por lo que este aprendizaje será exclusivo de Pascal. Veamos cómo funciona la persistencia de datos.
-
146Creación, lectura y manipulación de archivos de texto
Comencemos trabajando con los archivos más simples: el texto plano.
-
147Archivos de texto plano
Profundicemos ahora en los archivos de texto plano.
-
148Creando un Bloc de Notas
Crearemos un Bloc de notas en Pascal.
-
149Archivos tipados en Pascal
Pasemos ahora a archivos con tipos personalizados.
-
150Tipado avanzado de archivos en Pascal
Aprendamos más a fondo el tipado de archivos.
-
151Base de datos manual simple en Pascal
Crearemos una base de datos manualmente usando lo aprendido con archivos.
-
152Eliminar registros de un archivo en Pascal
Veamos como borrar contenido de un archivo.
-
153Proyecto: Creando un SGBD en Pascal
Crearemos un Sistema de Gestión de Bases de Datos (SGDB), o en inglés un DBMS.
-
154¿Cómo guardar información en JavaScript?
Por cuestiones de seguridad, JavaScript no maneja archivos, pero sí puede guardar datos en el navegador. Comencemos a ver cómo funciona esto.
-
155Crear registros en el LocalStorage
Trabajemos con registros en el navegador.
-
156Creando un formulario HTML básico
Hora de comenzar a interactuar de un mejor modo con el usuario. HTML empieza a asomarse.
-
157Formatear registros como tablas relacionales
Estructurar la información a almacenar es clave.
-
158InnerHTML y uso básico de tablas
Tenemos que generar tablas para mostrar datos al usuario. Veamos cómo lograrlo en HTML.
-
159Un Bloc de notas en HTML
Crearemos un procesador de textos básico en HTML.
-
160Proyecto: crear un SGBD simple en JavaScript y HTML
Emularás el sistema realizado en Pascal pero ahora versionándolo a JavaScript con HTML.
-
161Punteros en Pascal
Hora de acercarnos aún más a la orientación a objetos. Aunque todavía falta, ya es momento de comenzar a trabajar con estruturas dinámicas. Amados por muchos, odiados por muchos más, presentamos aquí a los punteros.
-
162Punteros a registros en Pascal
Nuestros primeros y primitivos objetos. La memoria dinámica con registros amplía muchísimo el abanico de opciones.
-
163Lista simple encadenada
Una estructura lineal dinámica en la que es posible añadir y quitar objetos.
-
164Añadir nodos a una lista encadenada en Pascal
Veamos los distintos casos de anexamiento de nodos.
-
165Eliminar nodos de una lista encadenada en Pascal
Eliminar nodos también tiene sus compejidades.
-
166Usando punteros en NotePad Pascal
Reestructuremos el código de nuestro Bloc de notas y apliquemos memoria dinámica.
-
167Tests de estrés (Stress Testing)
Manipular la memoria dinámicamente tiene varios riesgos, y es factible de muchos errores, de esos que uno no sabe dónde está la falla. Veamos cómo realizar testeos para verificar la gestción correcta de la memoria RAM.
-
168Punteros en JavaScript
En JavaScript siempre has estado usando punteros sin darte cuenta. Ahora veámoslo claramente.
-
169Listas encadenadas en JavaScript
Veamos cómo construir listas en JS.
-
170Modularización con unidades en Pascal
Repacemos y profundicemos el uso de undiades en Pascal.
-
171Tipos abstractos de datos
Nos acercamos más y más a los objetos. Los Tipos Abstractos de Datos son la base para avanzar. Comencemos a comprenderlos a fondo.
-
172Módulos en JavaScript
JavaScript incorpora una herramienta avanzada de modularización. Veámosla en detalle.
-
173Plantillas de Strings en JavaScript
Existe un modo sencilllo de concatenar strings con valores de variables y otros elementos.
-
174Expresiones regulares en Pascal y JavaScript
Analizar la estructura de un string es muy útil. Para ello existen las expresiones regulares. Veamos qué herramientas nos provee cada lenguaje.
-
175Caso de estudio: Gestión de cursos Pascal 1-8
Trabajaremos un proyecto completo desde cero. Te lo presentamos al detalle aquí.
-
176Caso de estudio: Gestión de cursos Pascal 2-8
Introduciremos en esta clase un concepto totalmente nuevo: DISEÑO de Software. Si bien lo haremos de manera simple y sin ir demasiado a fondo, esta será una clase con mucho contenido, y que te irá preparando como programador/a a un nivel mucho mayor que el simple hecho de conocer un lenguaje concreto.
Definiremos así las entidades que deberán existir en nuestros sistema, su base de datos o estructura de persistencia, y cómo dichos datos se relacionarán entre sí.
-
177Caso de estudio: Gestión de cursos Pascal 3-8
Habiendo diseñado el sistema y comenzado con la estructura de módulos independientes, en esta clase le daremos código a esos módulos a fin de queden funcionales y listos para pasar a la siguiente etapa.
-
178Caso de estudio: Gestión de cursos Pascal 4-8
El concepto de colecciones ha sido tocado ya en el curso en diversas oportunidades pero de forma implícita, ahora es momento de verlo explícitamente y comprender a fondo cómo funciona el asunto de tener grupos o estructuras de ciertos tipos de datos.
-
179Caso de estudio: Gestión de cursos Pascal 5-8
Teniendo el diseño listo y la estructura de las colecciones que implementaremos en nuestro sistema, es momento de darles funcionalidad, para poder avanzar en la siguiente etapa del desarrollo de este software.
-
180Caso de estudio: Gestión de cursos Pascal 6-8
Habiendo cumplido con las dependencias previas, es momento de diseñar y programar los gestores de mensajes (salida del sistema) y formato. Si bien esto no es complejo, es de suma importancia comprender cómo se diseña de manera tal que sea simple y a la vez potente.
-
181Caso de estudio: Gestión de cursos Pascal 7-8
Desde el diseño conocemos hace tiempo las estructuras que existirán en la base de datos y cómo se relacionarán a través, justamente, de un diseño relacional. Es momento de escribir el código fuente que le dará funcionalidad a esta estructura y permitirá que el programa guarde los datos y los lea, manteniendo las relaciones en todo momento.
-
182Caso de estudio: Gestión de cursos Pascal 8-8
El módulo que se encarga de gestionar todo, de unir a los módulos anteriores en un trabajo que permita ejecutar todo lo que el programa debe hacer y además interactuar con el usuario. Sin duda, todo un reto por programar. Finalmente, para que el sistema funcione, es necesario implementar el programa principal, es decir, el archivo con el bloque BEGIN|END que es donde la ejecución inicia, la puerta de entrada.
-
183Proyecto: Gestión de cursos JavaScript
Implementaremos el mismo sistema ahora en JavaScript y HTML.
-
184TAD Docente Pascal
Construiremos un TAD que represente a un docente.
-
185TAD LinkedList Pascal
Trabajaremos las listas encadenadas ahora como TADs.
-
186TADs Pila y Cola (Stack y Queue) en Pascal
Veremos las bases de las pilas y las colas, que son estructuras lineales muy útiles.
-
187TAD Árbol Binario de Búsqueda en Pascal
Hora de conocer una estructura muy importante, no lineal: el ABB.
-
188TAD ABB: eliminando nodos en Pascal
Eliminar nodos de un árbol binario no es cuestión sencilla, más aún si es de búsqueda, porque ha de mantener su estructura ascendente.
-
189Proyecto: Gestión de Cursos 2.0 en Pascal
En este proyecto trabajarás sobre el anterior para mejorar su implementación interna usando ABBs.
-
190Proyecto: Uso de TADs en JavaScript
Crearás algunos TADs simples en JavaScript para incorporar esta visión a dicho lenguaje.
-
194Orientación a objetos y JavaScript
Hay cuestiones que JavaScript hace muy a su modo, por lo que es importante aprender Programación Orientada a Objetos muy bien antes de aplicarla en dicho lenguaje.
-
195Orientación a objetos en Pascal
Empecemos a comprender qué son los objetos.
-
196Definir clases de objetos en Pascal
Conozcamos ahora una nueva herramienta: las clases.
-
197Encapsulamiento básico: modificadores de acceso en Pascal
¿Cómo restringimos el acceso a miembros de una clase?
-
198LinkedList con clases en Pascal
Usemos ahora las clases para crear una lista encadenada.
-
199Clases internas en Pascal
Aprenderás a usar claes internas aplicándolas a listas encadenadas.
-
200Automatización de enumerados
Veamos como automatizar el recorrido de nuestras estructuras.
-
201Propiedades en vez de getters y setters
Pascal tiene una herramienta muy útil a la hora de estructurar clases. Veámos qué son las propiedades y cómo nos facilitan el trabajo.
-
202Práctica: usando clases en Adivinador Pascal
Reestructuremos un antiguo programa para adaptarlo a nuestra nueva tecnología de orientación a objetos.
-
203Práctica: el programa principal del Adivinador Pascal
Continuamos trabajando sobre un sistema ya existente mejorando su tecnología.
-
204Campos estáticos de una clase en Pascal
No todos los miembros de una clase dependen o existen en objetos. Veamos qué es esto.
-
205Patrón de diseño SINGLETON en Pascal
Un patrón de diseño interesante que permite hacer que, dada una clase, solo pueda existir un objeto de ella y no otro.
-
206Proyecto: Batalla Naval Pascal
Un arduo proyecto para crear el juego de la Batalla Naval. Veamos los detalles.
-
207Modelo de objetos de JavaScript
JS es muy particular en su tratamiento con objetos.
-
208Modularizando Adivinador en JavaScript
Modernicemos el Adivinador ahora con objetos.
-
209Campos estáticos y el prototipo de JavaScript
JS tiene un modelo de objetos basado en prototipos. Veamos qué es esto.
-
210Patrón SINGLETON en JavaScript
¿Cómo crear un SINGLETON en JS?
-
211Encapsulamiento y herencia en Pascal
La POO requiere aún más profundidad.
-
212Herencia y casteo en Pascal
Los tipos dinámicos son uno de los mejores beneficios de la POO.
-
213Interfaces en Pascal
Las interfaces añaden una capa más a la versatilidad de la POO.
-
214Interfaces avanzadas en Pascal
Veamos más en detalle cómo se aplica en la práctica el uso de interfaces.
-
215Generalizando objetos en Pascal
Veamos como los objetos se pueden visualizar de modos generales.
-
216Polimorfismo en Pascal
El polimorfismo es otra de las cualidades principales de la POO.
-
217Clases abstractas en Pascal
Otro tipo de clases, de las cuales no se pueden crear objetos, son las clases abstractas. ¿Para qué sirve algo así?
-
218Genéricos en Pascal
Los genéricos son una herramienta importante en lenguajes modernos.
-
219Colecciones genéricas en Pascal
Traslademos el concepto de genéricos a las colecciones de objetos.
-
220Captura de excepciones en Pascal
Los bloques try-catch son moneda corriente en todos los lenguajes. Veamos cómo aplicarlos ahora en Pascal.
-
221Lanzamiento de excepciones en Pascal
Veamos como lanzar excepciones y crear las propias.
-
222Herencia y polimorfismo limitado en JavaScript
JavaScript tiene un modelo de objetos un poco distinto a lo que tienes en Pascal, Java, C# o C++. Es bueno conocerlo y tener el contraste.
-
223Excepciones en JavaScript
Veamos cómo JS utiliza bloques try-catch.
-
224JSON
El formato JSON es importantísimo en el internet actual.
-
226Hola mundo gráfico en Pascal
Crearás tu primer programa con interfaz gráfica de usuario.
-
227Campos de texto LCL
Utilicemos capmos de texto en nuestras primeras ventanas.
-
228Formulario simple LCL
Crearemos un formulario con varios campos.
-
229Foco y tabulación LCL
Controlemos un poco el funcionamiento de los componentes gráficos.
-
230Áreas de texto LCL
Los campos de texto son insuficientes, necesitamos más.
-
231Botones de radio y cajas de check LCL
Componentes comunes para elegir o marcar opciones.
-
232Listas desplegables LCL
Las listas desplegables son muy útiles, por lo que es importante conocerlas.
-
233Listas múltiples LCL
Mostrar varias opciones de las cuales se pueda elegir uno o más elementos también es importante.
-
234Diálogos predefinidos LCL
Hay ciertos cuadros de diálogo de uso común que ya están predefinidos en LCL.
-
235Diálogos de apertura y guardado LCL
Los cuadros de diálogo para abrir y guardar archivos ya están predefinidos.
-
236Diálogos personalizados LCL
Los diálogos predefinidos son muy útiles, pero insuficientes. Es necesario poder crear nuestros propios diálogos.
-
237Paneles LCL
Los paneles son contenedores de componentes.
-
238Menús LCL
Brindar diversas opciones al usuario a través de menús es imprescindible.
-
239Tablas LCL
Las tablas permiten mostrar muchos datos organizados.
-
240Imágenes LCL
El uso de imágenes ayuda mucho a crear interfaces gráficas vistosas e intuitivas.
-
241Generación dinámica de componentes LCL
A veces no es suficiente tener componentes colocados en tiempo de diseño y se requiere generarlos en tiempo de ejecución. Veamos cómo lograr esto.
-
242Acciones LCL
Las acciones son una alternativa interesante al modelo de eventos.
-
243Listas filtrables LCL
Crear filtros a la hora de mostrar mucha información es necesario para no abrumar al usuario o facilitar su trabajo.
-
244Proyecto: Calculadora LCL
Deberás crear una calculadora simple, pero con una funcionalidad eficiente.
-
245Reglas horizontales y viñetas HTML
Hora de empezar a entender HTML.
-
246Enlazado externo de una página HTML
Entendamos a fondo cómo se vinculas unas páginas con otras.
-
247Enlazado interno de una página HTML
Una página no solo se vincula o enlaza con otras páginas, sino que se enlaza dentro de sí misma con distintas secciones.
-
248Barras de progreso HTML
Veamos cómo insertar barras de progreso.
-
249Tablas HTML
Las tablas son importantes en toda interfaz gráfica.
-
250Elementos de formularios HTML
El ingreso de información por parte del usuario es tarea cotidiana.
-
251Eventos de formularios HTML
Los eventos de formulario son importantes para enviar información a la aplicación Web.
-
252Metaelementos HTML
Hay elementos no visibles en las páginas Web pero que contienen información importante.
-
253Estructuración de páginas HTML
Cómo se ubican elementos y estructura una página es clave de comprender.
-
254Formato de texto HTML
El texto enriquecido es imprescindible, ya que solo texto plano no resulta visualmente atractivo, o incluso no resulta útil para ciertos casos.
-
255Imágenes en HTML
Colocar imágenes en un sitio Web es algo básico. Entendamos cómo gestionarlo.
-
256Mapas de imágenes HTML
Definir áreas clicables dentro de una imágen es interesante, y puede resultar útil en ciertos casos.
-
257Elementos picture HTML
Abordar las imágenes tiene más de un modo.
-
258Favicón del sitio HTML
Definir el ícono del sitio Web es importante, porque da identidad de marca.
-
259Documentación oficial de HTML
Aprender a leer la documentación oficial para buscar soluciones y saber, por cuenta propia, cómo resolver un problema concreto es imprescindible en el mundo actual.
-
260Workers y multitareas HTML y JS
Hacer más de una tarea a la vez puede ser imprescindible en el mercado actual.
-
261Cuadro de diálogo HTML
Veamos cómo crear cuadros de diálogo en HTML.
-
262Ventanas internas con IFrame en HTML
Los cuadros de diálogo no son suficientes a la hora de crear ventanas internas en HTML.
-
263Videos en HTML
Veamos cómo insertar videos en una página HTML.
-
264Audio HTML
Veamos cómo insertar audios en HTML.
-
265Drag and drop en HTML
Veamos cómo arrastrar elementos y soltarlos en otro lado de HTML.
-
266Elemento canvas en HTML
Canvas es un elemento de HTML5 que es importante dominar si quieres ir más allá en el desempeño de HTML.
-
267Arcos, sombras y más en HTML
Manipulemos dibujos en un canvas.
-
268Crear movimiento en canvas con flechas del teclado en HTML
Usemos eventos de teclado dentro de un canvas.
-
269Dibujar imágenes dentro de un canvas HTML
Tomar una imagen y dibujarla en un canvas puede ser muy útil, sobre todo en ámbitos de juegos.
-
270Prototipo de juego básico en HTML
Hagamos una práctica utilizando HTML canvas.
-
271Desplazamiento de imágenes en canvas y en DIV con HTML
Movamos imágenes dentro de una Web con distintos métodos.
-
272Introducción a CSS
HTML da estructura, JavaScript da funcionalidad, y CSS da visibilidad y mejoras estructurales. Es hora de aprender esta tercera pata de la tríada Web.
-
273Selectores básicos CSS
Vamos con las bases de CSS, para elegir qué elemntos HTML se quieren estilizar.
-
274Selectores de ID y clases de estilos CSS
Definir identificadores de elemntos HTML así como clases de estilos es imprescindible.
-
275Fuentes en CSS
Modificar la fuente del sitio es importante.
-
276Posicionamiento de elementos CSS
Aprendamos a fijar y posicionar los elementos dentro de la página.
-
277Uso de capas con z-index en CSS
Z-Index permite indicar qué elemento va sobre otro.
-
278Fondos con color y con imágenes
Establecer fondos a los contenedores HTML es importante para colorear el sitio.
-
279Modelo de cajas CSS
Entendamos cómo CSS entiende los elementos HTML.
-
280Alineamiento de componentes HTML con CSS
Cómo se disponen los componentes dentro de los contenedores es importante.
-
281Menú desplegable en HTML y CSS
Creemos menús HTML usando CSS, ya que HTML no dispone de un componente menú propiamente dicho.
-
282Barras de navegación HTML y CSS
Veamos cómo crear barras de navegación.
-
283Sombreado y estilizado práctico CSS
Hagamos algunas prácticas utilizando lo visto hasta ahora.
-
284Relleno con degradé
Usemos varios colores para crear degradados.
-
285Bordeado con imágenes CSS
Usemos imágenes para crear bordes con diseños elaborados.
-
286Transiciones CSS
Cómo un elemento cambia de estado y estilo, o sea, como transiciona de uno a otro, aporta dinamismo.
-
287Transformaciones
Las transformaciones permiten crear animaciones en los elementos.
-
288Menú contextual HTML y CSS
HTML no tiene ningún elemento menú, pero podemos crearlo con CSS.
-
289Tooltips en CSS
HTML no tiene tooltips propiamente dichos, hay que crearlos manualmente.
-
290Panel tabulado CSS
Crear un panel con pestañas resulta muy vistoso y útil.
-
291Uso de iconos CSS
Los iconos aportan valor en ciertos contextos.
-
292Texto multicolumna CSS
Mostrar columnas de texto puede resultar útil.
-
293Unidades de medida CSS
Cómo CSS mide el tamaño de los componentes es importante.
-
294Modelo de caja flexible CSS
Veamos como CSS utiliza flexbox.
-
295Uso de variables en CSS
CSS permite definir algo similar a las variables.
-
296Selectores de atributos CSS
CSS permite seleccionar elementos HTML por sus atributos.
-
297Pseudoclases CSS
CSS tiene algunas herramientas interesantes que haz de conocer.
-
298Pseudoelementos CSS
Los elementos CSS también tienen algunas cuestiones más profundas interesantes de verificar.