Mostrando las entradas con la etiqueta eclipse. Mostrar todas las entradas
Mostrando las entradas con la etiqueta eclipse. Mostrar todas las entradas

Que trae de nuevo Eclipse Luna

Como todos los años, viene mi review de que puede parecer interesante en la nueva versión de Eclipse. Este año eligieron una palabra bien "castellana", le tocaba a la letra "L" (el nombre anterior había sido Kepler y el anterior Juno): Luna.
Lo más llamativo de esta versión es el soporte para java 8, pero ya veremos eso con más detalle. Inicialmente podemos apreciar un nuevo logo mucho más flat, acorde a estos tiempos. El splash-screen es mucho más chico y sobrio que antes, me parece acertado el cambio, lo hace más serio y más maduro. A simple vista parece mucho más rápido que las versiones anteriores, seguramente asociado a las mejoras que continuamente se implementan relacionadas a la performance.
Para repasar, comenzaremos con las mejoras en la plataforma, lo primero que llama la atención, es tener por fin el soporte para split editors, algo que es muy interesante y se puede acceder con un par de atajos de teclado.
Otra cosa interesante es el agregado de un nuevo tema dark, a simple vista me parece muy bueno, pero no me gusta como quedan algunos iconos, ya que se ve que quedan pixeles blancos en el borde (algunos fueron rearmados con formato png, pero quedan varios con problemas de transparencia todavía), es algo que deberían mejorar. Lo bueno, sin embargo, es que al fin lograron implementar de que no sea necesario reiniciar la IDE para que tome los cambios del nuevo tema seleccionado.
Nuevo theme
Otra de las cosas nuevas es que ahora hay dos modalidades para las vistas minimizadas, una que es la original, en la cual se muestran "flotando" sobre las demás vistas, cuando uno hace click en el ícono correspondiente; y una nueva en la cual en vez de mostrar la vista superpuesta, se muestra en su ubicación original. Personalmente creo que me sigo quedando con la versión original ya que prefiero que no afecte el layout de las demás vistas.
Otro de los pequeños detalles que si hacen la vida del programador un poco más fácil, es la opción de abrir un explorador de windows en la ubicación en la que se encuentra un archivo. Para acceder a esa opción, click derecho sobre el archivo, "Show in" y luego "System Explorer".
Bueno, luego moviéndonos a las mejoras para los desarrolladores java, la estrella es el manejo de la sintaxis nueva que trae java 8. Lo mejor es la conversión automática de código que puede representarse de mejor manera usando expresiones Lambda. Se puede hacer en un método específico o a nivel global.
Soporte para expresiones lambda
También se puede convertir de expresiones block a expresiones body de un solo paso y ver el método implementado por la instancia de la interfaz utilizada, simplemente pasando el mouse por encima del símbolo "->" o el "::".
Con la venida de las anotaciones de tipo (JSR 308), el compilador de eclipse lleva el análisis de posibles NullPointerExceptions al siguiente nivel, ya que prácticamente puede detectar todos los errores de este tipo en tiempo de ejecución. Solo es necesario utilizar las anotaciones @Nullable y @NonNull de forma correcta en la definición de los parámetros de los métodos.
El depurador también ganó nuevas características relacionadas a lo nuevo que trae java 8, como por ejemplo poner breakpoints adentro de las expresiones lambda.
Eso en lo que respecta a una pasada muy por arriba de las cosas nuevas en la versión base. También como es de costumbre, hay numerosos cambios en todo el ecosistema de plugins de este megaproyecto.
En fin, me parece que este año se notan un poco más las mejoras que en lo que fue kepler, más que nada por lo que es java 8. Igualmente se nota que el esfuerzo se imprime sobre los plugins y no sobre la IDE que sigue bastante parecida a la primer versión.
Alguna otra funcionalidad que valga la pena mencionar?
Saludos!

Eclipse Kepler: Que hay de nuevo?

Hola, les cuento que si bien ya pasaron unos días que salió esta nueva versión de Eclipse, recién ahora me pude tomar unos minutos y pegarle una mirada.
Comencé leyendo un poco en los famosos New and Noteworthy, y la verdad que me quedó un sabor a poco en la boca. Esperaba más para un año de desarrollo de esta poderosa IDE.
Igualmente uno de los cambios que más promocionan son varias mejoras en la performance, por lo que me lo descargué y comencé a usarlo en algunos proyectos y comparar la velocidad con la versión anterior (Juno). Apenas lo descargué y lo utilicé, vi que el splash-screen es muy similar al anterior (Juno), no hubo un gran rediseño en esa parte.
Luego cuando terminó de cargar, noté que el look & feel sigue siendo el mismo que Juno, tampoco hubo un gran avance ahí. Lo primero que hago es sacarle el look & feel por defecto, y activar el clásico, ya que el nuevo no me gusta.
Luego, lo primero que hice fue descargar los plugins que más uso (subclipse, springide, hibernate-tools, vaadin, etc.), usando el Eclipse Marketplace. Como novedad, no fue necesario instalar Maven, ya vino con el soporte para esta herramienta incluida en la distribución. Como mala noticia, el plugin de Vaadin no funcionó, ya que no puedo abrir las pantallas para editarlas visualmente :(
Entre tantos reinicios y la mar en coche, note un poco más de velocidad, que haciendo la misma tarea en Juno, pero quizá puede ser un error de percepción.
Mientras instalaba los plugins, repasé las New and Noteworthy, y esto es lo que me pareció más interesante:

  • Posibilidad de convertir de forma automática los if-then-else en sentencias switch
  • Convertir los ifs, en ifs invertidos con sentencia return, para simplificar el código.
  • Mejor manejo de herencia de anotaciones @Nullable
  • Análisis de anotaciones @NonNull y @Nullable
  • Análisis más avanzado para posibles resource leaks (ejemplo: dejar streams abiertos)
  • Mejoras varias para la visualización de javadocs a nivel de paquete
Sustituir if-then-else con switch
Esto si hablamos de las mejoras de la IDE sin tener en cuenta los proyectos satélites, los cuales son los más jugosos. Acá lo interesante es que EGit se libera como parte de la distribución core, lo cual habla acerca de la importancia cada vez más creciente de Git en el mundo del desarrollo.
WTP (versión 3.5) tiene varios cambios, entre ellos soporte para Java EE 7, y las versiones más recientes de JSF, JPA y WebServices.
También anunciaron una nueva versión de Eclipse Orion, la IDE 100% web para desarrollar en Javascript. 
Personalmente creo que estaría bueno una versión para desarrollar en JAVA, ahí creo que estaríamos hablando de algo realmente impresionante.
Volviendo a las cosas que probé, una de ellas, fue abrir un workspace creado con Juno, no tuve ningún problema, lo abrió perfectamente sin tirar ningún error, lo cual es bueno para adoptarlo rápidamente.
Conclusión: muy pocos cambios para justificar un año de desarrollo. Si bien es una ide super completa y estable, creo que, o tienen que invertir más en marketing, anunciando de forma un poco más clara las cosas nuevas de los proyectos satélites, o bien dedicarse a agregar características más innovadoras.
Ahora no me parece extraño que en Google hayan elegido abandonar a Eclipse como IDE para desarrollar extensiones para construir aplicaciones en Android, y hayan migrado a InteliJ Idea.
Ustedes encontraron alguna otra característica interesante?
Nos leemos!

Eclipse Juno: Primeras impresiones

Todavía me estoy descargando la nueva versión de eclipse, pero ya tengo ganas de escribir un poco acerca de lo que pude advertir en las notas de lo nuevo que trae este release de una de las IDES más usadas para programar en lenguaje JAVA, y algunos otros como PHP, C++, etc.
Eclipse es un megaproyecto que, seguramente como a varios colegas, prácticamente me acompañó en toda mi vida de programador JAVA. Cuando me refiero a megaproyecto, me refiero a que ya tiene más de 20 años, lo cual no es poco en la vida de una IDE. También me refiero a que en realidad no es un único proyecto isolado, sino que es una organización incubadora de pequeñas joyas (como Mylyn, WTP, etc.) que viven dentro del ecosistema del mismo nombre.
Para los que no lo conocen (si es que hay alguien) o que no siguen los releases, hace un tiempo que se adoptó el formato de releases sincronizados anuales, con un nombre relacionado a lunas, dioses antiguos o científicos famosos. Esto fue necesario por la enorme cantidad de proyectos con versiones que dependen entre si (por ejemplo ahora fue un release de 72 proyectos simultáneos).

Nuevo y que valga la pena anotarlo

Leyendo un poco las famosas New and Noteworthy, lo primero que vemos es que despues de mucho tiempo, se optó por hacer un profundo rediseño del look & feel. La razón es adoptar un enfoque más moderno, y ocultar un poco de líneas, sobre todo en los elementos que no tienen el foco. Personalmente por lo que pude ver en las capturas, no me parece feo, pero me da la impresión de que tiene muchos espacios no aprovechados.
Relacionado a la usabilidad, pareciera que todos los elementos son un poco más flexibles. Ahora las vistas se pueden situar en el espacio de los editores, esto viene muy bien para vistas que muestran mucha información (como por ejemplo la Problems View). También se pueden disponer de forma dividida, para poder maximizar un editor, y al mismo tiempo tener una vista en la misma zona. Relacionado a esto, ahora los editores se pueden desatachar y convertirse en ventanas independientes.
Una cosa que me pareció curiosa, es que se puede seleccionar una intersección de vistas, y arrastrando se pueden dimensionar varias vistas al mismo tiempo.
Una de las cosas que por mucho tiempo diferenció a eclipse de otras IDEs, es que mantiene un "estado" de los archivos, interno e independiente de lo que ocurre por fuera de la IDE. Es decir que si uno tocaba un archivo con un editor externo, luego al trabajar con Eclipse, era necesario hacer un "refresh" (F5) sobre el mismo, para que tome los cambios. Ahora en esta nueva versión, existe un mecanismo habilitado por defecto, que lo que hace es hacer esa actualización de forma automática y en background.
Con respecto a lo que me pareció más llamativo, de lo nuevo que trae para los desarrolladores JAVA, tenemos resaltado de las llaves que engloban al código sobre el cual estamos parados (antes solo se hacía cuando estábamos parados sobre una de las llaves), posibilidad de asociar un editor a los archivos .class que no tienen código fuente asociado (antes era para todos los .class), detección de leaks cuando trabajamos con recursos y diferentes análisis para cuando trabajamos con las anotaciones @NonNull y @Nullable.
En fin, no son muchas cosas (igualmente acá estamos hablando solamente del core de la IDE, probablemente existan muchos más cambios en los proyectos satélites como WTP, etc.), pero vale la pena probarlo, ya que probablemente junto con estos new features, probablemente haya muchos bugfixes.
Terminé de bajarlo, asi que lo pruebo y les cuento!