Buscar
Social
Ofertas laborales ES
« Spring for Android 1.0 | Main | Oracle trata de recurrir el veredicto sobre las patentes, pero el juez rechaza el recurso »
jueves
may312012

Encuesta sobre plataformas tecnológicas.

De la enorme gama de herramientas, framework y tecnologías que existen actualmente entorno a la plataforma Java.

¿Cuales se están utilizando actualmente en aplicaciones productivas?.
¿En qué tipo de proyectos?.
¿Para qué tipo o tamaño de cliente?.
¿Qué nivel de penetración tienen en el mercado?.
Para un desarrollador que vive y trabaja en ciudad de México. ¿Tiene sentido capacitarse en la tecnología X?.
¿Cuáles son los nichos de mercado, que actualmente no se están cubriendo adecuadamente?.

Con el mismo espíritu y en la misma línea de la encuesta sobre "cuánto dinero ganan los programadores Java" organizada por Abraham a comienzo de año. Estas, y otras preguntas similares, son las que queremos responder con una encuesta sobre plataformas tecnológicas.

¿Pero, cuales tecnologías son las que deberíamos considerar en la encuesta?

Ese, es el motivo de esta nota, no el realizar la encuesta, (eso lo haremos en unos días), sino presentar una lista tentativa de las tecnologías, y con vuestra colaboración, asegurarnos de no dejar fuera de la encuesta, ninguna que sea relevante para el interés general.

La lista preliminar es la siguiente. Demás está decir que todos los comentarios serán tomados en cuenta.

Web UI.

  • Adobe Flex
  • GWT
  • JavaServer Faces
  • Spring Framework
  • Struts
  • JSP / Servlets.

GUI.

  • AWT
  • Swing
  • SWT
  • JavaFX
  • Qt Jambi
  • java-gnome
  • Adobe AIR
  • Android

Lógica de negocios.

  • EJB
  • Spring
  • Servlets/WS
  • Servlets/json

Mensajería / manejo de colas.

  • MQ (Apache ActiveMQ, WebSphere MQ, etc)
  • JMS
  • WebServices
  • REST

ORM o Persistencia.

  • JPA
  • Hibernate
  • TopLink
  • iBatis
  • DataNucleus

Bases de datos tanto SQL, NoSQL como orientadas a Objeto.

  • Oracle
  • PostgreSQL
  • MySQL
  • H2,
  • HyperSQL
  • Hypersonic SQL
  • db4o
  • Objectivity/DB

Datos de contexto, esto es para poder realizar el análisis.

Tipo de despliegue.

  • Internet
  • Intranet
  • OFF line

Tamaño del cliente.

  • Usuario final.
  • Pequeña o mediana: ya sean PYME's, cooperativas, o administraciones publicas tipo municipal o centros de gestión ciudadana.
  • De ámbito nacional: Empresas del país, estado nacional / provincial o cualquier otra organización que opere únicamente bajo una sola bandera.
  • Región económica. (Unión Europea, MERCOSUR, etc)
  • Global (con presencia en varios continentes).

De tu persona.

  • País donde resides, (según ISO 3166-1 alfa-2): ejemplo ES, AR, MX, CO, US, etc..
  • Tu ciudad (nombre de la ciudad en letra mayúscula).

 

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments (18)

Agregar JQuery, Javscript, etc.
Process server, Message Broker, Portales.

Saludos

mayo 31, 2012 | Unregistered CommenterJVC

deberian poner el IDE y la infraestructura

mayo 31, 2012 | Registered Commentermontblack

@JVC
html5, CSS3, JQuery, Javascript, etc.
Son complementarios (y no excluyentes) a los listados en categoría Web UI. Por lo que (en todo caso) podríamos dejarlo para otra encuesta ya directamente orientada al desarrollo / diseño web de manera específica.

De lo de " Process server, Message Broker, Portales. "
¿Podrías ampliarlo un poco?.

@montblack
Ok. con lo del IDE como categoría.

Opciones

• Eclipse (en cualquiera de sus formas, MyEclipse, IBM WebSphere, SAP NetWeaver, Oracle JDeveloper, etc..)
• IntelliJ IDEA
• NetBeans
• JCreator

• ¿Algún Otra?

Lo de "infraestructura" no me queda del todo claro a que te refieres.

mayo 31, 2012 | Registered Commenterefrigerio

En bases de datos, añadiría DB2.

Me choca que estemos mezclando GUIs que corren en navegador con las que corren en Desktop y las que corren en móviles o tabletas. La pregunta "¿Usted qué usa, GWT o Android?" Se me hace rara.

Saludos!

Francesc Rosés

mayo 31, 2012 | Unregistered Commenterfroses

Hola,

en Web añadiría Stripes, Play y Wicket

en ORM / Persitencia MyBatis, Spring JDBC y JDBC a pelo (sí, en pleno siglo xxi y todavía lo hay..)

También una categoría de construcción: Maven, Ant, Graddle, etc

y tal vez una categoría de lenguaje utilizado JDK5, 6, 7, Groovy, JRuby, Scala (no sé si ha salido en encuestas anteriores)

saludos,
perry

mayo 31, 2012 | Unregistered CommenterPerry Mason

@froses
"¿Usted qué usa, GWT o Android?"

Un aclaración importante.
Las "categorías" solo son "etiquetas" para agrupar las opciones no tienen otra utilidad.
De las "opciones" no son excluyentes, podrás tildar todas las que estés utilizando.

mayo 31, 2012 | Registered Commenterefrigerio

"JDBC a pelo (sí, en pleno siglo xxi y todavía lo hay..)"

En pleno siglo XXI, las aplicaciones de escritorio que usan bases de datos embebidas, usan JDBC directamente, porque no tiene sentido un ORM. Aparte de obtener el mejor rendimiento posible al usarlo.

No entiendo esa "manía" que se le suele tener a JDBC, como si no fuese una herramienta más de las que se dispone en el JDK. Además de que es relativamente sencillo de usar, y de "envolver" cuando sea preciso.

mayo 31, 2012 | Registered Commenterchoces

Hola, en NoSQL agregaría CouchDB. Lo de tener Eclipse para todas las variantes no me gusta, en todo caso en el análisis se puede agrupar (al revés no).
También pondría cantidad de personas del grupo de desarrollo.
Otra, Openxava (que se nos enoja Javier!) en que categoría iría? Web UI?
Saludos

mayo 31, 2012 | Unregistered Commenterdiego

Y si añades Grails y Griffon?

mayo 31, 2012 | Registered Commentergerxr

Hola,

@Choces: efectivamente tal vez esté un poco viciado, vengo de ver nuevos desarrollos en jsp+servlet+jdbc, todo a pelo y no por nada en especial, sino porque la consultora de turno tenía 3 recién licenciados (derecho, matemáticas, abogado) con un curso de java básico, y no tienen muchas ganas de "innovar". Es en este sentido lo de "siglo xxi" y todo eso.

Por otra parte, tampoco soy muy partidario de los ORMs, MyBatis y Spring JDBC son dos alternativas bastante decentes que, dando el mismo rendimiento, te abstraen del código "boilerplate" asociado a JDBC: abrir conexión, abrir statement, resultset, recorrerlo, asociar las columnas a tu objeto, cerrar los objetos, try-catch-finally. Es probablemente por eso por lo que tiene tan mala fama.

Otra muy común: resultset, statement y connection tienen un close(), ¿era tan difícil ponerlo en un interfaz? Siendo puristas, en el finally asociado al try-catch de gestión de la consulta a bbdd tengo que poner otros tres try-catch para realizar los distintos close en vez de un método genérico para gestionar el cierre de los tres objetos - no es que sea malo per se, pero es engorroso..

También puedes tirar por la opción del wrapper propio, pero normalmente no lo he encontrado necesario, especialmente en ambientes web, que es dónde trabajo; en entornos embebidos todavía, en una aplicación de escritorio no lo veo tan claro como tú y seguramente tiraría por Spring/MyBatis, pero bueno, eso es una opinión y ya sabes lo que dicen de las opiniones :O)

Por otro lado, se me ocurre que también puede ser interesante conocer cuánto evoluciona las distintas plataformas: cuánto tarda en sustituirse una versión de un framework por una nueva release, en cambiar de versión de JDK, si se está abierto a estudiar nuevas herramientas para incorporarlas a producción, etc.

saludos,
perry

mayo 31, 2012 | Unregistered CommenterPerry Mason

en NoSQL añadiría a Redis y ha MongoDB que son las que usamos nosotros.

http://antuansoft.blogspot.com/

saludos

junio 1, 2012 | Unregistered CommenterAntuanSoft

@Perry

Entonces, los que están "en otro siglo" son quienes pretenden codificar en el siglo XXI, con "java básico" :D ¿Usan todavía JavaSE 1.0? :D

Creo que se abusa demasiado del concepto "boiler plate". En sentido estricto, se debería referir únicamente a estructuras sintácticas, que siendo necesarias por las especificaciones del lenguaje, no incorporan algoritmos.
Lo que mencionas sobre JDBC no es "boiler plate" sino instrucciones detalladas que resuelven decisiones lógicas concretas. Puedes decir que es "código de bajo nivel", pero según lo que se está difundiendo como "boiler plate", dan la impresión de ser superfluas, o fácilmente sustituibles por un tipo de sintaxis más "ligera".

En JavaSE 1.7 todos ellos implementan el nuevo AutoCloseable, con lo que no solamente se reducen los catch, sino que se pueden hasta eliminar por completo, en relación con el cierre de los recursos. Solo se necesita capturar o relanzar las excepciones como siempre, pero no para asegurar el cierre de recursos como antes.
Por otra parte, los nuevos try y multi-catch aligeran considerablemente el código, al permitir la agrupación de condiciones de prueba y captura.

junio 1, 2012 | Registered Commenterchoces

Yo añadiría también un sección sobre el porcentaje (si se puede) de despliegue en las diferentes modalidades que hay: Servidor propio, hosts alquilado, nube,...

Aunque nos encante los binarios, estaría bien poder poner porcentajes en las opciones en vez de si o no.

Saludo

junio 1, 2012 | Registered Commenterrobertiano

Gente,
A no olvidar que la encuesta estará acotada a aquellas tecnologías que están siendo utilizadas en este momento.
No a aquellas que están en proceso de evaluación o capacitación.
Esto es para tener una fotografía de la realidad actual y no de futuras tendencias.

Por otra la idea es no granularizar demasiado, ya que (y además de volverme loco cuando tenga que depurar los datos y hacer el análisis), se genera una mayor dispersión.

Por otra parte siempre podemos hacer una encuesta específica para ese punto en particular (IDE vasados en Eclipse, desarrollo / diseño web, sub conjuntos de Swing, de SWT, y demás).

En ese sentido lo de lenguajes alternativos de la plataforma, preferiría dejarlo para otra encuesta.

Con respecto a versiones de la JVM, creo que Abraham ya tenía algo.

Al final del día o 1ra hora del lunes estaré subiendo una versión revisada de la lista.

Pregunta,
¿Generadores de reportes?

junio 1, 2012 | Registered Commenterefrigerio

En base datos falta Microsoft SQL SERVER

junio 1, 2012 | Unregistered Commenterinfoeduardo

Agregar Grails y Griffon.

junio 3, 2012 | Registered CommenterVaCaX

Stripes
http://www.stripesframework.org/display/stripes/Home

junio 4, 2012 | Unregistered CommenterImp

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>