Sunteți pe pagina 1din 3

Este documento intenta ser una guía sobre algunas de los tipos de tecnologías en uso

actualmente, de qué se tratan o para qué sirven y ejemplos de algunas de las “marcas” más
conocidas de cada tipo. Está todo simplificado a modo orientativo, si quieren saber más
sobre alguna busquen en wikipedia.

HTML: Lenguaje de tags para describir páginas web.


HTML5: Mismo que HTML con nuevos tags agregados, como los tags semánticos y los
multimedia.
CSS: Hojas de estilos para darle riqueza visual y estructura visual a las páginas HTML
CSS3: Idem con más cosas
Bootstrap: Es un framework de CSS y JS para agilizar y resolver tareas comunes en el
desarrollo. Componentes comunes, estructura en columnas y filas, etc. Alternativas: Zurb
Foundation.
JavaScript: Lenguaje de programación que corre en los navegadores web, se usa
generalmente para dar dinamismo a las páginas web, pero es un lenguaje completo que
puede utilizarse para lo que sea.
jQuery: Librería escrita en javascript que permite a los programadores simplificar y
potenciar el uso de javascript. Enmascara en tal medida a javascript que uno puede
aprender jQuery y lograr las mismas cosas que con javascript, con menos código y menos
esfuerzo.
JAVA: Lenguaje de programación open source. Para aplicacioneos WEB corre en el
servidor, y no en las computadoras de los clientes en los navegadores. También se usa
para aplicaciones de escritorio, y demás. ACLARACIÓN. Que JAVA sea un lenguaje open
source significa que como está implementado el lenguaje por dentro es de acceso público.
Además tiene licencias que nos permiten trabajar y hacer dinero usando el lenguaje sin
tener que pagarle nada a nadie.
Servidor Web: Programa de computadora que atiende pedidos de los usuarios.
Alternativas: Apache para PHP, Tomcat de Java (nosotros usamos uno de los que trae
ninja, creo que se llama jetty)
Framework Ninja: Conglomerado de tecnologias open source para el desarrollo de
aplicaciones Java. Ninja, entre otras cosas trae un servidor web, un framework de templates
(Freemarker), etc. Alternativas: Java Play para JAVA, Sinfony2 para PHP, Rails para Ruby,
etc. Aclaración: Otros frameworks como .NET traen todo junto que se instala presionando
un boton. La razón por la que Ninja utiliza muchos frameworks y software de otros proyectos
no es otra que la filosofía open source. Ninja simplemente agrupa muchas tecnologías de
otros proyectos, pero cada proyecto se hace cargo de mantener su parte. Es un esfuerzo
colaborativo, como todo proyecto open source, y gracias a eso también es gratis usarlo y
usarlo con fines comerciales.
MVC: Pratón de diseño usado para separar la parte que ven los usuarios (Vistas), de las
acciones necesarias para responder los pedidos de los usuarios (Controlador), de la
información inherente a las cosas con las que estamos tratando (Modelo). Muchos
Frameworks, como NINJA traen un esqueleto de proyecto que sigue los lineamientos de
MVC.
Maven: Software que nos ayuda a instalar automaticamente todas las cosas que se
nedcesitan para que ande todo. (En particular, Ninja es open source, se instala mediante
Maven y Maven se asegura de que se instale todo lo necesario para que todo ande. Casi
todas las tecnologias open source siguen esta idea, a diferencia de software propietario que
todo se isntala desde un mismo lugar, en los casos open source, el software necesario a
instalarse pertenece a muchos lugares diferentes.) Aunque Maven sea molesto, es el que
nos ayuda a que instalar todo no sea un infierno.
Framework de templates: Esto es lo que permite que en las vistas uno pueda utilizar un
html decorado con comandos especiales para inyectar datos dinamicamente, repetir
porciones, etc. En Ninja usamos Freemarker. Alternativas: handlebars
Servidor de Base de Datos: Programa que responde pedidos relacionados a la
información que debe persistir (mantenerse aunque se corte la luz), permite creación de
tablas, consultas, eliminacion, etc. Utiliza lenguaje SQL para comunicarse con el resto del
mundo. Existen otros tipos de bases de datos llamados no relacionales que suelen no usar
SQL se las conoce como noSQL. nosotros usamos un servidor llamado mySql. Alternativas
de servidores SQL: Postgres, SQLServer, etc
Cliente de Base de Datos: Un cliente es alguien que consume los servicios de un servidor,
nosotros usamos Heidi como cliente para hacer pruebas y mantenimiento, pero en la
realidad, el cliente que realmente hará uso del servidor de base de datos es nada mas y
nada menos que el servidor web. El sevidor web hará consultas para persistir información,
dado que el servidor web sí se puede apagar de tanto en tanto, no puede recordar nada, en
cambio el servidor de base de datos guarda su información en discos rigidos.
jdbc: Es un driver que viene con Java para poder conectarse y comunicarse con el servidor
de bases de datos, por ejemplo con mySQL.
mySql: una marca de Servidor de Base de datos gratuita de oracle.
ORM/EntityManager: La estructura de tablas donde se guarda la informacion es fija. Esa
estructura esta replicada con programacion orientada a objetos mediante definiciones de
clases en el Modelo de MVC dentro del servidor web. Ejemplo, Tabla Mensajes - Clase
Mensaje en models. Esta relación entre objetos en el servidor y registros en las tablas de la
base de datos se engancha mediante tecnicas genericamente llamadas ORMs, o sea:
Object-relational mappings. Mapeo(enganche) de objetos y tablas relacionales. Hoy en dia
esta bastante cuestionado la utilidad de estas cosas, pero muchas empresas y proyectos
(casi todos) los siguen usando. Alternativas Hibernate. Nosotros enganchamos estas cosas
mediante anotaciones de JAVA, el EntityManager es el objeto de Java que nos permite
trabajar con el ORM. En definitiva, nosotros le damos indicaciones al entity manager, y el se
encarga de hacer lo necesario para impactar los cambios en el servidor de base de datos,
por ejemplo con la función persist. El entityManager esconde un poco lo que realmente
sucede con la base de datos.
Objetos: En programacion orientada a objetos, un objeto es una cosa en la memoria que
representa algo de la vida real, tienen datos y metodos (funciones) para manipularlos.
Clase: Es la definición de un tipo de objeto. Podria decirse que es el plano con el cual se
construyen los objetos, cada tipo de objeto es de una determinada clase porque sigue ese
plano: variables internas (de instancia) y metodos (funciones o cosas que saben responder
todos los objetos de ese tipo, o dicho de otro modo, de esa clase)
Herencia: Es una tecnica de la programacion orientada a objetos mediante la cual se
pueden definir clases que son herederas de otras clases. O sea, tipos de objetos que son
iguales a otros, pero con particularidades. Por ejemplo, la clase Pajaro Carpintero hereda de
la Clase Pajaro. Entonces si yo creo un objeto de tipo Pajaro Carpintero, va a saber hacer
todo lo que hacen los Pajaros, excpeto que tal vez algunas acciones las hace a su manera,
como el metodo cantar(); (No lo vimos en el curso, pero pueden investigar mas sobre el
tema en internet)
Clave: (en relacion a Bases de Datos) En una tabla en la base de datos existen muchos
campos que uno define: edad, telefono, descripcion, etc. Se suele incluir un campo unico e
irrepetible a todas las tablas para que internamente sea más eficiente el uso de la tabla y
sea más facil armar relaciones con otras tablas sin problemas. Este campo unico e
irrepetible suele ser de tipo entero y se lo denomina CLAVE. Podria haber mas de una clave
por tabla, pero con una alcanza, se suele agregar un campo artificial llamado ID a toda tabla
y se lo marca como clave.
Clave Foranea: Para establecer relaciones entre los registros (entradas) de una tabla y otra
se guarda como campo extra en una, el id del registro de la otra. De este modo, queda
relacionado que, por ejemplo, si queremos que los Contactos de mi agenda tengan
asociados varios numeros telefonicos, el de su casa, del trabajo, el movil… Ahi tendriamos
que tener una tabla NrosTelefonicos con el nro, la descripcion y el campo del ID de A quien
pertenece. En la tabla Contactos tendriamos el ID, el nombre, etc. Ambos campos ID son
clave, pero en el caso de los Contactos es el ID de esa tabla, y en el caso de los
NrosTelefonicos es la clave foranea, es decir, de otro lado. A los campos de clave foranea
se les suele poner el nombre de la tabla adelante estilo cliente_id. Todo esto visto desde el
lado del modelo a traves del ORM serian objetos en memoria, por lo que los objetos de tipo
Contacto tendrian una forma de acceder a sus nrosTelefonicos del estilo:
Contacto c = new Contacto(340); // esto trae el contacto cuyo id es 340
ArrayList<String> numeros = c.getNrosTelefonicos(); // esto trae los numeros telefonicos

S-ar putea să vă placă și