martes, 30 de septiembre de 2014

Programacion C# Propiedades de los controles

Explicacion

Una propiedad es un miembro que ofrece un mecanismo flexible para leer, escribir o calcular el valor de un campo privado. Las propiedades pueden utilizarse como si fuesen miembros de datos públicos, aunque en realidad son métodos especiales denominados descriptores de acceso. Las propiedades de los controles nos permiten cambiar desde el comportamiento del control hasta lo que muestra. Existen dos formas de modificar una propiedad de un control.

de manera visual, haciéndolo por el panel de propiedades o por la sentencia.

de manera visual es sencillo daremos click derecho al control-> propiedades(panel de propiedades Asegúrate que estas viendo la pestaña de propiedades  que el icono es un engranaje ) y esa lista son todas las propiedades que tienen un control



en este post mencionaremos las tres propiedades mas comunes e importantes de cada control


  1. Text
  2. Visible
  3. Enabled
Estas propiedades y todas las demás, puede cambiar en tiempo de ejecución por una linea de código que modifique.

La propiedad Text Cambia lo que muestra el control un ejemplo de la propiedad text es la que puede mostrara un control Label: si modificas su propiedad text cambiara lo que muestra al usuario




La propiedad visible es binaria significa que es verdadera (True ) o falsa (False) y nos indica si el control sera visible al usuario en tiempo de ejecución o no

de ser true se vera y de ser false no se vera , Por defecto de visual estudio esta siempre sera true al crear el control.


 Control con propiedad visible=false

 Control con propiedad visible=true

la propiedad enabled le dice al control si se puede usar o no, ¿Que significa?, el control estará visible pero no reaccionara a ningún  evento que posea por lo tanto esta inactivo ( tampoco puede ser usado por el usuario ejemplo: el textbox no acepta acepta texto en su contenido), Al igual que la propiedad visible esta es binaria osease  solo puede ser true o false.Por defecto de visual estudio esta siempre sera true al crear el control.

False= el control no esta disponible
True= el control  esta disponible







 

En código

modificar una propiedad por código es fácil pues solo debes mencionar el control, llamar a la propiedad y luego de ello asignarle el valor que se desea (SOLO AL EJECUTAR ESAS SENTENCIA DE CODIGO).

ejemplo:



CUANDO EL EVENTO CLICK DEL BOTON SEA LLAMADO SE EJECUTARA TODO ALGORITMO DE CODIGOS QUE CONTIENE EN ESTE CASO SERA EL CAMBIO DE LAS PROPIEDADES DE LOS CONTROLES 

Ejercicio



Realize un programa donde modifique la propiedades vistas en este post en los siguientes controles


  • textbox
  • boton
  • Label
Las mismas deben ser modificada en código y en visual


miércoles, 24 de septiembre de 2014

Analisis Plataforma .Net

La plataforma .NET 


La plataforma .NET de Microsoft es un componente de software que puede ser añadido al sistema operativo Windows. Provee un extenso conjunto de soluciones predefinidas para necesidades generales de la programación de aplicaciones, y administra la ejecución de los programas escritos específicamente con la plataforma. Esta solución es el producto principal en la oferta de Microsoft, y pretende ser utilizada por la mayoría de las aplicaciones creadas para la plataforma Windows.

.NET Framework se incluye en Windows Server 2008, Windows Vista y Windows 7. De igual manera, la versión actual de dicho componente puede ser instalada en Windows XP, y en la familia de sistemas operativos Windows Server 2003. Una versión "reducida" de .NET Framework está disponible para la plataforma Windows Mobile, incluyendo teléfonos inteligentes.

La norma (incluido en ECMA-335, ISO/IEC 23271) que define el conjunto de funciones que debe implementar la biblioteca de clases base (BCL por sus siglas en inglés, tal vez el más importante de los componentes de la plataforma), define un conjunto funcional mínimo que debe implementarse para que el marco de trabajo sea soportado por un sistema operativo. Aunque Microsoft implementó esta norma para su sistema operativo Windows, la publicación de la norma abre la posibilidad de que sea implementada para cualquier otro sistema operativo existente o futuro, permitiendo que las aplicaciones corran sobre la plataforma independientemente del sistema operativo para el cual haya sido implementada. El Proyecto Mono emprendido por Ximian pretende realizar la implementación de la norma para varios sistemas operativos adicionales bajo el marco del código abierto.

.NET podría considerarse una respuesta de Microsoft al creciente mercado de los negocios en entornos Web, como competencia a la plataforma Java de Oracle Corporation y a los diversos framework de desarrollo web basados en PHP. Su propuesta es ofrecer una manera rápida y económica, a la vez que segura y robusta, de desarrollar aplicaciones –o como la misma plataforma las denomina, soluciones– permitiendo una integración más rápida y ágil entre empresas y un acceso más simple y universal a todo tipo de información desde cualquier tipo de dispositivo.


Elementos de la plataforma


  1. El conjunto de lenguajes de programación.
  2. La biblioteca de clases base o BCL.
  3. El entorno común de ejecución para lenguajes, o CLR por sus siglas en inglés.

Debido a la publicación de la norma para la infraestructura común de lenguajes (CLI por sus siglas en inglés), el desarrollo de lenguajes se facilita, por lo que el marco de trabajo .NET soporta ya más de 20 lenguajes de programación y es posible desarrollar cualquiera de los tipos de aplicaciones soportados en la plataforma con cualquiera de ellos, lo que elimina las diferencias que existían entre lo que era posible hacer con uno u otro lenguaje.
Algunos de los lenguajes desarrollados para el marco de trabajo .NET son: C#, Visual Basic .NET, Delphi (Object Pascal), C++, F#, J#, Perl, Python, Fortran, Prolog (existen al menos dos implementaciones, el P#1 y el Prolog.NET2 ), Cobol y PowerBuilder.


Ensamblados






Un ensamblado es un compilado EXE o DLL que contiene código CIL que se genera desde los diferentes lenguajes .NET, y que es ejecutado por el CLR. Puede contener una o varias clases al igual que uno o varios namespaces.5

Los ensamblados pueden tener diferentes decoradores que definen el entorno de ejecución de los mismos COM+, DCOM, Remoting, etc.






Biblioteca de Clases Base de .NET



  • Diagrama básico de la Biblioteca de Clases Base.
  • La Biblioteca de Clases Base (BCL por sus siglas en inglés) maneja la mayoría de las operaciones básicas que se encuentran involucradas en el desarrollo de aplicaciones, incluyendo entre otras:
  • Interacción con los dispositivos periféricos
  • Manejo de datos (ADO.NET)
  • Administración de memoria
  • Cifrado de datos
  • Transmisión y recepción de datos por distintos medios (XML, TCP/IP)
  • Administración de componentes Web que corren tanto en el servidor como en el cliente (ASP.NET)
  • Manejo y administración de excepciones
  • Manejo del sistema de ventanas
  • Herramientas de despliegue de gráficos (GDI+)
  • Herramientas de seguridad e integración con la seguridad del sistema operativo
  • Manejo de tipos de datos unificado
  • Interacción con otras aplicaciones
  • Manejo de cadenas de caracteres y expresiones regulares
  • Operaciones aritméticas
  • Manipulación de fechas, zonas horarias y periodos de tiempo
  • Manejo de arreglos de datos y colecciones
  • Manipulación de archivos de imágenes
  • Aleatoriedad
  • Generación de código
  • Manejo de idiomas
  • Auto descripción de código
  • Interacción con el API Win32 o Windows API.
  • Compilación de código

La Biblioteca de Clases Base se clasifica, en cuatro grupos clave:

  • ASP.NET y Servicios Web XML
  • Windows Forms
  • ADO.NET
  • .NET

El Common Language Runtime 



El Common Language Runtime o CLR ("entorno en tiempo de ejecución de lenguaje común") es un entorno de ejecución para los códigos de los programas que corren sobre la plataforma Microsoft .NET. El CLR es el encargado de compilar una forma de código intermedio llamada Common Intermediate Language (CIL, anteriormente conocido como MSIL, por Microsoft Intermediate Language), al código de maquina nativo, mediante un compilador en tiempo de ejecución.1 No debe confundirse el CLR con una máquina virtual, ya que una vez que el código está compilado, corre nativamente sin intervención de una capa de abstracción sobre el hardware subyacente. Es una implementación del estándar Common Language Infrastructure (CLI).
Los desarrolladores que usan CLR escriben el código fuente en un lenguaje compatible con .NET, como C# o Visual Basic .NET. En tiempo de compilación, un compilador .NET convierte el código a CIL. En tiempo de ejecución, el compilador del CLR convierte el código CIL en código nativo para el sistema operativo. Alternativamente, el código CIL es compilado a código nativo en un proceso separado anterior a la ejecución. Esto acelera las posteriores ejecuciones del software debido a que la compilación de MSIL a nativo ya no es necesaria.
A pesar de que algunas implementaciones del Common Language Infrastructure se ejecutan en sistemas operativos que no sean Windows, el CLR se ejecuta solo en Microsoft Windows.

Plataforma de integración Mono



T.C.L es el nombre de un proyecto de código abierto iniciado por Ximian y actualmente impulsado por Novell (tras la adquisición de Ximian) para crear un grupo de herramientas libres, basadas en GNU/Linux y compatibles con .NET según lo especificado por el ECMA.
Mono posee importantes componentes útiles para desarrollar software:
Una máquina virtual de infraestructura de lenguaje común (CLI) que contiene un cargador de clases, un compilador en tiempo de ejecución (JIT), y unas rutinas de recolección de memoria.
Una biblioteca de clases que puede funcionar en cualquier lenguaje que funcione en el CLR (Common Language Runtime).
Un compilador para el lenguaje C#, MonoBasic (la versión para mono de Visual Basic), Java y Python.
El CLR y el Sistema de tipos común (CTS) permite que la aplicación y las bibliotecas sean escritas en una amplia variedad de lenguajes diferentes que compilen para byte code
Esto significa que si, por ejemplo, se define una clase que realice una manipulación algebraica en C#, ésta pueda ser reutilizada en cualquier lenguaje compatible con CLI. Puede crear una clase en C#, una subclase en C++ e instanciar esa clase en un programa en Eiffel.
Un sistema de objetos único, sistema de hilos, bibliotecas de clases y sistema recolector de memoria pueden ser compartidos por todos estos lenguajes.
Es un proyecto independiente de la plataforma. Actualmente Mono funciona en GNU/Linux, OpenBSD, FreeBSD, UNIX, Mac OS X, Solaris y plataformas Windows.
Existe un proyecto similar, llamado Portable.NET, es parte del proyecto dotGNU.



Arquitectura  de Mono.



Bibliotecas de clase


Las bibliotecas de clase proveen un conjunto de facilidades que ayudan al desarrollo de aplicaciones. Son escritas en primer lugar en C#, pero gracias al lenguaje común de especificación (CLS), las mismas pueden ser invocadas en cualquier otro lenguaje de .NET. Las bibliotecas de clase están estructuradas en espacios de nombres (namespaces) y puestas en producción en bibliotecas compartidas denominadas assemblies o ensamblados. Cuando hablamos del framework de .NET, nos estamos refiriendo en primer lugar a las bibliotecas de clase.[JAC]
Espacios de Nombres (namespaces) y Ensamblados (assemblies)[editar]
Los espacios de nombres son un mecanismo que permite agrupar lógicamente clases similares en una estructura jerárquica, evitando así conflictos de nombres. La estructura se implementa utilizando palabras separadas por puntos. Por ejemplo, System.IO o System.Net agrupan las clases para acceso a ficheros y para comunicaciones de red, respectivamente.
Los ensamblados son el paquete físico de las librerías de clase. Son archivos con extensión.dll, como las librerías de Windows. Ejemplos de librerías son mscorlib.dll, System.dll, System.Data.dll.
Los espacios de nombres, por lo general, están compuestos por muchos ensamblados y un ensamblado puede estar compuesto de varios archivos.


Lenguaje Común de Infraestructura (CLR)


El lenguaje común de infraestructura o más comúnmente llamado Common Language Runtime (CLR) es implementado por el ejecutable de Mono. El runtime es utilizado para correr aplicaciones compiladas en .NET. Este lenguaje común de infraestructura está definido en los estándares ECMA y ECMA-335. Para ejecutar una aplicación se deberá invocar el runtime con los parámetros adecuados.
Lenguaje Común de Especificación (CLS)[editar]
Se encuentra especificado en el estándar ECMA-335 y define la interfaz con el CLR. Por ejemplo, convenciones sobre el tipo de datos que se utilizará para implementar los enumerados. El compilador Mono genera una imagen que cumple con el CLS, esta imagen está codificada en el denominado Common Intermediate Language (CIL) o Lenguaje Intermedio Común. El runtime de Mono toma dicha imagen y la ejecuta.


Mono y las patentes de Microsoft (2014)


La implementación de Mono de esos componentes de .NET no sometidos a ECMA para su estandarización ha levantado algunas preocupaciones por la posible violación de patentes de software durante la vida del proyecto. En particular, la discusión se desarrolló por si Microsoft podría o no destruir al proyecto mono mediante demandas sobre las patentes violadas.
En la actualidad existe un vivo debate sobre la (in)conveniencia de aceptar y usar Mono en la comunidad de desarrolladores de GNU/Linux. Los principales argumentos en contra de Mono son: mx
No está libre de patentes de software, y existe el riesgo de que Microsoft exija licencias para usar C# / CLI.1
Por otra parte, el proyecto Gnome está desarrollando un lenguaje alternativo, Vala, creado específicamente para desarrollar aplicaciones para Gnome, pero libre de las potenciales amenazas de Microsoft.2


Microsoft Visual Studio



Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) para sistemas operativos Windows. Soporta múltiples lenguajes de programación tales como C++, C#, Visual Basic .NET, F#, Java, Python, Ruby, PHP; al igual que entornos de desarrollo web como ASP.NET MVC, Django, etc., a lo cual sumarle las nuevas capacidades online bajo Windows Azure en forma del editor Monaco.
Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, así como servicios web en cualquier entorno que soporte la plataforma .NET (a partir de la versión .NET 2002). Así se pueden crear aplicaciones que se comuniquen entre estaciones de trabajo, páginas web, dispositivos móviles, dispositivos embebidos, consolas, etc.



ASP.NET 


ASP.NET es un framework para aplicaciones web desarrollado y comercializado por Microsoft. Es usado por programadores y diseñadores para construir sitios web dinámicos, aplicaciones web y servicios web XML. Apareció en enero de 2002 con la versión 1.0 del .NET Framework, y es la tecnología sucesora de la tecnología Active Server Pages (ASP). ASP.NET esta construido sobre el Common Language Runtime, permitiendo a los programadores escribir código ASP.NET usando cualquier lenguaje admitido por el .NET Framework.




C Sharp


C# es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA (ECMA-334) e ISO (ISO/IEC 23270). C# es uno de los lenguajes de programación diseñados para la infraestructura de lenguaje común.
Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes.

El nombre C Sharp fue inspirado por la notación musical, donde '#' (sostenido, en inglés sharp) indica que la nota (C es la nota do en inglés) es un semitono más alta, sugiriendo que C# es superior a C/C++. Además, el signo '#' se compone de cuatro signos '+' pegados.1
Aunque C# forma parte de la plataforma .NET, ésta es una API, mientras que C# es un lenguaje de programación independiente diseñado para generar programas sobre dicha plataforma. Ya existe un compilador implementado que provee el marco Mono - DotGNU, el cual genera programas para distintas plataformas como Windows, Unix, Android, iOS, Windows Phone, Mac OS y GNU/Linux.


(Recopilacion de paginas, no posse autoria del bloguero)

martes, 23 de septiembre de 2014

Las 7 peores consolas de video juegos segun Dross


Historia Callejera de AIKIDO



Programacion C# Metodos Eventos

Introduccion


Los eventos son bloques de códigos tipos métodos que son llamados directamente por una interacción S.O - Programa lo que quiere decir que el programador no lo llama directamente si no que en teoira es el usuario o el sistema operativo, Aunque sin embargo un evento puede ser levantado por el programado de igual manera que un métodos pero si y solo si se le pasa unos parametros específicos, "enganando " al metodo, pero tengamos en cuenta que los métodos tipo eventos son eso eventos que son levantados por un suceso en el sistema operativos. Estos suceso pueden ser desde un simple click hasta cuando un archivos se crea o se borra en determinada dirección del disco duro.


En este post veremos los eventos mas relevantes de los objetos visuales de un formularios


  1. Form
  2. Buton
  3. TextBox
para crear el evento usamos la herramiento visual studio interni sense  que nos crea en el codigo el evento. Explico:


primero click derecho sobre el control a crear el evento



luego se abrira el panel de propiedades ( dependiendo de donde este sera del lado derecho o izquierdo) y pulsamos el boton que tiene un rayo el cual nos da el sub menu de eventos. aquie sta la lista de evento que el control puede tener



en nuestro caso el evento load no esta creado para ello lo buscamos en la lista pulsamos doble click  al lado de la descripcion para que el visual studio interni sense lo cree



listo hemos creado nuestro primer evento del form en este caso sera el load pero puede ser cual quiera



Eventos importantes del Form


Eventos Load del Form:

 Este evento tiene lugar cuando se esta abriendo el formulario es el evento luego de la carga de todos los controles que maneja el formulario.

Codigo:



Evento Shown: 

este evento se lanza cuando el formulario se muestra por primera vez, y apenas sale a la luz.



 Evento MouseEnter:


Se ejecuta cuando el cursor del mouse entra a la ventana del form



Evento MouseLeave:


Al contrario que el MouseEnter este se ejecuta cuando el mouse sale de la ventana



Evento  MouseMove:

Este evento es interesante, se ejecuta mientras el cursor se mueva dentro del la ventana del form




Evento FormClosing.

Mientas el formulario tiene la señal de cierre este evento se levanta aqui podemos controlar algo muy importante que es la canselacion de un evento. pero en este caso tenemos que preguntarle al usuario si queremos cerrar el formulario.

Primero este evento se lanza cuando el formulario esta apunto de cerrarse y al finalizar el mismo si no se cancela el formulario se cierra

segundo usamos un messageBox para preguntarle al usuario si queremos cerrar el formulario, lo colocamos dentro de un if  y evaluamos la respuesta con un dialogResult el cual nos indica si la respuesta del message box fue yes o no en este caso

por ultimo para cancelar el evento en caso de que la respuesta del messagebox fuera "no", lo hacemos usando el "e.cancel" y como es una propiedad le asignamos un true  tratando de decirle que la cancelación del evento es verdadera.




Eventos del boton


evento click:

Se levanta cuando se le da click al control en este caso el boton pero casi todos los controles poseen este evento

codigo:


Eventos del Textbox:


evento KeyPress:

se levanta cuando dentro del control textbox se pulsa una tecla ( y si se mantiene presionada el evento sigue levantandose)


En este caso para cancelar el evento usamos el Handled y le asignamos un true para cancelarlo pero si queremos seguir ejecutando el evento le asignamos un true

Por ortro lado para evaluarlo usamos la clase char y sus métodos que nos permite saber si el carácter de la tecla es letra, numero o un control


Fin




Ejecicio:


Realize un form que un textbox tenga el evento click y en el borre el contenido del mismo, y que en el evento keypress del mismo textbox se levante otro formulario de la solucion. 

Solución:


Referencias necesarias:



http://therussianbassmanprogramer.blogspot.com/2014/08/programacion-c-manejo-de-formularios.html

http://therussianbassmanprogramer.blogspot.com/2014/07/programacion-1-c-metodos-pt1.html


http://therussianbassmanprogramer.blogspot.com/2014/06/programacion-1-c-estructuras-de-control_24.html

http://therussianbassmanprogramer.blogspot.com/2014/06/programacion-c-introduccion-la.html



lunes, 22 de septiembre de 2014

Análisis Plataformas de desarrollo (java)

La plataforma Java es el nombre de un entorno o plataforma de computación originaria de Sun Micro systems, capaz de ejecutar aplicaciones desarrolladas usando el lenguaje de programación Java o otros (c + + y c). En la ejecución de sus  aplicaciones esta plataforma genera una maquina virtual la cual reune todo los recursos necesarios desde bibliotecas estándares hasta comando y uso del framework para la correcta comunicacion con el sistema que esta anclada la plataforma, por esta razón se reconoce que esta plataforma puede trabajar en diversos sistemas operativos desde los privados hasta los públicos y desde los sistema orientados a casas y oficinas hasta para empresas e industria informática.

Existen varia versiones de de esta plataforma y un objetivo para cada una de ellas:





1- Java Platform, Standard Edition:

o Java SE  es una colección de APIs del lenguaje de programación Java útiles para muchos programas de la Plataforma Java. Agunas de las apis mas importantes son:


java.applet

Creado para soportar la creación de applet Java, el paquete java.applet permite a las aplicaciones ser descargadas sobre una red y ejecutarse dentro de una sandbox. Las restricciones de seguridad son impuestas fácilmente en la sandbox. Un desarrollador, por ejemplo, puede aplicar una firma digital a un applet, en consecuencia etiquetándola como segura. Haciéndolo permite al usuario conceder permiso al applet para realizar operaciones restringidas (tales como acceder al disco duro local), y elimina alguna o todas las restricciones de la sandbox. Los certificados digitales son emitidos por agencias como Thawte o Entrust.

java.beans

Incluidos en el paquete java.beans hay varias clases para desarrollar y manipular beans, componentes reutilizables definidos por la arquitectura JavaBeans. La arquitectura suministra mecanismos para manipular propiedades de componentes y lanzar eventos cuando esas propiedades cambian.
La mayoría de las APIs en java.beans están pensadas para su uso en herramientas de edición de beans, en la cual los beans puedan combinarse, personalizarse y manipularse. Un tipo de editor bean es el diseñador GUI en un entorno de desarrollo integrado(IDE).

java.awt

La Abstract Window Toolkit contiene rutinas para soportar operaciones básicas GUI y utiliza ventanas básicas desde el sistema nativo subyacente. Muchas implementaciones independientes de la API Java implementan todo excepto AWT, el cual no es usado por la mayoría de las aplicaciones de lado de servidor. Este paquete también contiene la API de gráficos Java 2D.

java.rmi

El paquete java.rmi suministra invocación a métodos remotos Java para soportar llamadas a procedimientos remotos entre dos aplicaciones Java que se ejecutan en diferentes JVM. Esto es esencial para tener en cuenta en la certificación

java.security

Soporte para seguridad, incluyendo el algoritmo de resumen de mensaje, está incluido en el paquete java.security.

java.sql

Una implementación de la API JDBC (usada para acceder a bases de datos SQL) se agrupa en el paquete java.sql.

javax.rmi

suministra el soporte para la comunicación remota entre aplicaciones, usando el protocolo RMI sobre IIOP. Este protocolo combina características de RMI y CORBA.

2 - Java Platform, Enterprise Edition


 o Java EE (anteriormente conocido como Java 2 Platform, Enterprise Edition o J2EE hasta la versión 1.4; traducido informalmente como Java Empresarial), es una plataforma de programación—parte de la Plataforma Java—para desarrollar y ejecutar software de aplicaciones en el lenguaje de programación Java. Permite utilizar arquitecturas de N capas distribuidas y se apoya ampliamente en componentes de software modulares ejecutándose sobre un servidor de aplicaciones. La plataforma Java EE está definida por una especificación. Similar a otras especificaciones del Java Community Process, Java EE es también considerada informalmente como un estándar debido a que los proveedores deben cumplir ciertos requisitos de conformidad para declarar que sus productos son conformes a Java EE; estandarizado por The Java Community Process / JCP.

Java EE tiene varias especificaciones de API, tales como JDBC, RMI, e-mail, JMS, Servicios Web, XML, etc y define cómo coordinarlos. Java EE también configura algunas especificaciones únicas para Java EE para componentes. Estas incluyen Enterprise JavaBeans, servlets, portlets (siguiendo la especificación de Portlets Java), JavaServer Pages y varias tecnologías de servicios web. Ello permite al desarrollador crear una Aplicación de Empresa portable entre plataformas y escalable, a la vez que integrable con tecnologías anteriores. Otros beneficios añadidos son, por ejemplo, que el servidor de aplicaciones puede manejar transacciones, la seguridad, escalabilidad, concurrencia y gestión de los componentes desplegados, significando que los desarrolladores pueden concentrarse más en la lógica de negocio de los componentes en lugar de en tareas de mantenimiento de bajo nivel.


La especificación original J2EE fue desarrollada por la empresa Sun Microsystems.
Comenzando con J2EE 1.3, la especificación fue desarrollada bajo el Java Community Process. JSR 58 especifica J2EE 1.3 y JSR 151 especifica J2EE 1.4.
El SDK de J2EE 1.3 fue distribuida inicialmente como beta en abril de 2001. La beta del SDK de J2EE 1.4 fue distribuida por Sun en diciembre de 2002.
La especificación Java EE 5 fue desarrollada bajo el JSR 244 y el lanzamiento final se hizo el 11 de mayo de 2006. La versión actual tiene el nombre de Java EE 6 y fue lanzada en 2009. ( Java EE 8, versión 2014)


APIs importantes:

javax.ejb


La API Enterprise JavaBeans define un conjunto de APIs que un contenedor de objetos distribuidos soportará para suministrar persistencia, RPCs (usando RMI o RMI-IIOP), control de concurrencia, transacciones y control de acceso para objetos distribuidos.

javax.naming


Los paquetes javax.naming, javax.naming.directory, javax.naming.event, javax.naming.ldap y javax.naming.spi definen la API de Java Naming and Directory Interface (JNDI).


java.transaction

Estos paquetes definen la Java Transaction API (JTA).

javax.xml

Estos paquetes definen la API JAXP.

javax.jms

Estos paquetes definen la API JMS.

javax.persistence


Este paquete provee las clases e interfaces para gestionar la interacción entre los proveedores de persistencia, las clases administradas y los clientes de la Java Persistence API.


Herramientas de desarrollo Java de código


  1. NetBeans IDE, un IDE basado en Java.
  2. La plataforma Eclipse, un IDE basado en Java.


3 - Java Micro Edition

La plataforma Java Micro Edition (Java ME), o anteriormente Java 2 Micro Edition (J2ME), es una especificación de un subconjunto de la plataforma Java orientada a proveer una colección certificada de APIs de desarrollo de software para dispositivos con recursos restringidos. Está orientado a productos de consumo como PDAs, teléfonos móviles o electrodomésticos.
Java ME se ha convertido en una buena opción para crear juegos en teléfonos móviles debido a que se puede emular en un PC durante la fase de desarrollo y luego subirlos fácilmente al teléfono. Al utilizar tecnologías Java el desarrollo de aplicaciones o videojuegos con estas APIs resulta bastante económico de portar a otros dispositivos.

Java ME fue desarrollado mediante el Java Community Process bajo la especificación JSR 68. La evolución de la plataforma ha propiciado el abandono de las Java Specification Request (peticiones de especificación para Java) en favor de JSRs separadas para las distintas versiones de Java ME.

Java Runtime Environment

Un programa destinado a la Plataforma Java necesita dos componentes en el sistema donde se va a ejecutar: una máquina virtual de Java (JVM), y un conjunto de bibliotecas para proporcionar los servicios que pueda necesitar la aplicación. La JVM que proporciona Sun Microsystems, junto con su implementación de las bibliotecas estándar, se conocen como Java Runtime Environment (JRE) o Entorno en tiempo de ejecución para Java. El JRE es lo mínimo que debe contener un sistema para poder ejecutar una aplicación Java sobre el mismo.

Máquina Virtual de Java

El corazón de la Plataforma Java es el concepto común de un procesador “virtual” que ejecuta programas escritos en el lenguaje de programación Java. En concreto, ejecuta el código resultante de la compilación del código fuente, conocido como bytecode. Este “procesador” es la máquina virtual de Java o JVM (Java Virtual Machine), que se encarga de traducir ( interpretar o compilar al vuelo) el bytecode en instrucciones nativas de la plataforma destino. Esto permite que una misma aplicación Java pueda ser ejecutada en una gran variedad de sistemas con arquitecturas distintas, siempre que con una implementación adecuada de la JVM. Este hecho es lo que ha dado lugar a la famosa frase: “write once, run anywhere” (escribir una vez, ejecutar en cualquier parte). La condición es que no se utilicen llamadas nativas o funciones específicas de una plataforma y aún así no se asegura completamente que se cumpla una verdadera independencia de plataforma.

La palabra Java, por sí misma, se refiere habitualmente al lenguaje de programación Java, que fue diseñado para usar con la Plataforma Java. Los lenguajes de programación se encuentran fuera del ámbito de lo que es una “plataforma”, aunque el lenguaje de programación Java es uno de los componentes fundamentales de la plataforma Java. El propio lenguaje y el entorno en tiempo de ejecución suelen considerarse una única entidad.
Sin embargo, se han desarrollado fuera del entorno de Sun, un gran número de compiladores para la máquina virtual de Java (JVM). Algunos de estos lenguajes son:

AspectJ
Groovy
Jabaco
JRuby
Jython
NetREXX
Nice
Pizza
Rhino
Scala


Bibliotecas de Java

En la mayoría de los sistemas operativos actuales, se ofrece una cantidad de código para simplificar la tarea de programación. Este código toma la forma, normalmente, de un conjunto de bibliotecas dinámicas que las aplicaciones pueden llamar cuando lo necesiten. Pero la Plataforma Java está pensada para ser independiente del sistema operativo subyacente, por lo que las aplicaciones no pueden apoyarse en funciones dependientes de cada sistema en concreto. Lo que hace la Plataforma Java, es ofrecer un conjunto de bibliotecas estándar, que contiene mucha de las funciones reutilizables disponibles en los sistemas operativos actuales.


Java como lenguaje de programación.

 Java diseñado por  Sun Microsystems Inc, con el propósito de crear un lenguaje que pudiera funcionar en redes computacionales heterogéneas (ya sean PC, MAC's, estaciones de trabajo, etc.),y que fuera independiente de la plataforma en la que se vaya a ejecutar. Esto significa que un programa de Java puede ejecutarse en cualquier máquina o plataforma. El lenguaje fue diseñado con las siguientes características en mente:

Simple. Elimina la complejidad de los lenguajes como "C" y da paso al contexto de los lenguajes modernos orientados a objetos. Orientado a Objetos. La filosofía de programación orientada a objetos es diferente a la programación convencional.

Familiar. Como la mayoría de los programadores están acostumbrados a programar en C o en C++, el sintaxis de Java es muy similar al de estos.

Robusto. El sistema de Java maneja la memoria de la computadora por ti. No te tienes que preocupar por apuntadores, memoria que no se esté utilizando, etc. Java realiza todo esto sin necesidad de que uno se lo indique.

Seguro. El sistema de Java tiene ciertas políticas que evitan se puedan codificar virus con este lenguaje. Existen muchas restricciones, especialmente para los applets, que limitan lo que se puede y no puede hacer con los recursos críticos de una computadora.

Portable. Como el código compilado de Java (conocido como byte code) es interpretado, un programa compilado de Java puede ser utilizado por cualquier computadora que tenga implementado el interprete de Java.
Independiente a la arquitectura. Al compilar un programa en Java, el código resultante un tipo de código binario conocido como byte code. Este códido es interpretado por diferentes computadoras de igual manera, solamente hay que implementar un intérprete para cada plataforma. De esa manera Java logra ser un lenguaje que no depende de una arquitectura computacional definida.

Multithreaded. Un lenguaje que soporta multiples threads es un lenguaje que puede ejecutar diferentes líneas de código al mismo tiempo.
Interpretado. Java corre en máquina virtual, por lo tanto es interpretado.

Dinámico. Java no requiere que compiles todas las clases de un programa para que este funcione. Si realizas una modificación a una clase Java se encarga de realizar un Dynamic Bynding o un Dynamic Loading para encontrar las clases.

Java puede funcionar como una aplicación sola o como un "applet", que es un pequeño programa hecho en Java. Los applets de Java se pueden "pegar" a una página de Web (HTML), y con esto puedes tener un programa que cualquier persona que tenga un browser compatible podrá usar.



Ejemplo de codigo:

// Hola.java
 import javax.swing.*;
 
 public class Hola extends JFrame {
     Hola() {
         setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
         add(new JLabel("Hola, mundo!"));
         pack();
     }
 
     public static void main(String[] args) {
         new Hola().setVisible(true);
     }
 }


NetBeans





Es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación Java. Existe además un número importante de módulos para extenderlo. NetBeans IDE2 es un producto libre y gratuito sin restricciones de uso.
NetBeans es un proyecto de código abierto de gran éxito con una gran base de usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios en todo el mundo. Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio de 2000 y continúa siendo el patrocinador principal de los proyectos.

La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de un conjunto de componentes de software llamados módulos. Un módulo es un archivo Java que contiene clases de java escritas para interactuar con las APIs de NetBeans y un archivo especial (manifest file) que lo identifica como módulo. Las aplicaciones construidas a partir de módulos pueden ser extendidas agregándole nuevos módulos. Debido a que los módulos pueden ser desarrollados independientemente, las aplicaciones basadas en la plataforma NetBeans pueden ser extendidas fácilmente por otros desarrolladores de software.

El NetBeans IDE es un IDE de código abierto escrito completamente en Java usando la plataforma NetBeans. El NetBeans IDE soporta el desarrollo de todos los tipos de aplicación Java (J2SE, web, EJB y aplicaciones móviles). Entre sus características se encuentra un sistema de proyectos basado en Ant, control de versiones y refactoring.


(Recopilacion de paginas, no posse autoria del bloguero)


lunes, 15 de septiembre de 2014

Programacion C#: Creacion y manejo de un dll como proyecto en solución visual studio.

Hola hoy aprenderemos como Crear un dll y manejarlo como poryecto dentro de nuestra solucion de visual estudio

Nota el ejemplo se encuentra en visual studio 2012 


Explicaion

Para empezar un dll es una bibloteca o un conjunto de clases que nos proporciona métodos  que solucionan partes de un programa para ser usada como objetos dentro de nuestra  aplicación. También existe la posibilidad que estos dlls sean creados por los mismos programadores y entonces tenemos de una manera mas ordenada y  de fácil acceso nuestra solución, Digo facil por que de ser necesario una modificion en nuestra aplicación podemos usar directamente estas dll e incluso podríamos usarla una vez compilada en otras soluciones tan solo habría de agregarla como referencia y Voilà!!


Ejemplo:




Para empezar iniciamos nuestro vs y seguido creamos un proyecto de tipo form
en este caso le agregamos un textbox y un boton



Ref 1

luego de ello vamos a la ruta que vemos en la imagen (Ref 1) que es click derecho sobre el nombre de la solucion /agregar/nuevo proyecto

y  saldra esta pantalla

Ref2


En ella seleccionamos en la lista el tipo de proyecto que en este caso sera bibloteca de clases 
Y le colocamos un nombre ( este nombre sera el nombre del proyecto... Una Solucion puede tener x Proyectos )



este proyecto te pre carga una clase la cual Explicaremos

1 = Es el nombre al cual pertenece esta clase  como puede ver es el mismo nombre del proyecto tipo dll

2 = Es el nombre de la clase dentro del proyecto dll y es publico  

3 = Es el metodo dentro de la clase el cual es publico tambien


Ahora esto así no se puede usar directamente en el proyecto aplicación dll tipo form por que no esta agregado como referencia. Una referencia es una librería que se compilara junto con la solución  para poder ser ejecutada.



agregamos una referencia



ref 5


Para seleccionar como referencia nuestro dll en la solución seguimos la guía 






                                                                 Ref 6

Ahora esta agregada como referencia pero no esta en uso dentro de la clase del form asi que la agregamos 


using Dll_LibreriaCLase;



                                                                         ref7

 Ahora la tenemos agregada como referencia y esta en uso dentro del form class por ultimo para usarla podemos ver en la (ref 7) evento click del boto 

1 La referencia esta en uso y por lo tanto se puede instanciar en el la clase y usar sus elementos

2 para seguir un orden usamos el nombre de la referencia seguida de sus elementos

3 una vez instanciado la clase del dll que vamos a usar , usamos el metodo nombreporgramador y se lo asignamos a un objeto

4 el metodo es tipo string como puede apreciarse por lo tanto retorna un string



Si compilamos y si seguimos las instrucciones pasara esto: 



Ejemplo Descargable





Referencias


http://therussianbassmanprogramer.blogspot.com/2014/06/programacion-c-introduccion-visual.html




NestJs Error on SecretKey for JWToken

  Imagine this you are coding happy, configuring your module has   auth.module.ts   using on your register the classic call to get env value...