Programación de Computadores Taller
Programación de Computadores Taller
Taller 1
Cordial saludo, por medio de este taller deberán desarrollar
los siguientes puntos recuerden que eltrabajo es individual y
deberán ser entregado en la plataforma virtual.
EL DESARROLLADOR FRONT-END:
Trabaja del lado Cliente, en el navegador, en el lado de lo que se ve. Principalmente se ocupa
de los componentes externos del sitio web o de la aplicación web. Como consecuencia,
deben dominar obligatoriamente HTML, CSS y JavaScript
En la actualidad, además, va mucho más allá puesto que las capacidades de los navegadores
los han convertido en verdaderos "sistemas operativos" de la Web, con APIs avanzadas que
hace que las aplicaciones de lado cliente no tienen mucho que envidiar a las apps nativas,
nuevas versiones del lenguaje ECMAScript, multitud de herramientas de desarrollo (npm,
yarn, webpack...) y también meta-lenguajes (Sass, TypeScript...) que hacen que sea una
disciplina bastante compleja.
El desarrollador back-end trabaja del lado Servidor, detrás del escenario, permitiendo con
su trabajo que el usuario disfrute de su experiencia. Sin él, el desarrollo llevado a cabo por
su anterior compañero no se sostendría.
Lenguajes y frameworks usados en back-end
Para ser programador del lado Servidor, son numerosos los lenguajes y frameworks entre
los que elegir, todo dependerá de la empresa en la que caigas.
SQL Server
MySQL
Oracle
PostgreSQL
MongoDB, que es un almacén de datos no-relacional o NoSQL.
En la mayoría de las páginas y aplicaciones webs los errores que se producen ocurren del
lado Servidor. ¿Quién era el responsable de esta parte? El desarrollador back-end, el cual a
estas alturas del post ya está agotado, por lo tanto, es mejor no exigirle nada más y
buscarnos a alguien que además de lo anterior tenga conocimientos de arquitectura del
servidores y sistemas.
Java™ Development Kit (JDK) es un software para los desarrolladores de Java. Incluye el
intérprete Java, clases Java y herramientas de desarrollo Java (JDT): compilador,
depurador, desensamblador, visor de applets, generador de archivos de apéndice y
generador de documentación.
El JDK le permite escribir aplicaciones que se desarrollan una sola vez y se ejecutan en
cualquier lugar de cualquier máquina virtual Java. Las aplicaciones Java desarrolladas con
el JDK en un sistema se pueden usar en otro sistema sin tener que cambiar ni recompilar
el código. Los archivos de clase Java son portables a cualquier máquina virtual Java
estándar.
Un compilador Java.
Una máquina virtual Java (JVM o VM).
Herramientas para supervisar, depurar y documentar aplicaciones.
Herramientas para desarrollar interfaces de usuario o GUI.
Bibliotecas de integración para aplicaciones que necesitan acceder a bases de
datos y a objetos remotos.
6. Define con sus propias palabras la definición
PERSISTENCIA, POLIFORMISMO, CONCURRENCIA y
PRESENTACIÓN
Modelo
El modelo es un conjunto de clases que representan la información del mundo real que el
sistema debe reflejar. Es la parte encargada de representar la lógica de negocio de una
aplicación. Así, por ejemplo, un sistema de administración de datos geográficos tendrá un
modelo que representara la altura, coordenadas de posición, distancia, etc. sin tomar en
cuenta ni la forma en la que esa información va a ser mostrada ni los mecanismos que
hacen que esos datos estén dentro del modelo, es decir, sin tener relación con ninguna
otra entidad dentro de la aplicación.
El modelo, a nivel teórico, no debe tener conocimiento acerca de la existencia de las vistas
y del controlador. Esta situación es interesante, pero de difícil aplicación práctica, pues
deben existir interfaces que permitan a los módulos comunicarse entre sí, por lo que
SmallTalk sugiere que el modelo en realidad esté formado por dos submódulos: El modelo
del dominio y el modelo de la aplicación.
Vista
Las vistas son las encargadas de la representación de los datos, contenidos en el modelo,
al usuario. La relación entre las vistas y el modelo son de muchas a uno, es decir cada vista
se asocia a un modelo, pero pueden existir muchas vistas asociadas al mismo modelo. De
esta manera, por ejemplo, se puede tener una vista mostrando la hora del sistema como
un reloj analógico y otra vista mostrando la misma información como un reloj digital.
La vista solo necesita la información requerida del modelo para realizar un despliegue.
Cada vez que se realiza una actuación, que implica una modificación del modelo de
dominio, la vista cambia a través de notificaciones generadas por el modelo de la
aplicación. Sencillamente, es la representación visual del modelo que redibuja las partes
necesarias cuando se produce una modificación del mismo.
Controlador
El controlador es el encargado de interpretar y dar sentido a las instrucciones que realiza
el usuario, realizando actuaciones sobre el modelo. Si se realiza algún cambio, comienza a
actuar, tanto si la modificación se produce en una vista o en el modelo. Interactúa con el
Modelo a través de una referencia al propio Modelo.
¿Qué es la arquitectura de tres niveles?
El beneficio principal de la arquitectura de tres niveles es que debido a que cada nivel se
ejecuta en su propia infraestructura, cada nivel puede ser desarrollado simultáneamente
por un equipo de desarrolladores distinto y se puede actualizar o escalar según sea
necesario sin que afecte a los demás niveles.
Durante décadas, la arquitectura de tres niveles fue la arquitectura predominante para las
aplicaciones de cliente-servidor. Actualmente, la mayoría de las aplicaciones de tres
niveles son objetivos de modernización, con tecnologías nativas de la
nube como contenedores y microservicios y de migración a la nube.
Nivel de presentación
Nivel de aplicación
El nivel de aplicación normalmente se desarrolla utilizando Python, Java, Perl, PHP o Ruby,
y se comunica con el nivel de datos mediante llamadas a las API.
Nivel de datos
El nivel de datos, a veces denominado nivel de base de datos, nivel de acceso a datos o
backend, es donde se almacena y gestiona la información procesada por la aplicación.
Puede ser un sistema de gestión de base de datos relacional como PostgreSQL, MySQL,
MariaDB, Oracle, DB2, Informix o Microsoft SQL Server, o en un servidor de bases de
datos NoSQL como Cassandra, CouchDB o MongoDB.
En una aplicación de tres niveles, toda la comunicación pasa por el nivel de aplicación. Los
niveles de presentación y de datos no pueden comunicarse directamente entre sí.
Nomenclatura
El idioma por defecto a la hora de dar sentido funcional al nombre de clases, variables,
constantes, etc. será una mezcla entre la nomenclatura tradicional en inglés y la
nomenclatura funcional adoptada.
Resumiendo, aquella codificación que por estandarización y/o aceptación se pueda
escribir en inglés se mantendrá así por convenio, casos
como insert, update, delete, create, retrieve, list, set, get, newInstance, Delegate.
Para la parte funcional se utilizará castellano, por lo tanto, la nomenclatura de los
métodos será: getListEmpresa en sustitución de getListCompany o insertBanco en lugar
de insertarBanco.
11. Para que sirve las tres capacidades graficas del AWT en java. Especifica un ejemplo.
Recuerden que estos temas entran en el parcial unificado
Método paint(Graphics g)
El método paint() está definido en la clase Component, pero ese método no hace nada y
hay que redefinirlo en una de sus clases derivadas. El programador no tiene que
preocuparse de llamar a este método: el sistema operativo lo llama al dibujar por primera
vez una ventana, y luego lo vuelve a llamar cada vez que entiende que la ventana o una
parte de la ventana debe ser re-dibujada (por ejemplo, por haber estado tapada por otra
ventana y quedar de nuevo a la vista).
Método update(Graphics g)
El método update() hace dos cosas: primero re-dibuja la ventana con el color de fondo y
luego llama al método paint(). Este método también es llamado por el AWT, y también
puede ser llamado por el programador, quizás porque ha realizado algún cambio en la
ventana y necesita que se dibuje de nuevo.
La propia estructura de este método -el comenzar pintando de nuevo con el color de
fondo-hace que se produzca parpadeo (flicker) en las animaciones. Una de las formas de
evitar este efecto es redefinir este método de una forma diferente, cambiando de una
imagen a otra sólo lo que haya que cambiar, en vez de re-dibujar todo otra vez desde el
principio. Este método no siempre propor-ciona los resultados buscados y hay que
recurrrir al método del doble buffer.
Método repaint()
Este es el método que con más frecuencia es llamado por el programador. El método
repaint() llama “lo antes posible” al método update() del componente. Se puede también
especificar un número de milisegundos para que el método update() se llame transcurrido
ese tiempo. El método repaint() tiene las cuatro formas siguientes:
repaint()
repaint(long time)
repaint(int x, int y, int w, int h)
repaint(long time, int x, int y, int w, int h)
EJEMPLO:
Los controles sólo se verán si los añadimos sobre un contenedor (un elemento de
tipo Container, o cualquiera de sus subtipos). Para ello utilizamos el método add(...) del
contenedor para añadir el control. Por ejemplo, si queremos añadir un botón a un Panel: