JavaFX 1.0 marca el primer paso de Sun en proveer una novedosa plataforma para crear Aplicaciones Sofisticadas de Internet y distribuirlas en todas las pantallas de tu vida!
JavaFX proporciona la libertad y la flexibilidad de crear RIAs (Rich Internet Aplications) y ejecutarlas en múltiples dispositivos electrónicos, incluyendo: teléfonos móviles, computadores personales, televisores, entre otros.
Principales características de la version 1.0 de JavaFX:La primera versión de JavaFX está realmente destinada a proveer una solida base para todos los avances venideros. Esta versión se ha enfocado en dar muy buen soporte al trabajo con animaciones, gráficos, multimedia, en otras palabras, se está creando una base muy robusta sobre la cual poder agregar Controles Gráficos (formularios, tablas, validadores, etc.), así como Frameworks para facilitar la creación de Aplicaciones de Gestión, Persistencia de Datos, etc. En este contexto se puede hacer una analogía a lo que sucedió con Flash y Flex, Flash es la base, Flex es el Framework para construir RIAs con Flash. JavaFX tiene un mayor musculo que Flash (el gran Universo Java), muy pronto vendrán muchos Componentes y Frameworks para utilizar con JavaFX.
Un aspecto muy importante de JavaFX es que no está restringido por compatibilidades con versiones preexistentes, lo cual da la libertad a sus diseñadores de crear e implementar el mejor diseño posible para ellos, facilitando también la evolución del Lenguaje, aquí la Capacidad de Evolucionar es directamente proporcional a la Libertad.
Como es normal, las primeras versiones tienden a mostrar lo básico y tienen muchos -nice to have- pendientes. Lo que no se puede negar es que JavaFX se ve muy, pero muy prometedor! Una de los aspectos que más me impacta es que la forma de codificar me parece mucho más ágil que en Flex y AS3, no conozco Silverlight aun. Sin mencionar todo el Universo Java comparado con el Mundillo Flash/Flex.
Las próximas versiones de JavaFX saldrán mucho más rápido, en unas cuantas semanas deberíamos tener una siguiente versión de JavaFX, mucho mejor rendimiento de los applets y un mejorado soporte en los entornos de desarrollo, en pocos meses el soporte oficial para Linux, entre otros.
Lo dicho, este es apenas el comienzo! Una lectura muy recomendada acerca del Pasado, Presente y Futuro del Mundo Desktop en Java: http://www.pushing-pixels.org/?p=922 Enlace al oficial “Acerca de” de JavaFX: http://www.javafx.com/about/overview/"Las próximas versiones de JavaFX saldrán mucho más rápido, en unas cuantas semanas deberíamos tener una siguiente versión de JavaFX, en pocos meses el soporte oficial para Linux". @Marioko me tome la libertad de incluir tu comentario. Gracias.
Desde mi punto de vista, desconozco el proposito de sun en este aspecto, ahora mismo tendriamos que estar programando widget y gadget, con soporte multiplataforma.
Hace mucho tiempo, vi JMF soportaba mp3, y un largo etc pero no me parecio que era el mundo java.
Un mal diseñador trabajando con flash hace animaciones mejores que el mejor programador de java, bueno si hay algun diseñador vale.
Como digo una vez un gran linuxero, basta ya de copiar, basta de meter con calzador lo que hace C#, basta de intentar emular a ADOBE y vamos a hacer lo que java sabe hacer bien. Coger disposivitos que cada uno debe programarse con un api distinto y hacerlo unico para el programador.
Al igual que en su dia habia cientos de moviles y salio J2ME, ahora hay cientos de entornos para consolas de videojuegos, wii, psp, ps3, xbox ... ese es un camino.
El otro es integrar grid en el sistema, este metodo de mi servlet o ejb va a correr en grid, esta parte de la aplicacion va a poder utilizar los multicores, ...
Otro punto seria el de widget o gadget, pero seguramente hay mas terreno en el que trabajar, la implementecionde lenguajes en java puede ser un filon de futuro, imaginarse lenguajes poco habituales de programacion, ADA, modula 3, o VBssic, C, o COBOL. Cualquier lenguaje podrias desarrollar en cualquier lugar.
Vamos que como siempre la gente de SUN falla en el escritorio, pero es realmente buena en otras partes.
Se me olvidaba los lenguajes declarativos, estilo CSS, XSL o similares no son muy amigables para el programador, por lo que no si haces un lenguaje para un diseñador grafico a no ser que te llames Macromedia va ser dificil que lo utilizen.
Aunque estoy killado con SUN por olvidar a los usuarios de linux en el relase....Que cosas, tendré que esperar un tiempo para probar la tecnología.
PAX
Lo que comenta batch4j es cierto, pero pongamonos a pensar, ¿quien duda sobre el gran y excelente soporte de java en los server?
Mi analisis es: Si utilizando java puedes crear un servidor de aplicaciones lo suficientemente mounstroso como para soportar miles de usuarios, integrarlo en un cluster o en grid, utilizar muchas bases de datos, servicios web,etc, y ese mismo server es tan flexible que lo puedes embeder en aplicaciones pequeñar para hacer pruebas y utilizando java puedes crear sistemas tan complejos como de reconocimiento de voz, aplicaciones que controlan maquinas o robots, ir a marte tener un monton de frameworks para cada gusto, un rica variedad de documentacion, poder soportar lenguajes dinamicos y que estos que se ejecutan sobre la JVM sean hasta mas rapidos que las implementaciones nativas y crear los mejores entornos de desarrollo que existen (IntelliJ, Netbeans, Eclipse) utilizando simple y llanamente JAVA. Como no va a se posible y viable hacer que JavaFX tenga exito.
Vamos, una aplicacion que utilice audio y video y 3D y animaciones no es ni de cerca mas compleja que un servidor de aplicaciones. Mi conclusion a todo es (concordando con roger):
Este es solo el comienzo!
Si JavaFX se llamara Swing2,¿ entonces seria la cosa diferente? para el que no lo sepa JavaFX es un swing2, totalmente diferente y sin embargo con soporte al swing clasico. Y apesar de que SUN a fracasado en otros intentos en el pasado para hacer cosas para el lado del cliente. Seguimos viendo a Swing vivito y coleando y es tan robusto que se podra mantener en pie sin inyeccion economica de Sun por un buen tiempo. Estoy seguro que nadie duda de la potencia y multiplataformidad de Swing. JavaFX es simplemente una plataforma recien nacida que tiene una larga vida por delante.
@Vacax: JavaFX actualmente SI se puede utilizar en Linux, pero no esta soportado oficialmente, es cuestion de un poco de tiempo para tener soporte directo y ya esta.
@Este JavaFX esta muy deficiente dudo que con la supervelocidad de los applets puedan darle a el monopolio Flash que empieza a ser afactado por Silverlight
esto cada vez parece mas una secta
Segmentacion y mas segmentacion.
Estas aplicaciones RIA deberian tener unos estandares a seguir, ya tenemos tres javafx, silverlight y adoble flex.
No estoy seguro que este javafx triunfe, creo que el futuro sera entre silverlight y adobeflex.
En el siguiente link encontraran unas palabras de Josh Marinacci explicando por que todavia no hay soporte para linux y solaris
http://blogs.sun.com/javafx/entry/a_word_on_linux_and
Para los dos anonimos:
- El de la secta : tal vez el tono de la noticia sea muy de publicidad, pero es que acaba de salir, ¿que esperas?
- El de la "supervelocidad de los applets" : a ver, que parece mentira que haya que repetirlo tantas veces. Eclipse no es lento. Netbeans no es lento. Son aplicaciones perfectamente usables que estoy seguro que conoces porque estas leyendo un foro de programadores. La ejecucion de Java probablemente sea mas lenta que la ejecucion de C si ambos los programa el mismo tio, pero es perfectamente usable. Los applets son mas lentos en arrancar porque tienen que bajar por la red, y un applet de un mega tarda en bajar *exactamente* lo mismo que un flash de un mega. Una vez que ha bajado, ¿que diferencia de velocidad hay entre ellos?
¿Quieres hacer animaciones? Adelante, tal vez para eso sea mejor Flash, pero para hacer *aplicaciones* que se ejecuten dentro del navegador, lo que pomposamente ahora se llama "nube" (nombre mucho mas chulo que "terminal tonto", aunque sea un terminal X), Java es estupendo. Tanto que ahi el invitado de piedra por logica deberia ser precisamente Flex. La unica oportunidad que tiene Flex de triunfar, y no es pequeña, la apuntaba Batch4j en dos comentarios: las animaciones las hacen diseñadores y esos son clientes de Flash.
Flex puede triunfar mientras se piense que todo lo que se puede hacer en un navegador es solo presentacion. El enemigo de JavaFX no es Flex, si no toda la constelacion de .Net, con sus aplicaciones que se ejecutan dentro o fuera del navegador indistintamente (Avalon, creo que se llamaba)
"- El de la secta : tal vez el tono de la noticia sea muy de publicidad, pero es que acaba de salir, ¿que esperas?"
Como mínimo NO encontrar un montón de palabritas como Framework, Componentes, Lenguaje, Capacidad de Evolucionar y Libertad con mayúscula sin ninguna razón en absoluto. rogerjose81, no te lo tomes a mal, pero tanta palabrita con mayúscula queda estúpido.
ah, y nilojg "en la nube" != "dentro del anvegador".
"ah, y nilojg "en la nube" != "dentro del anvegador"."
ya, lo de la nube tiene mas que ver donde se ejecuta la aplicacion que en no tener nada en tu pc, pero el hype hace esa asociacion, y si la mayoria de la gente la hace, como lo de "nube" es una forma de hablar, pues para que te entiendan la tienes que hacer.
Y tanto JavaFX como .Net te permiten acceder a una aplicacion de la nube (lo entiendas como lo entiendas) tanto desde dentro como desde fuera del navegador. Flex, no lo se. Mira lo cojonudo que es JavaFX, con palabrejas en mayusculas y todo.
JavaHispano no es una secta. De hecho, en pocos sitios donde se trate Java encontraras mas comentarios con "peros" respecto a Sun, Java...
Hombre, rogerjose81, parece que los de Sun te pagan comisión por hacerles publicidad. Hasta ahora no hemos visto nada de todo eso. A mí personalmente me parece muy meritorio lo que han hecho, pero me sigue resultando un empeño bastante forzado. Donde mejor funciona java es en el servidor.
Se nota que algunas veces se comenta sin ni siquiera tomarse el trabajo de leer un poco al respecto. Sun no me paga (ojala! ;)) por publicar esta noticia con ahínco; es solo que realmente me alegra que se comienze el tan anhelado (por muchos) Swing2 - JavaFX Script. Lo que mas impacta es decirle al lenguaje que debe hacer y no como debe hacerlo.
@batch4j: Un mal diseñador trabajando con flash hace animaciones mejores que el mejor programador de java / Esto es obvio, es precisamente uno de los principales objetivos que se estan atacando.
Es muy util que puedas hacer un programita para desktop y que sin modificarlo lo puedas ejecutar en tu movil, etc, eso me parece muy cool (ya lo he comprobado), y lo mejor sin salir de Java.
En mi actual empleo me toca lidiar con PHP5, AS3 y Flex (nada de Java), entre mas me adentro en estos lenguajes mas falta nos hace la potencia y la robustez de Java, y aunque no he probado .NET creo que es el unico que se puede medir con Java.
En estos dias que comenze a toquetear JavaFX y he comprobado lo facil que es trabajar con el, una muestra de mi primera animacion (simplemente mueve el circulo a la posicion del numero en una calc):
def circle = Circle {
centerX: 10
centerY: 10
radius: 10
fill: Color.WHITE
}
def rectangle = Rectangle {
width: 300
height: 300
fill: Color.RED
onKeyPressed: function( e:KeyEvent ):Void {
procesaTecla(e.text)
}
}
Stage {
title: "Ve al numero ?"
scene: Scene {
content: Group {
content: [
rectangle
,
circle
]
}
}
}
function procesaTecla(key:String):Void {
var ax;
var ay;
if(key == '1'){
ax = 50;
ay = 50;
} else if(key == '2'){
ax = 150;
ay = 50;
} else if(key == '3'){
ax = 250;
ay = 50;
} else if(key == '4'){
ax = 50;
ay = 150;
} else if(key == '5'){
ax = 150;
ay = 150;
} else if(key == '6'){
ax = 250;
ay = 150;
} else if(key == '7'){
ax = 50;
ay = 250;
} else if(key == '8'){
ax = 150;
ay = 250;
} else if(key == '9'){
ax = 250;
ay = 250;
} else {
ax = 10;
ay = 10;
}
transladaCirculo(ax, ay);
}
function transladaCirculo(x:Number, y:Number):Void {
ParallelTransition {
node: circle
content: [
FadeTransition {
duration: 0.6s
fromValue: 1.0
toValue: 0.1
repeatCount:2
autoReverse: true
},
TranslateTransition {
duration: 1s
toX: x
toY: y
repeatCount: 1
autoReverse: false
}
]
}.play()
}
El punto es que hay que discutir con argumentos, y aunque suene a publicidad, la verdad es que hasta ahora no habia visto un lenguaje que permitiera trabajar con graficos y multimedia de forma tan amena, si conocen alguno que lo mejore por favor haganmelo saber.
Obviamente aun hay muchisimas cosas por mejorar, y si Sun no se pone las pilas, JavaFX no va a llegar a ningun lado.
hey roger, esta muy bueno tu ejemplo, esta muy bien organizado (los que habia visto no los entendia muy bien) y aunque todavia no me he leido un tutorial de javaFx script tu ejemplo se entiende perfectamente. Esta simplicidad y declaratividad de JFX permitira que en poco tiempo tengamos soporte visual en netbeans, de hecho ReportMill tiene un JFX Builder que permite diseñar graficos visualemente.
http://www.reportmill.com/jfx/
Para mi lo unico que necesita JFX es que los applets se carguen mas rapido y que tengan soporte directo para crear Splash para mostrar algo mas decente que el logo de java mientras se cargan..
Estoy de acuerdo con el otro anonimo que indica que esto cada dia se parece mas a una secta. Aun no he visto un articulo donde se critique a Java Swing, Applets y demas en javahispano, sin embargo de Flex, se generaron dos noticias en dos semanas, y una era de pena.
Flex no es solo navegador, hay una cosa que se llama AIR, :P.
Sin acritud, pero creo que falta un poco de sentido critico y menos propaganda, vale que esto se llame javahispano, pero se echa en falta un poco de independencia. Una pena la verdad.
al ultimo anonimo, se nota que hablas por hablar, si asi como te tomas el tiempo en escribir un comentario diciendo que javahispano es una secta, deberias tomarte el tiempo para leer con calma las noticias. Parece que unicamente lees el titulo de la noticia y luego opinas. Si examinas cuidadosamente aqui hemos destrozado y criticado objetivamente casi todos los frameworks/toolkit java que mas se utilizan, si lees la primera noticia sobre JFX, yo critique varias cosas de JFX y de Swing, y obviamente JFX esta lejos de hacerle competencia a Flex o Silverlight, pero por algo se tiene que empezar, es simplemente esperar y ver que pasa despues.
Para mi lo unico que necesita JFX es que los applets se carguen mas rapido y que tengan soporte directo para crear Splash para mostrar algo mas decente que el logo de java mientras se cargan..
Si no me equivoco, eso ya lo tienen los applets, así que JavaFX debería tambien tenerlo, vamos.
Si quieres criticas a SUN, awt, applet, ... google ... Linux, no tienes mas que leer algunos post de mi blog, en las que se critica mas a Java que a Microsoft, ya que todavia no he conseguido nada mejor que el word, excel, powerpoint ... De hecho ahora mismo hay uno sobre el soporte GRID.
De acuerdo con batch4j, cuando hay que criticar se critica, y cuando hay que reconocer se reconoce también.
La razón por la que no incluí criticas en la noticia inicial es porque es un producto que acaba de salir al mercado, ademas intente enfocar la noticia a mostrar las bondades que ofrece JavaFX sobre el actual ambiente Destop en Java (lo cual, insisto, me parece que promete mucho).
PD: Tambien me parecen word, excel y powerpoint de los mejores programas jamas creados.
Para Marioco :
Soy el ultimo anonimo,
Primero : En ningun momento he dicho que javahispano sea una secta, deberias tomarte tu tiempo en leer lo que estas criticando. Aun asi, perdonad todos aquellos a los que ha ofendido mi anterior post, cuando decia "Sin acritud", me referia exactamente a eso, a sin animo de ofender, de modo que por favor, Marioco, no pongas en mi boca palabras que nunca he dicho.
Segundo : Cuando me referia a que cada vez esto se parece mas a una secta, me referia al hecho que tu mismo confirmas, siempre existe la misma discusion sobre los RIA, y evidentemente siendo esto JAVAHISPANO, pues se defiende a Swing, a mi entender. Soy un fan de Java, y cada dia me pregunto por que, :P.
Tercero : Es evidente que este articulo no es mas que simple propaganda del producto, sino mira los propios enlaces que se adjuntan. No tengo nada en contra, pero creo que se deberia indicar en el articulo que es una traduccion de la pagina de entrada de JavaFx.
Cuarto : Si deberia tomar mas tiempo para leer javahispano, hombre llevo mas de 6 años haciendolo incluso una vez estuve registrado, pero la verdad es que lo que me atrajo de esta comunidad era java en español, unicamente, cuando quiero estar enterado de lo ultimo, como cada hijo de vecino lee en ingles, por eso, me gusta esta inciativa. Y a que viene esto, a que no hablo por hablar y cuando digo que a Flex se le mete mas caña que a Java en este portal, es que es la realidad. Simplemente busca en la pagina, Swing y Flex, mira cuantos titulos hay sobre los defectos de Swing y cuantos hay de Flex, si aun asi piensas que hablaba por hablar eres libre de hacerlo, pero no por los motivos que indicabas en tu post.
Saludos y espero no haber ofendido a nadie esta vez.
ok todo claro entonces, pero no estoy de acuerdo en que dices que se ataca mas a otras tecnologias que lo se ataca a java. Es cierto que en algunos casos varias personas simplemente dicen tonterias sobre su lenguaje/ide/loquesea favoritos sin ningun fundamento. Obviamente en JavaHispano se habla mucho mas de Java que de cualquier otra tecnologia. Pero aqui a todas las tecnologias java y no java les damos cuchillo cuando se lo merecen. De hecho creo que todas las criticas que se hacen en este portal de las cosas buenas o malas que existen en java han hecho que muchos, me incluyo, aprendamos un monton sobre que hacer y que no en Java y en otras tecnologias.
@siempre existe la misma discusion sobre los RIA
RIA te guste o no, es uno de los principales temas de moda, y ahora mas porque hay mas gallos en la gallera.
@pues se defiende a Swing
Swing ha sido bastante criticado en JavaHispano, incluso, si analisas con cuidado, esta misma noticia contiene una pequeña critica contra Swing.
@creo que se deberia indicar en el articulo que es una traduccion de la pagina de entrada de JavaFx.
Falso, solo los tres primeros parrafos son una versión resumida y traducida de la pagina de entrada (hubiera sido mejor mencionarlo, es cierto), el resto es mi opinion personal (La primera versión de...) y un fragmento publicado por marioko en su noticia anterior sobre javafx.
@cuando digo que a Flex se le mete mas caña que a Java en este portal, es que es la realidad.
Eso es lo mas normal del mundo, o acaso esperas que siendo este un portal de javeros se hable mas y mejor de otra tecnologia? Se habla mas y mejor de Java en los foros Flex?
Saludos!
la verdad que ultimamente apesta esto de "las molestias de lo que se lee" vamos muchachos! esto es un foro de tecnologia, y mientras no se falte el respeto se dice lo que sea (respecto a tecnologia hablo) luego si esto es una secta o no, la verdad que me parece triste que la gente se dedique a ver eso.. si no te gusta lo que lees, todo bien, leelo y dejalo, o acaso entran a todos los foros y critican si esta mal? esto es una comunidad java, estamos todos con java, quien mas quien menos, a mi la verdad que me encanta el lenguaje y trabajo dia a dia con el, en la primera noticia de javaFX critique (junto a muchos) que no este el sdk para linux, con lo cual no todo es parcial, y si lo fuera que? en lo particular no escribire mas este tipo de offtopics, porque no lo merecen, y propongo a la gente copada de esta comunidad que busca noticias e inquietudes, como asi tambien quienes colaboran respondiendo, ignorar comentarios que no suman ni restan, si alguien dice qeu esto es una secta, o que es cualquiera, ya fue ni le respondamos, respondiendole solo le damos mas letra para que nos haga perder el tiempo, el cual seria mas lindo si de 20 comentarios leeria 20 comentarios de tecnologia y no 10 de tecnologia y 10 de gente que opina cosas que realmente no son relevantes. Sigamos asi que este tipo de comunidades realmente son muy copadas, a la gente que nos interesa clato esta.
por lo menos... asi lo veo yo
abrazo gente!
J
Google Native Client
http://blog.wired.com/business/2008/12/googles-native.html
El comienzo del fin de Flash, Flex, Laszlo, JavaFX, Ajax .... ... silverlight.
:'(
nlog4 mencionaste algo muy cierto flex es una total porqueria el gran enemigo para JavaFX y que dudo que lo sobrepase es Silverlight que si bien esta apenas en su version 2.0 ya es una muy buena solucion para RIA'S.
Google Native Client... El comienzo del fin de Flash, Flex, Laszlo, JavaFX, Ajax .... ... silverlight.
Hasta ahora, vapoware, y si hay que creer lo que dice el artículo, nada nuevo que no se haya intentado ya y la verdad es que las explicaciones que hay en el artículo son mas bien contradictorias. Java, Flex y Silverlight no sirven por que son una capa intermedia entre el navegador y el SO y GNC usará... ¿? un plugin Los mismos tres no sirven por que no te dan todo el poder del S.O. y GNC...¿? También será multiplataforma.
Y la frase para enmarcar es esa de "los usuarios se lo instalaran si los desarrolladores hacen aplicaciones con el". Ains, a estas alturas de Internet, semejante ingenuidad debería ser delito. Creerse que sólo con el huevo o la gallina lo tienes solucionado... Me da que Google afortunadamente no es tan ingenuo y ahí aparece Chrome, que "casualmente" seguro que tendrá ese plugin por defecto en cuanto salga.
Y la verdad, no entiendo tanta tontería con que Flex y Java sean "antagónicos", un porcentaje laaaargo de aplicaciones Flex tienen Java en el servidor como "backend" así que como mucho los que son antagonistas son JavaScript y Flex. Cuando los applets pinten algo fuera de las empresas, entonces quizá haya algo que discutir pero de momento, poca pelea hay. Lo de que Flex es una mierda y Silverlight promete, con la diferencia en uso real ahora mismo entre uno y otro es como un chiste, pero sin ser gracioso.
¿Quién podrá ayudarnos? ¿Quién podrá detener tanta diversidad y falta de homogeneidad de estas soluciones? ¿Algún organismo regulador tipo www que fije un estándar?. Yo creo que mientras esto no ocurra, volverémos a vivir la antigua historia de la Torre de Babel.
Lo de Google Native Client aun no se puede "tocar".
En cuanto a lo de estandarizar las RIAs, a mi parecer, es practicamente imposible (por lo menor por ahora), es casi como pedir que se cree un standard para los diferentes sistemas operativos.
Aprovecho para dejar un link a un Applet muy vistoso hecho en JFX: http://www.javafx.com/samples/EffectsPlayground/
Y Java no es un estandar de programacion para los diferentes sistemas operativos.
Hola,
Como ya alquien ha comentado en otra noticia anterior, JavaFX está también pensado para dispositivos móviles. Creo que Sun tiene verdadero pánico a un desembarco masivo de Flash en el móvil. Además, con ello abriría la puerta a que diseñadores que actualmente utilizan Flash para desarrollar juegos (véase kongregate) se inicien en juegos para móviles. Hay que reconocer que para un diseñador acostumbrado a Flash, la programación de Midlets es un poco hostil.
Recordemos que en los móviles es en el único sitio en el que Java tiene supremacia en el lado cliente (todavía).
En mi opinión va más orientado a eso que a otra cosa. Pensar en JavaFX como sustituto, incluso a largo plazo, de Flash es más que optimista; repito, en mi opinión.
Un saludo.
¿Quieres usar JavaFX en Linux ya y ahora??
Yo no se de donde viene tanta euforia. Los anteriores proyectos de Sun han sido un fracaso total, fundamentalmente a los mínimos esfuerzos que se han llevado a cabo con ellos. Los Applets hasta hace dos días (j6u10), estaban completamente abandonados y realmente no eran alternativa para hacer nada serio. Swing lleva mucho tiempo abandonado tambien, apesar de las virtudes de Java Web Start, y no se ha hecho casi nada para cubrir sus carencias en cuanto a componentes de calidad prefabricados (salvo SwingX que nunca a tenido mucho impulso de Sun).
Ahora llega JavaFX, que seguramente se quedará en el camino. Sun todavia no ha entendido que la clave esta en las herramientas, mas que en las tecnologias. Flash tiene el respaldo de herramientas productivas, al igual que Silverlight. Crear un nuevo lenguaje script (que no se sabe que aporta) para JavaFX solo supone duplicar esfuerzos y meter otra barrera a la adopcion del framework. Me parece mucho mas acertado el enfoque de MS con XAML y su integracion con Visual Studio. Y no, NetBeans no le llega ni a la suela del zapato a Visual Studio.
"Un Lenguaje los más cercano al Natural: JavaFX utiliza un lenguaje declarativo que permite describir fácilmente que debe hacer tu aplicación y como debe lucir."
¿¿¿Un lenguaje declarativo???. ¿¿¿Esto es declarativo???:
"function procesaTecla(key:String):Void {
var ax;}"
Solo porque Sun diga que es un lenguaje declarativo no quiere decir que lo sea.
Aver... el mismo ejemplo escrito en Scala
val circle = new Circle {
centerX = 10
centerY = 10
radius = 10
fill = Color.WHITE
}
val rectangle = new Rectangle {
width = 300
height = 300
fill = Color.RED
def onKeyPressed( e:KeyEvent ) = procesaTecla(e.text)
}
object Stage extends Stage {
title = "Ve al numero ?"
scene = new Scene {
content = new Group {
content = List(
rectangle
,
circle
)
}
}
val coordenadas = Map(
'1' -> (50, 50),
'2' ->(150, 50),
'3' -> (250, 50),
'4' ->(50, 150),
'5' ->(150, 150),
'6'->(250, 150),
'7'->(50, 250),
'8'->(150, 250))
def procesaTecla(k: String) = transladaCirculo(coordenadas(k))
def transladaCirculo(coord: (Int, Int)): Unit = {
val (x, y) = coord
new ParallelTransition {
node = circle
content = Array(
new FadeTransition {
duration = 0.6s // Scala tambien soporta unidades
fromValue = 1.0
toValue = 0.1
repeatCount = 2
autoReverse = true
},
new TranslateTransition {
duration = 1s
toX = x
toY = y
repeatCount = 1
autoReverse = false
}
)
}.play
}
No entiendo para qué tuvieron que definir otro lenguaje más, sin embargo, el API FX debe ser fácilmente accesible desde Scala, así que es una buena alternativa ;)
La adopcion de Jquery por Microsoft da que pensar, Cuanto tiempo es necesario para hacer un porte de flash a J2ME, pues ese puede ser el futuro. Bueno, mientras Sun se empeña en el cliente cuando de todos es sabido que el cliente es el browser y que poco a poco iremos de los pesados PC a los netpc, psp, wii, etc o sea cualquier cosa con wifi va a utilizar servicios, no web services, en la web. Alguno de vosotros utiliza un lector de news estilo usenet o todos ya trabajamos con foros web. Alguno mantiene correos "no corporativos" leidos con pop3 o casi todos tenemos cuenta en algun web mail. Todavia teneis las fotos y los videos en el pc, o por el contrario las poneis en internet. Bueno el futuro esta en el browser, porque queremos todavia programar al estilo "window" y recordad: Los proyectos venden porque los diseñadores graficos los hacen vistosos, os recuerdo la siguiente entrada en mi blog http://weblogs.javahispano.org/batch4j/entry/la_mano_que_pinta_el
@batch4j El lio no es solo de vistosidad, es de potencia pura y dura, de integracion con los sistemas operativos, lastimosamente eso no lo podemos conseguir con ajax ;)
Al Anonimo de las 10/12/2008 18:02, la funcion "procesaTecla" puede ser escrita de muchas formas mas optimas y sencillas que esa, de echo, una forma es calcular el valor de x utilizando div y mos sobre el numero recibido y hacer lo propio con y, es solo cuestion de mostrar el ejemplo ;).
Por lo demas JavaFX sigue siendo mas natural, en Scala (new y Array?). Solo ignora el codigo de la funcion "procesaTecla" y veras a lo que me refiero.
Saludos.
Estoy totalmente de acuerdo con batch4j, lo que vende es la vistosidad. Esta claro que por muy bonito que sea, si no va cara al aire pues no se vende, pero a un comercial dale algo que es bonito y veras como te lo agradece mas que si es rapido.
Saludos.
¿No hubiera sido más fácil y más portable, adaptar Rhino a ECMAScript 4, y utilizar eso en lugar de JavaFX Script? Digo, para hacer un lenguaje nuevo, que sólo difiere en 2 o 3 cosas, prefiero un estándar. Ya sé que ECMAScript 4 se cayó hace un par de meses, pero hace un año y medio, cuando aparecií JavaFX, ES4 tenía mucho futuro por delante.
Por otra parte, ya es hora de que Sun asuma que Java es una plataforma, y que importan más las APIs y frameworks que los lenguajes.
Por cierto, y en referencia a Scala, si una clase de declara como "case", no hace falta anteponer el new al constructor.
@atesti: ya es hora de que Sun asuma que Java es una plataforma, y que importan más las APIs y frameworks que los lenguajes.
Tu lo haz dicho y eso mismo esta haciendo Sun, mira por ejemplo Glassfish con soporte para JRuby, PHP y Groovy, o Netbeans 6.5, con soporte para PHP, Ruby, Groovy, Scala, Python, Javascript, , etc. Todos ellos se pueden ejecutar sobre Java Platform y como dijo el anonimo, mientras que las API de JavaFX sean accesibles desde java (y lo son) podras usar cualquier lenguaje para programar JFX. El JavaFX Script es simplemente un DSL especial para programar graficos
Es claro que Sun necesitaba desde hace tiempo un lenguaje especialmente diseñado para crear gráficos, multimedia y RIAs, aprovechando la ubicuidad de Java, y lo dicho, eso esta haciendo. Más adelante se podrán hacer invocaciones a FX desde muchos otros lenguajes (actualmente Java y Groovy lo están permitiendo).
Marioko a puesto un excelente ejemplo de como Sun esta realmente considerando a Java como la plataforma que es: "Glassfish con soporte para JRuby, PHP y Groovy, o Netbeans 6.5, con soporte para PHP, Ruby, Groovy, Scala, Python, Javascript, , etc. Todos ellos se pueden ejecutar sobre Java Platform"
De todos esos, el unico que no he probado en WebLEAFTest es JRuby, pero lo he probado en otro sitio, así que puedo atestiguar que funcionan todos :). Hoy mismo he añadido una version Scala, aunque todavia el código es poco funcional (de programación funcional, no de que no funcione ;) )
De todos los lenguajes que has nombrado solo php y javascript son universalmente utilizados, bueno algo cd Ruby tambien.
Que pasa con los lenguajes con mas lineas de codigo en produccion, si me refiero a COBOL, C (incluidas todas las utilidades OpenSource en c), perl, fortran y Visual Basic, si el lenguaje mas utilidazo de la suite de Microsoft que por algo lo creo Bill Gates. Ademas, si le añado ADA, LISP y prolog.
Seguramente la plataforma Java podra efecutarlos pero lo hace y si lo hace es eficiente.
Estoy seguro de que se puede ejecutar en java LOGO pero ese tipo de lenguajes y otros minoritarios como los que se nombran no dejan de ser anecdotas.
Cobol sigue siendo el lenguaje con mas lineas de codigo en produccion y sin embargo la plataforma Java no lo tiene en cuenta.
En realidad esos lenguajes que mencione son los que conozco o he oido mencionar, pero para Java existen una multitud de lenguajes.
Mira por ejemplo:
http://user.cs.tu-berlin.de/~tolk/vmlanguages.html
Alli hay mas de 100 lenguajes que se ejecutan sobre la maquina virtual de java (incluyendo COBOL, Pascal y ADA), obviamente no todos compilan a bytecode pero si se pueden ejecutar desde java y la mayoria pueden interactuar con las API Java.
A rogerJose81
@ Se habla mas y mejor de Java en los foros Flex?
Lo cierto es que Adobe hace marchas forzadas para poder brindar Flex a todos lo javeros. No tienes mas que ver que el IDE Flex está sobre eclipse la plataforma preferida en el mundo Java. Si miras restrospectivamente Flex 1.5 tenía su propio IDE.
BlazeDs es un servidor de aplicaciones escrito en Java en el cual tienes que escribir las aplicaciones en Java.
Han liberado mucho código para acercarse al Open Source de Java y no me digáis que no se puede comparar porque podemos ver los comienzos de Java en el 96 y veremos que eran igualitos a los de Adobe a la hora de liberar el código.
La sintáxis de ActionScript se asemeja ahora mucho más a Java de lo que jamás se asemejará JavaScript.
Es de los pocos lenguajes de programación actualmente que han dedicado libros y libros al uso de patrones de diseño muy al gusto de los desarrolladores Java.
En definitiva, yo CREO que Adobe hace todo lo posible por ser amigo de Java y que ve en Java a un amigo no a un enemigo. De hecho le ha dado mucho más soporte en los últimos tiempos a Java que a otras tecnologías servidor incluidas las de la casa como ColdFusion.
Creo haber leído en un artículo que se pretendía que las futuras implementaciones de Flash y JavaFx fueran de la mano de tal forma que incluso se pudiese compilar de una a otra máquina con el mismo código. De hecho Adobe retirara la linea de tiempo e introdujo el Sprite.
Para más colmo existe un proyecto Open Source llamado Aswing que son una versión de los componentes Swing en flash.
En fin, no habrá mas odio que el que uno quiera que haya... yo opino... si es bueno y funciona ¿Porque miramos tanto quién lo hace?
D
Anterior anónimo:
No quiero seguir debatiendo sobre ese punto, solo quiero anotar que las afirmaciones que has expuesto en el anterior post no responden mi pregunta, inclusive la principal justificación de esas afirmaciones puede no ser precisamente la amigabilidad de Adobe hacia Sun (no quiero decir que son o no amigos).
@"que las futuras implementaciones de Flash y JavaFx fueran de la mano de tal forma que incluso se pudiese compilar de una a otra máquina con el mismo código"
No había leído sobre eso antes, pero me parece excelente, ojala y lo implementen pronto ;)
Cordial saludo desde Cartagena/Colombia :)
Roger P.
Cualquier lenguaje puede intereactuar con Java via JNI, SOA, REST, RMI o el famoso exec del proceso o llamadas por TCP, el problema es que eso no es estar integrado con java es solo que java da muchisimas posibilidades para que no se aisle. Sobre todo porque antes era casi imposible hacer nada medianamente dificil sin tener que utilizar JNI.
Decir que java empezo en el 96 es quitarle 5 años al niño, aproximadamente. Que actionScript se parezca sospechosamente a Java o que c# se parezca es por lo mismo que java se parece a C++, son anecdotas ya que una cosa es la sintaxis y otra la funcionalidad.
Si Java no esta en guerra con FLEX porque un nuevo lenguaje exisitiendo actionScript, por cierto en las guerras siempre gana el que no pelea por lo que esperemos que no salga triunfante Microsoft, bueno tambien esta google con la lengua preparada.
Microsoft esta en la guerra, su ejercito es silverlight.
Respecto a Adobe y Sun, relaciones por lo menos tienen. Solo hay que ver en que consiste el proyecto nile. Herramientas de adobe para javafx.
Igual es que Adobe y sun han decidido apoyarse, desde la rivalidad, para undir la alternativa del 3º en discorida. Esto es, microsoft y su silverlight.
@rogerjose81
"Al Anonimo de las 10/12/2008 18:02, la funcion "procesaTecla" puede ser escrita de muchas formas mas optimas y sencillas que esa, de echo, una forma es calcular el valor de x utilizando div y mos sobre el numero recibido y hacer lo propio con y, es solo cuestion de mostrar el ejemplo ;)."
No estaba criticando como estaba programado hombre :), se ve que es un ejemplo/prueba. Me refiero al hecho de que es dificil de categorizar como declarativo a JavaFX, porque realmente es casi mas un lenguaje de uso general con algunas caracteristicas especificas para definir elementos visuales.
Anónimo 10/12/2008 17:57
Swing lleva mucho tiempo abandonado tambien, apesar de las virtudes de Java Web Start, y no se ha hecho casi nada para cubrir sus carencias en cuanto a componentes de calidad prefabricados (salvo SwingX que nunca a tenido mucho impulso de Sun).
tengo muchos tiempo trabajando en .net estoy estudianto ahora swing y te digo que para mi swing le llevas mucho a .net en cuanto a flexibilidad se refiere ya que .net te ocurta mucho la implementacion la manera como swing utiliza el patron mvc que en .net no el visto como se maneja. Cuando dices que no existen componente de calidad prefabricados creo que esta equivocado en ese punto.
Swing ya tiene su lumbrar meresido con solo ver herramienta como netbeans,Intellij Aqua Data y una cerries de aplicaciones profesionales creada en swing.
yo estoy comensado con swing dimes cuales puento swing no puede ser utilizado para aplicaciones de desktop
bueno.. primero un mensaje a todos los que estan criticando al "nuevo" javaFX... espero de verdad que lo esten probando para poderlo criticar asi ;).
Por mi parte no digo nada malo. porque simplemente aun no le e metido la mano.. ya cuando lo haga hablare.. por ahora me parece algo interesante mas si ves paginas como http://javafx.com/ donde muestran un par de demos interesantes... (como el puzzle de video) .. vamos.. esto es java.. wow.. creo que lo unico que demuestra es la potencia del lenguaje que todos queremos... :D si esto lo puedes hacer con java..
Por otro lado... para los que no se han enterado.. la ultima version de netbeans 6.5 ya lo soporta y de hecho es el editor oficial de SUN.
A batch4j,
@Decir que java empezo en el 96 es quitarle 5 años al niño
http://en.wikipedia.org/wiki/Java_version_history
Recordaré toda mi vida el año en el que compré mi primer libro de Prentice Hall de Java en el año 97 de la versión 1.0. Por entonces Paco Peyrona todavia le daba fuerte a Clipper y ya estaba probando Java, de hecho, le presté ese libro para que le hincase más el diente ya que no había por entonces tantos manuales e internet no era ni infovía. Mi primer año en la facultad... que tiempos...
En lo de que C++ se parece a Java... bueno no tienen la misma capacidad de herencia, el polimorfismo es mucho mas complejo en C++ y por que hablar de los punteros... mientras que ActionScript si es mas parecido a Java. Yo ante todo sigo prefiriendo C++. Esperemos que Java tenga algún día potencia suficiente para librerias como OpenCV.
D
@Anónimo 12/12/2008 21:40
"bueno.. primero un mensaje a todos los que estan criticando al "nuevo" javaFX... espero de verdad que lo esten probando para poderlo criticar asi ;)."
No se esta criticando el lenguaje en si, al menos en general. Se está criticando la necesidad de crear un nuevo lenguaje dinámico, habiendo muchos ya portados a la JVM y válidos (Python, Scala, Ruby...), inclusive tirar de Java. ¿Que aporta el nuevo lenguaje? ¿Un medio mas cool de definir animaciones? Por favor, un poco de seriedad (lo digo por Sun). ¿Que recompensa aprender un nuevo lenguaje como JavaFX restringido a un entorno muy limitado? Nada. ¿Ventajas? Ninguna. Si hubiera sido Ruby o Scala, todavía habría quedado el aprovechamiento del tiempo invertido en aprender una tecnologia con muchas otras salidas, y con la funcionalidad necesaria para la tarea.
NetBeans es solo un IDE java, y no el mas usado precisamente. Como digo, si se hubiera optado por otro lenguaje potenciando y mejorando la integracion y actualizacion con las versiones "nativas", no habría que crear nuevas herramientas para un nuevo lenguaje, porque Eclipse, IntelliJ o NetBeans ya los tienen en la mayor parte de los casos. Amen de la cantidad de documentacion que se puede encontrar por internet.
Si yo fuera accionista de Sun me preguntaría porque se dedican recursos a reinventar la rueda sin nada que ganar.
Perdona que te lo diga pero en el año 1996, salio la primera version del JDK, como comprenderas la gente de SUN llevaba bastantes años desarrollando la idea, incluso compilaba a C, fue con el impulso del HotJava y la version 1.0.2 con la que el mundo se entero de que existia.
Swing salio con la version 1.2 del jdk pero te puedo comentar que un año antes ya programaba en swing con la version 0.6.0. de hecho ya teniamos un producto multiplataforma mac, solaris, windows cuando todavia no estaba la version 1.2.
"Eres un Usuario de Facebook? Prueba el Puzzle de Fotos hecho con JavaFX
Un 'Puzzle de Fotos' hecho en JavaFX que se integra con Facebook. No sólo es gráficamente agradable y tiene buen rendimeinto, sino que "vive" en Facebook y hace rompecabezas con las imagenes en los perfiles de sus amigos. La aplicacion emplea la API de Facebook y fue desarrollado por Sun."
Enlace a la noticia original: http://learnjavafx.typepad.com/weblog/2008/12/facebook-user-check-out-the-javafx-picture-puzzle.html
Enlace al rompe cabezas: http://apps.facebook.com/javafxpicturepuzzle/
Hola Anónimo,
yo no hablo de la fecha de inicio de desarrollo de Java que empezó en el 90. Hablo de la fecha de la primera versión del JDK.
Aún así si miramos la Wiki "La implementación original y de referencia del compilador, la máquina virtual y las librerías de clases de Java fueron desarrollados por Sun Microsystems en 1995."
Yo no tuve la suerte de conocer antes nada ya que por esa fecha aún estaba en el instituto y no tenía internet en casa como el 90% de los españolitos en el año 95. Cuando entre en la facultad programabamos en Modula2 y nadie conocía Java ni de lejos.
A saber los lenguajes de programación de la facultad fueron:
Modula2, Pascal-Fc para concurrente, C para sistemas operativos, Perl para OOP (que era optativa), Lisp, Ensamblador... ya que OOP era optativa mucha gente salió de la facultad sin saber nada de OOP ya que Ingeniería del Software y UML quedaba en un marco demasiado teórico. Aunque no se como será ahora.
Sin desviarme del tema si pudiste programar antes de una release pública me alegro por tí. Yo tuve que esperar al dichoso libro para tener las herramientas en CD ya que no tenía internet y en la facultad internet llegaría un par de años despues. Como yo te aseguro que poca gente en España tuvo opción a Java ni conocimiento de Java antes del 96. Pero siempre hay afortunados en el mundo. Supongo que tu habrás estudiado en Standford.
D
Escribe tu comentario