Lista de IDEs para programar en C#
XDevelop
http://freecode.com/projects/xdevelop
Un IDE para programar en C# y Java. Al parecer esta descontinuado.
QuickSharp
http://quicksharp.sourceforge.net/
Un IDE para programar aplicaciones Microsoft .Net (C#). No tan robusto como Microsoft Visual Studio.
Xacc IDE
http://xacc.wordpress.com/
Un IDE para programar en varios lenguajes, entre ellos C#.
SharpDevelop
http://www.icsharpcode.net/opensource/sd/
Un IDE bastante completo para programar en C#, VB .Net y Boo.
MonoDevelop
http://monodevelop.com/
Es un IDE que permite crear aplicaciones .Net (ASP .Net), una alternativa a Visual Studio .Net.
Emonic (plugin para Eclipse)
http://emonic.sourceforge.net/
Es un plugin que se agrega Eclipse para poder crear aplicaciones C#.
Xamarin Studio
http://xamarin.com/studio
Este IDE muy completo, con integración a Visual Studio.
viernes, 30 de mayo de 2014
domingo, 25 de mayo de 2014
Programando en Java ... no. 7
En está ocasión conoceremos algunos términos de la JEE (Java Enterprise Edition) como lo es: Enterprise JavaBeans y Java Persistence API.
Enterprise JavaBeans
Básicamente son clases mucho más complejas que un simple POJO o un JavaBean. Deben ser contenidas y desplegadas dentro de un contenedor de EJBs, y esperan a que un "cliente" las invoque. No se pueden acceder de una manera directa desde un programa obviamente.
En la imagen se puede apreciar las funciones de cada capa del Modelo-Vista-Controlador.
JPA... ¿Para qué sirve?
Se trata de una herramienta de mapeo objeto-relacional que nos ayuda crear una relación entre objetos y entidades de una base de datos. Forman parte del estándar EJB.
@Entity
@Table(name="blog")
public class Blog implements java.io.Serializable{
@Id
private Long clave;
...
...
}
EJB (Sessions beans) + JPA (Entity classes)
Al crearse las entidades se encuentran en modo desconectado, es necesario hacer uso de las Sessions beans, las cuales se encargan de hacer las operaciones (con ayuda de de la EntityManager) de consulta, actualización y borrado.
public class BlogController{
@PersistContext
EntityManager em;
...
...
}
Las entidades JPA y los componentes EJB se configuran mediante anotaciones, y vaya que son muchas y con propósitos bien definidos.
Java Persistence Query Language
Se trata de un subconjunto de Hibernate Query Language, opera directamente sobre los objetos para operaciones INSERT, UPDATE, y DELETE.
SELECT b FROM Blog b
UPDATE Blog b SET b.autor='Adriana' WHERE a.titulo='Uso de Websphere en Eclipse'
DELETE FROM Blog b WHERE b.id=1022
Métodos para ejecutar sentencias JPQL
En conclusión, hablar de EJB y JPA abarcaría mucho tiempo.Falta tratar el tema de las anotaciones, configuración de los componentes, contenedores, etc.
Espero que la imagen del Modelo-Vista-Controlador ayude un poco a entender de que tratan los EJBs.
Links
http://www.objectdb.com/
http://stackoverflow.com/questions/6033905/create-the-perfect-jpa-entity
Enterprise JavaBeans
Básicamente son clases mucho más complejas que un simple POJO o un JavaBean. Deben ser contenidas y desplegadas dentro de un contenedor de EJBs, y esperan a que un "cliente" las invoque. No se pueden acceder de una manera directa desde un programa obviamente.
En la imagen se puede apreciar las funciones de cada capa del Modelo-Vista-Controlador.
- Dentro del modelo tendremos las Entity classes y las Sessions beans
- El controlador se encargara de recibir peticiones de un cliente, y si encuentra el recurso, enviar respuestas a esas peticiones
- La vista son las páginas que el usuario verá en su monitor
JPA... ¿Para qué sirve?
Se trata de una herramienta de mapeo objeto-relacional que nos ayuda crear una relación entre objetos y entidades de una base de datos. Forman parte del estándar EJB.
@Entity
@Table(name="blog")
public class Blog implements java.io.Serializable{
@Id
private Long clave;
...
...
}
EJB (Sessions beans) + JPA (Entity classes)
Al crearse las entidades se encuentran en modo desconectado, es necesario hacer uso de las Sessions beans, las cuales se encargan de hacer las operaciones (con ayuda de de la EntityManager) de consulta, actualización y borrado.
public class BlogController{
@PersistContext
EntityManager em;
...
...
}
Las entidades JPA y los componentes EJB se configuran mediante anotaciones, y vaya que son muchas y con propósitos bien definidos.
Java Persistence Query Language
Se trata de un subconjunto de Hibernate Query Language, opera directamente sobre los objetos para operaciones INSERT, UPDATE, y DELETE.
SELECT b FROM Blog b
UPDATE Blog b SET b.autor='Adriana' WHERE a.titulo='Uso de Websphere en Eclipse'
DELETE FROM Blog b WHERE b.id=1022
Métodos para ejecutar sentencias JPQL
- createQuery(String jpql)
- createNamedQuery(String nombre)
- createNativeQuery(String sql)
En conclusión, hablar de EJB y JPA abarcaría mucho tiempo.Falta tratar el tema de las anotaciones, configuración de los componentes, contenedores, etc.
Espero que la imagen del Modelo-Vista-Controlador ayude un poco a entender de que tratan los EJBs.
Links
http://www.objectdb.com/
http://stackoverflow.com/questions/6033905/create-the-perfect-jpa-entity
sábado, 3 de mayo de 2014
Groovy ... en ejemplos no. 2
Groovy ... el Python de Java
1. En este ejemplo vamos a conectarnos a una base de datos (en este caso MySQL), para esto defino los siguientes pasos:
El código 'conecta.groovy'
@Grab('mysql:mysql-connector-java:5.1.25')
@GrabConfig(systemClassLoader = true)
import groovy.sql.Sql
static main(args) {
def sql = Sql.newInstance('jdbc:mysql://localhost:3306/test','root','5432', 'com.mysql.jdbc.Driver')
def consultaSQL="select * from blog"
sql.eachRow(consultaSQL){ fila ->
println "titulo: "+fila.titulo + " , autor: "+ fila.autor+" , descripcion: "+fila.descripcion
}
}
Compilamos: groovyc conecta.groovy
Listamos dependencias: grape list
Ejecutamos: groovy conecta.groovy
2. El siguiente ejemplo es sobre la interoperabilidad entre códigoJava y Groovy.
public class Saludo{
public Saludo(){}
//método
public static void saludo(){
javax.swing.JOptionPane.showMessageDialog(null,"Hola desde una clase Java");
}
}
prueba.groovy
static main(args) {
def saludo=new Saludo()
saludo.saludo()
}
Resultado:
A programar ...
1. En este ejemplo vamos a conectarnos a una base de datos (en este caso MySQL), para esto defino los siguientes pasos:
- Crear la tabla blog e insertar algunos valores
- Crearun archivo llamado conecta.groovy
- Definir las librerías necesarias (y driver)
- Escribir la consulta SQL
El código 'conecta.groovy'
@Grab('mysql:mysql-connector-java:5.1.25')
@GrabConfig(systemClassLoader = true)
import groovy.sql.Sql
static main(args) {
def sql = Sql.newInstance('jdbc:mysql://localhost:3306/test','root','5432', 'com.mysql.jdbc.Driver')
def consultaSQL="select * from blog"
sql.eachRow(consultaSQL){ fila ->
println "titulo: "+fila.titulo + " , autor: "+ fila.autor+" , descripcion: "+fila.descripcion
}
}
Compilamos: groovyc conecta.groovy
Listamos dependencias: grape list
Ejecutamos: groovy conecta.groovy
2. El siguiente ejemplo es sobre la interoperabilidad entre códigoJava y Groovy.
- Creamos y compilamos una clase Java llamada Saludo.java
- Creamos, compilamos y ejecutamos un archivo Groovy llamado prueba.groovy
public class Saludo{
public Saludo(){}
//método
public static void saludo(){
javax.swing.JOptionPane.showMessageDialog(null,"Hola desde una clase Java");
}
}
prueba.groovy
static main(args) {
def saludo=new Saludo()
saludo.saludo()
}
Resultado:
Suscribirse a:
Entradas (Atom)