2008-10-12 17 views
5

Actualmente estoy estudiando Informática en la universidad, donde principalmente enseñan la edición estándar de Java, veo que en la industria esto no se usa mucho, en cambio se usa Java EE. Si mi universidad me está enseñando Java SE en lugar de Java EE, ¿esto me hace menos útil?Java SE vs Java EE, universidad y carrera profesional

¿Y cuáles son las diferencias? diferente sintaxis? forma diferente de programación o qué?

+1

Aquí hay una pista: deje caer el "I Actualmente estoy ... "cosas. El "... ¿me hace menos empleable?" no es realmente una pregunta útil, es una decisión. Céntrate en cosas que podamos responder: J2EE vs. J2SE y qué personas realmente usan. –

+3

Sólo una nota al margen: Java 2 Enterprise Edition (J2EE) pasó a llamarse Java Enterprise Edition (Java EE; JEE) en 2005 más o menos. Sería genial si la gente finalmente adoptara el nombre actual, más simple (y más lógico) ... – Jonik

+1

@Jonik: Sí, también me estoy hartando de eso. Han pasado tres años. Cuando veo "J2EE" creo que Java 1.4 –

Respuesta

0

Java EE es solo un superconjunto de Java SE (bibliotecas de empresa tales como servlets). Aprenda Java SE y conoce principalmente Java EE.

1

El lenguaje Java en sí mismo es un aspecto del desarrollo de Java. Las aplicaciones creadas con la edición estándar satisfacen ciertas necesidades. Pensando que puede simplemente "mejorarlo" con la edición empresarial si todo lo que sabe es la edición estándar, es una idea errónea. Las bibliotecas hacen el lenguaje. Aunque ciertos aspectos de Java EE tienen sus (merecidos) críticos, todavía hay una gran cantidad de funcionalidades allí. Incluso las partes cuestionables todavía se usan mucho en la industria.

11

Java SE contiene las bibliotecas estándar de Java: todos los elementos básicos, contenedores, red, GUI, etc. Está destinado principalmente para aplicaciones de escritorio y applets de navegador.

Java EE agrega un marco de servidor. Cuando hablas de Java en el servidor, esto es a lo que te refieres. Es una gran biblioteca , con muchas "mejores prácticas" preestablecidas. Cuando los JIT aún eran jóvenes, el diseño altamente escalable de Java EE lo hizo muy bien recibido en el servidor, además de la sobrecarga (entonces significativa) de JVM.

Realmente no he usado Java EE en algo serio; pero creo que es mejor aprender Java SE primero, y luego Java EE. Lleva más tiempo; pero le permite comprender mejor cuál es el idioma y cuál es el marco.

2

En mi opinión, la universidad está realmente destinada a enseñarte a ser fuerte en los conceptos básicos y no necesariamente para enseñarte las habilidades exactas que necesitarás en un trabajo. Entonces, más que nada, recomendaría que se asegure de estar aprendiendo los conceptos que se encuentran en los requisitos de las aplicaciones empresariales (por ejemplo, transacciones, colas de mensajes/temas, etc.). Sin embargo, si esto realmente le preocupa, le sugiero que haga un autoestudio (posiblemente para crédito del curso). Además, intente encontrar una pasantía que le permita jugar en algún código Java EE.

Me estaba haciendo la misma pregunta cuando estaba llegando al final de la universidad. Ahora estoy trabajando en un entorno Java EE y había alguna curva de aprendizaje para usar las bibliotecas Java EE. Tengo que estar de acuerdo con muchos otros y decir que hacer un desarrollo java empresarial no es muy divertido en comparación con otros proyectos en los que he trabajado, así que es posible que quieras seguir divirtiéndote en la universidad y dejar las cosas aburridas para cuando formes parte de la fuerza de trabajo.

18

Para todos los efectos, Java y Java SE son la misma cosa. Cuando dices que estás aprendiendo Java SE, significa que estás aprendiendo Java, su sintaxis, características y bibliotecas estándar. No puede aprender Java EE antes de aprender estas habilidades.

Java EE es un conjunto de estándares que definen muchas interfaces y funciones diferentes para la creación de software para abordar problemas de nivel empresarial. Estos incluyen cosas como transacciones, informática distribuida, mensajería, aplicaciones web y gestión de recursos. Todos los cuales se proporcionan en un entorno administrado. Todo lo cual está codificado para el lenguaje Java, con reglas y características particulares debido al entorno en el que se ejecutará el software.

Piense en aprender Java SE como aprender a conducir un automóvil.Java EE es como aprender a manejar un camión de 18 ruedas, no necesita saber cómo hacerlo para pasar de A a B, pero seguro que le ayuda si tiene que llevar 10 toneladas de carga con usted 8-)

+2

Lo veo de esta manera: "JSE" y "J2EE" son ambos "Java" si (a) usted es una agencia de contratación, o (b) has estado lidiando con ellos por mucho tiempo ... –

2

Así es como lo veo.

El lenguaje de programación tal como lo conoce se llama Java.

Como la mayoría de los otros lenguajes de programación, también viene incluido con muchas bibliotecas estándar.

Java SE es la combinación del lenguaje y ciertas bibliotecas que hace posible el desarrollo general de aplicaciones.

Java EE es otro conjunto de bibliotecas que puede usar en combinación con Java SE para desarrollar también aplicaciones empresariales/web.

1

De Wikipedia:

La plataforma Java (Enterprise Edition) difiere de la Norma Edition Plataforma Java (Java SE) en el que se añade bibliotecas que proporcionan funcionalidad para desplegar tolerante a fallos, distribuido, de varios niveles de software de Java , basado principalmente en componentes modulares que se ejecutan en un servidor de aplicaciones.

La sintaxis es la misma. Todo lo que aprenda perteneciente a Java SE se aplicará a Java EE. Simplemente agrega un montón de nuevas API y exige un cierto estilo de diseño de aplicaciones que se adapta bien a tipos específicos de problemas. Ese tipo de problemas (grandes, tolerantes a fallos, distribuidos, escalables, de varios niveles ...) y cómo resolverlos son realmente de lo que trata Java EE, no las API reales que forman parte de la especificación.

Recuerde que un grado CS no es un título vocacional. Está destinado a enseñarle cómo aprender y pensar, no a entrenarlo en un conjunto de habilidades específicas adaptadas a un nicho específico de la industria.

0

Creo que estás malinterpretando la relación de Java SE (o "Core Java) y Java EE.

Core Java es importante aprender y es lo que la mayoría de las escuelas a las que van a enseñar.

Dado que la programación gira alrededor del uso de ruedas en lugar de reinventarlas, generalmente hay bibliotecas con código para realizar tareas complejas.

Por ejemplo, algunas escuelas enseñan a las personas a construir GUI utilizando la biblioteca de clases AWT o Swing que se suministran con Java, aunque hay otras opciones.

Java EE, aunque es compatible con software adicional para ejecutar el programa en servidores, se puede considerar más como una biblioteca de clases y servicios relacionados. Todavía hace Java constantemente, solo usa una biblioteca popular y compatible con Sun. También verá Hibernate y Spring que no son parte de Java EE.

La mayoría de los lugares en primer lugar querrán asegurarse de que su Java sea sólida. Al comenzar a trabajar, obtendrá experiencia en el uso de partes específicas de Java EE.

8

Si mi universidad me está enseñando Java SE en lugar de Java EE hace esto me hace menos empleable?

No. Eso es lo que su universidad debe hacer: enfóquese en los fundamentos. En el caso de Java, eso significa principalmente la edición estándar.

Java EE (no J2EE; vea mi comentario en la pregunta) agrega algunas API, especificaciones y bibliotecas Java del lado del servidor. Los más importantes de estos son la especificación de contenedor Servlet API y JSP. Pero creo que es importante saber que incluso en el lado del servidor, ¡se trata principalmente de Java estándar! Es muy posible que realice el desarrollo de Java en el servidor sin tener que aprender la mayoría de las tecnologías Java EE, como Enterprise Java Beans (EJB), especialmente con el surgimiento de enfoques alternativos y ligeros como favor de POJO s, con Hibernate para la persistencia capa. Muchas partes de Java EE como EJB definitivamente han pasado el pico de su ciclo de bombo. Puede que ni siquiera necesite conocer a fondo todo el Servlet y el JSP de "nivel inferior", ya que los marcos de nivel superior como Struts, JSF o Wicket se han hecho populares.

Un estudio de caso: Aprendí los fundamentos de Java (y programación OO) en la universidad, y solo muy poco (y nada práctico) sobre Enterprise Edition. Ahora he trabajado 4-5 como "desarrollador de Java EE", es decir, haciendo Java en el servidor. Nunca he usado realmente EJB, o la mayoría de las otras tecnologías Java EE. En su mayoría he hecho solo Java puro (es decir, edición estándar), con algunas cosas relacionadas con JSP, Servlets, Filters, etc. (además de técnicas web como HTML, JS, CSS); haciendo uso de lotes de bibliotecas (en su mayoría de código abierto) de terceros, y recogiendo todo lo que necesite. (Sin embargo, estoy planeando repasar mi conocimiento de Java EE, y take the SCWCD en algún momento; creo que eso me haría bien incluso si Java SE va un largo camino :)