Migration von altem JavaFX Script-Code

Hier gibt es alle Informationen, wie von altem JavaFX Script-Code auf die notwendige Syntax für die kommende Finalversion 1.0 umgestiegen werden kann:

https://openjfx.dev.java.net/migration.html

Hier ist die aktuelle API-Struktur zu finden:
http://javafx.com/releases/preview1/docs/api/

JavaFX und kein Ende


JavaFX scheint so langsam wirklich in Schwung zu kommen. In meiner Seite zu JavaFX – http://www.javafx-buch.de ist immer regerer Verkehr zu beobachten und es melden sich ziemlich zahlreich die Besucher an. Mehr als z.Z. in meinem AJAX-Portal – http://www.ajax-net.de (wobei das mehrere Hundert angemeldete User Vorsprung hat).

Jetzt kommen die meisten Besucher ziemlich sicher über mein Buch zu JavaFX bzw. meine DVD.

Nun zeigt sich aber, dass sich in JavaFX auf den ersten Blick jedoch Einiges geändert geändert hat. Wobei sowohl das Buch als auch die DVD m.E. immer noch eine sehr gute Basis für den Einstieg darstellen und mir z.Z. kein anderes deutschsprachiges Lehrmaterial bekannt ist (bisher halten sich andere Autoren und Verlage bzgl. JavaFX bedeckt, um nicht dem Risiko ausgesetzt zu sein, wenn sich zu
viel ändert). Bleibt im wesentlichen die offizielle Doku von Sun: java.sun.com/javafx

Und was die genauen Änderungen angeht – auf den 2. Blick relativiert sich die Sache ziemlich. Man
muss – soweit ich das bisher einschätzen kann, im wesentlichen drei Dinge in Bezug auf mein Buch bzw. die DVD beachten:

1. Die Struktur des APIs – hier finden sich z.B. alle Swing-Klassen nun unter javafx.ext.swing
2. Konsequent function() verwenden. Ich fand den Ansatz mit operation sowieso ziemlich taff. Den Grund für die Zweiteiligung habe ich nicht eingesehen und Sun hat den Weg wohl auch eingestellt.
3. Es gibt natürlich diverse Erweiterungen

Office 2007 – warum nur?

Ich bin gerade an einem Arbeitsplatz, auf dem nur Office 2007 verfügbar ist. Eigentlich sollte ich es langsam leid sein über Microsoft zu lästern. Aber Word 2007 frustet mich mal wieder dermaßen – ich kann nicht anders 😉

Warum?

Warum ist die verdammte Bedienung von Office in der Version 2007 so verändert? Da arbeitet man seit unzähligen Jahren mit Office-Programmen, schreibt zig Bücher, hält Schulungen und dann sitzt man wie ein Anfänger vor diesem Mistprogramm und sucht die Befehle. 🙁

Google Chrome Beta 0.3.154.9 mit Sicherheitsupdate

Der höchstumstrittene Browser Google Chrome steht in einer Beta 0.3.154.9 für Windows XP SP2 und für Vista zur Verfügung. Das Update enthält insbesondere die Beseitigung einer Sicherheitslücke, die zum Spoofing ausgenutzt werden konnte. Daneben werden ein paar weitere Probleme der Vorgängerversion beseitigt.

Eigentlich ist die Beseitigung der Sicherheitslücke lobenswert. Aber die zentrale Frage ist doch, ob nicht Chrome selbst die Sicherheitslücke ist? Und die zu beseitigen bedeutet doch nicht anderes als den Browser nie zu installieren oder benutzen.

Jaxer 1.0 erschienen

Endlich ist der in Aptana integrierte Open-Source-AJAX-Server in der Finalversion fertig. Ich bin sowieso ein Fan von Aptana respektive dem zugrunde liegende Eclipse und damit wird die gesamte Sache noch runder.

Das Besondere an Jaxer ist, dass damit Webapplikationen JavaScript auch auf dem Server verwenden können (ähnlich wie man es früher in ASP gemacht hat – nur viel, viel leistungsfähiger und besser). Jaxer stellt dazu ein vollständiges JavaScript-Framework mit zahlreichen Neuerungen und Erweiterungen des JavaScript-Umfangs bereit.

Jaxer kann nativ bereits mit HTML, JavaScript, CSS , XMLHttpRequests, JSON und DOM-Scripting umgehen. Als Erweiterung kann man über den Server aus JavaScript heraus direkt auf Datenbanken, Dateien, Netzwerk, Logging, Prozessmanagement und andere integrierte APIs auf dem Server zugreifen. So etwas kann man bei clientseitigem JavaScript natürlich vollkommen vergessen.

Technisch verwendet Jaxer die JavaScript-Engine aus Firefox. Diese wird aber in einer Server-Version zur Verfügung gestellt. Damit können einzelne JavaScript-Funktionen gezielt auf dem Server, dem Client oder auch verteilt auf Client und Server ausgeführt werden.
Serverseitige JavaScript-Funktionen können auch direkt aus einer Website heraus aufgerufen werden. Und zwar mit minimalem Aufwand, denn dazu ist im Grunde nur eine Codezeile notwendig. Die gesamte die Kommunikation (auch asynchron) wird im Hintergrund von Jaxer erledigt.

Als weitere Features unterstützt Jaxer 1.0 RESTful APIs sowie native Unterstützung für JSON.

Jaxer 1.0 ist wie schon erwähnt Open Source unter der GPL, aber es gibt auch eine kommerzielle Pro-Version.

Jaxer wird als Teil des Aptana Studio 1.2 distributet, kann aber auch als eigenständige Anwendung unter aptana.com/jaxer heruntergeladen werden. Zudem kann man Jaxer kostenlos auf Aptanas Server-Cloud ausprobieren.

Independenceday

Gestern gab es doch mal wieder den extrem Deutsch-erstellten vollamerikanischen Science Fiction-Knaller. Unterhaltsam sicher, aber total unrealistisch.
Gut – es gibt UFOs. Das ist klar. Aliens unter uns auch. Area 51 ist auch klar.

Alles Tatsachen und kalter Kaffee.

Aber dass man mit einem handelsüblichen Notebook so Mir nichts Dir nichts in das Computersystem eines UFOs eindringen und gar ein Programm respektive Virus da zum Laufen bringt. Ich lach mich ab. Vooooooooolllllllllkkkkkkkkkkoooooooooooommmmmmmmmmen unrealistisch!

Die Leute vom Film haben wohl noch nie versucht einen Rechner in ein fremdes Netzwerk zu integrieren. Glauben die allen Ernstes die Alien arbeiten mit IP-Adressen? Oder Binärsystem? Oder C# bzw. C? Und der Prozessor ist ein Intel? Ha Ha Ha!

Gut – rein theoretisch könnte es Microsoft geschafft haben, dass die Aliens Windows benutzen. Dann wäre die Attacke wiederum leicht. Hm – darüber sollte ich mal weiter nachdenken.

Opera rennt wie der Teufel

Ich habe gerade auf die neue Opera-Version 9.61 upgedatet. Man, der rennt wie der Teufel. Die Seiten werden dermaßen schnell aufgebaut, dass selbst Firefox alt aussieht. Früher war Opera sowieso mein absoluter Lieblingsbrowser. Mit dem Konqueror und vor Allen Dingen Firefox bin ich ihm in der letzten Zeit etwas untreu geworden. Aber ich denke, ich werde wieder mehr auf Opera setzen.
Und letztendlich ist es immer gut, wenn es nebem dem Platzhirsch Firefox Alternativen gibt. Das sorgt dafür, dass auch da keiner träge wird. Wäre ja schlecht für die Entwicklung von Firefox und Verwandschaft, wenn nur das Kanonenfutter IE als Gegner bereitstände.

Mal wieder ein VHS-Kurs

Früher habe ich sehr viel an verschiedenen VHS unterrichtet. Das hat in der letzten Zeit ziemlich nachgelassen. Ich biete weniger Kurse an und zudem fallen insbesondere die Programmierkurse meist aus.
Aber nächsten Samstag halte ich mal wieder einen Tageskurs: Powerpoint in Taunusstein bei der VHS Rheingau-Taunus

Informationen aus der Silverlight-City: Pay-TV über Internet rückt immer näher

Und noch einmal was aus dem Blog von Otto Fischer: Mit „FoidosChes“, kann man bei einer silverlight-basierten Anwendung zur Schach-Liveübertragung, die Schachweltmeisterschaft aus Bonn live miterleben.

Dabei übernimmt der Zuschauer die Kontrolle, indem er zwischen fünf parallelen Video-Streams sowie verschiedenen Kommentatorsprachen wählen kann. Die Kommunikation zwischen Kommentator und Internet-Zuschauer ist über eine Chat-Funktion möglich. Eine Demonstration von FoidosChess ist auf www.foidoschess.tv zu sehen.

Verlosung, Preisausschreiben oder was?

Ich räume gerade mein Büro auf und sortiere Bücher von mir, die ich in Schulungen demnächst nehmen will (z.B. Jetzt lerne ich AJAX von Markt & Technik, ISBN 978-3-8272-4225-9 ).
Dabei fällt mir wieder auf, dass ich mittlerweile unglaublich viele Autorenexemplare von Büchern oder Trainings-DVDs habe. Ich bin massiv am überlegen, ob ich mal wieder eine Verlosung oder ein Preisausschreiben mit diesen Preisen starte.

Viel Bewegung rund um JavaFX

In der letzten Zeit passiert eine ganze Menge in meiner Webseite zu JavaFX, die ich als Begleitinformation zu meinem Buch zu JavaFX führe.
Das überrascht doch mich ziemlich, denn bis vor wenigen Monaten kam JavaFX nicht so richtig in die Gänge. Aber Sun hat die letzte Zeit Einiges nachgelegt, obgleich Vieles noch als Preview oder Beta gehandelt wird.

Letztes ist aber auch ein Problem, wenn man aktuell JavaFX einsetzen will. JavaFX ist m.E. einerseits eine sehr spannende Technologie, andererseits wird da eben noch ziemlich umstrukturiert.
Das betrifft natürlich auch einige Ausführungen in meinem Buch, aber insbesondere die Tools zum Entwicklen von JavaFX.

Es scheint zum Beispiel so zu sein, dass die JavaFX Shell so klammheimlich wieder aus dem Rennen genommen wurde. Der Fokus von der Entwicklung von JavaFX liegt seit einigen Wochen wohl ganz klar auf drei Säulen, von denen man auf jeden Fall auch eine wählen sollte:

1. Eclipse mit dem JavaFX PlugIn
2. NetBeans mit dem JavaFX PlugIn
3. Das neue JavaFX SDK (http://javafx.com/), das aber auch noch zum heutigen Tag als Preview geführt wird.

Ich gehe davon aus, dass die JavaFX Shell für die ersten Versuche mit JavaFX geeignet war, aber nicht weiter entwickelt wurde. Dementsprechend würde ich eben auch dringend dazu raten eine der drei oben genannten Entwicklungstechniken zu verwenden.

Und insbesondere auch über http://javafx.com/ das jeweils aktuelle API zu installieren.

Eine Alternative wäre der openjfx-compiler (https://openjfx-compiler.dev.java.net/). Das erscheint mir – soweit ich mich damit beschäftigt habe – im Grunde eine Art Ablösung für die JavaFX Shell zu sein. So genau blicke ich aber z.Z. ehrlich gesagt noch nicht durch. Ich muss – falls ich endlich mal Zeit habe – mich dringend auch wieder auf den aktuellsten Stand bringen. Der openjfx-compiler ist aber auch noch in einer Betaversion.

Z.Z. warte ich einfach darauf, dass JavaFX endlich mal einen echten Finalstatus hat und dann lohnt sich m.E. wieder eine genauere Beschäftigungen mit dem Tool, dass isch bis dahin durchgesetzt hat.

Und es gibt seit einigen Wochen wie gesagt ein neues SDK (Software Developement Kit) zu JavaFX, das in einem Preview verfügbar ist. Konkret scheint es so zu sein, dass dieses SDK als reine Netbeans-Erweiterung zu sehen ist. Also unmittelbar mit der neuen Version von der Sun-eignen Java-IDE Netbeans synchron geht. Es ist – trotz des Preview-Stadiums – zu empfehlen, für eine JavaFX-Programmierung mit NetBeans auf diese neue Version und das zugehörige JavaFX-Plugin respektive das SDK umzusteigen (natürlich kann man aber auch ohne NetBeans JavaFX programmieren).

Im Konzept der Sprache JavaFX Script gibt es wohl auch ein paar kleinere Entwicklungen bzw. Änderungen gegenüber den bisherigen Versionen. Soweit das bisher einzuschätzen ist, sind dieses Änderungen bzw. Erweiterungen jedoch nicht gravierend, obwohl Sun bei JavaFX Script jetzt teilweise einen etwas anderer Ansatz als bei den ersten Versionen verfolgt.

Es gibt nun Stages und Nodes, die bisher noch nicht so da waren. Gravierend ist, dass man wohl als Kern einer JavaFX-Applikation in der Regel nicht mehr wie bisher ein Frame oder Panel definiert, sondern eine Application.

Ein Grund könnte sein, dass Sun durch die engere Integration von JavaFX in NetBeans diese – nicht zuletzt durch Eclipse in Bedrängnis geratene – IDE wiederbeleben möchte, denn mit NetBeans kann aus einer Application einfach eine Webstart-Anwendung oder ein Applet erzeugt werden (was aber auch schon in den ersten Versionen von JavaFX Script und den frühreren JavaFX-PlugIns für NetBeans möglich war).

Ansonsten scheint JavaFX vom Maketing als auch den Webdemos extrem in Richtung Sivlerlight von Microsoft positioniert zu werden.

Und dann gibt es auch ein Java SE Update. Mit dem neuen Java SE 6 Update 10 verfolgt Sun mehrere Intentionen. Zum einen sollen verschiedene Verbesserungen Applets schneller starten (Stichwort Java Quick Starter). Diese lassen sich in Desktop-Widgets verwandeln. Offensichtlich hat Sun damit Applets immer noch nicht aufgegeben. Im Gegenteil – verschiedene Bestrebungen deuten darauf hin, dass Sun Applets sogar im Rahmen von RIAs reaktivieren will.

Intern wurde das Hochfahren der Java-Runtime so umstrukturiert, dass die mit dem Start einer Anwendung oder eines Applets zusammenhängenden Elemente schneller Ergebnisse produzieren, die auf dem Bildschirm sichtbar sind.

Ein weiteres Merkmal betrifft das Java-Kernel-Konzept. Dabei laden Nutzer in der neuen Version zunächst nur ein Grundgerüst der wichtigsten JRE-Komponenten herunter. Werden von einer Applikation weitere Bestandteile benötigt, werden diese erst später nachgeladen. Das Kernpaket ist nur etwa 4,5 Megabyte groß und reicht für gängige Anwendungen und Applets oftmals bereits aus“
Ein ganz zentraler Kern vom Java SE 6 Update 10 ist auch die Integration von JavaFX für Rich Internet Applications (RIA). Das Release von Java SE 6u10 soll die Deployment-Probleme von JRE und Java-Applikationen beseitigen (es gibt sogar ein neues Deployment Toolkit), die bis dato in Verbindung mit dem Richt-Client-Java die meisten Anwendungen kaum brauchbar machten. Außerdem soll mit Java SE 6u10 die JRE verschlankt werden, wohin gegen JavaFX-Alternativen wie Silverlight und Flash/Flex immer fetter werden. Damit wird Java samt JavaFX zu einer noch wettbewerbsfähigeren Alternative zu anderen RIA-Plattformen.

Dauerschulung

Ab morgen halte ich mal wieder Präzenzschulungen vor Ort (eine Art Fachinformatikerausbildung). Zwar nur vor der Haustür – in Wiesbaden -, aber regelmäßig von 9:00 – 16:00 Uhr. Und das über 4 Wochen plus ein paar Nachschlägen. Bin das gar nicht mehr gewohnt, wie ein Angestellter morgens aus dem Haus zu gehen. Wird ne Umstellung nach den letzten Wochen und Monaten, in denen ich hauptsächlich in meinem Büro zuhause gearbeitet habe.

Wann funktioniert endlich der Internet Explorer?

Ich werde wahnsinnig. Ich programmiere gerade eine komplexere AJAX-RIA. Zum Teil verwende ich Dojo und Prototype als AJAX-Frameworks zur Unterstützung. Sie funktioniert auch in allen relevanten Browsern. Nur der Internet Explorer kapiert es einfach nicht. Ich frage mich, wann Microsoft ihren Krückenbrowser endlich standardkonform bekommt. Ich hatte gewisse Hoffnungen in die neue Version gesetzt, aber wieder mal ist es ein Schuss in den Ofen. Und das Schlimme ist – es gibt immer noch genügenden Anwender, die den IE noch verwenden. Ich kann diese Zielgruppe nicht ignorieren und muss mich an Workarounds für die IE-Fehler machen :-(.

Buchmesse

In früheren Jahren waren meine eigene Verlage auf der Buchmesse in Frankfurt vertreten und damit natürlich auch meine Bücher. Aber seit einigen Jahren haben sie sich von der Messe zurück gezogen. Insgesamt scheinen die EDV-Bücher auf der Messe sowieso stark auf dem Rückzug zu sein. Genau genommen habe ich kaum welche gesehen, denn ich war seit Jahren heute mal wieder auf der Messe. Aber eigentlich nur um einen Geschäftspartner zu treffen, der dort mehrere Tage dort zu tun hat.

Etwas Werbung in fremder Sache

RIAs sind ja mittlerweile einer meiner Schwerpunkte. Im wesentlichen mit AJAX oder JavaFX sowie einigen Frameworks wie dem GWT, Dojo, Prototype oder dem YUI.
Wenn Sie in eine andere Richtung gehen und moderne RIA (rich interface appliactions) für das Internet oder moderne Handys erstellen wollen, hat Silverlight auch interessantes Potential.
Am leichtesten erschließt sich das Potenital durch eine Schulung. Ich
möchte Ihnen dazu z.B. die Silverlight-Schulung von Otto Fischer ans Herz legen.

Start Onlinekurs Programmieren fürs Web 2.0 mit AJAX

Heute hat mein neuer Onlinekurs Programmieren fürs Web 2.0 mit AJAX bei der Akademie.de begonnen. Nachmeldungen sind noch möglich.

Es geht – wie der Titel unzweifelhaft deutlich macht – um AJAX. Flickr, Del.icio.us und Google Maps machen es vor: Erfolg durch superschnelle AJAX-Anwendungen, die sofort und ohne Seiten-Neuladen auf die Aktionen ihrer Besucher reagieren. Die Technik hinter diesen Web 2.0-Anwendungen? AJAX!

Wie dieses Zusammenspiel in der Praxis funktioniert zeigt dieser AJAX-Crash-Workshop über vier Wochen. Mit mit vielen praktischen Beispielen und Übungen.

– vom Schnelleinstieg ins „Prinzip AJAX“
– über die Kerntechniken von AJAX: (X)HTML, Style Sheets, DHTML und JavaScript
– bis zu anspruchsvollen AJAX-Applikationen mit serverseitiger Programmierung mit PHP

Der Workshop richtet sich an Webentwickler und Programmierer, die schnell und fundiert alle relevanten Techniken samt diverser praktischer Beispiele rund um AJAX kennen lernen wollen. Am Ende des Workshops können Sie anspruchsvolle AJAX-Anwendungen selbst programmieren.

Silverlight oder nicht?

Ich beschäftige mich ja schon geraume Zeit mit JavaFX. Zum Einen deshalb, weil ich ja seit etwa 12 Jahren Java programmiere und schule. Zum Anderen, weil JavaFX eine gute Ergänzung zu AJAX darstellt, womit ich mich ja ebenfalls schon ewig beschäftige (weit länger als die Technologien unter dem Modewort AJAX zusammengefasst wurden).

Nun bin ich aber weder Technologieblind noch dokmatisch festgefressen und interessiere mich auch für Technologien jenseits dieses Horizontes.

Erstens bin ich nicht ganz sicher, ob JavaFX wirklich so erfolgreich wird (obwohl ich optimistisch bin) und zweitens bin ich sowieso gerne breiter aufgestellt.

Was also als Alternative zu JavaFX näher betrachten?

Da wäre zum Beispiel AIR.

Oder auch Silverlight von Microsoft. Gerade Letzteres hat natürlich wegen mit Giganten im Hintergrund gewaltiges Potential. Mal sehen.

Wer sich für Infos zu Silverlight interessiert, sollte sich mal den Blog von Otto Fischer unter http://blog.silverlight-city.de ansehen.

Infektionsbereinigung – Teil 2

So, ich habe zur endgültigen Bereinigung von dem Hackerangriff noch ein Backup von vor dem Angriff eingespielt. Einzig das Backend von meinem CMS ist noch nicht zugänglich. Aber das Problem kann auch andere Ursachen haben. Da gibt es in diversen Foren zu Joomla! einige Hilferufe. Bekomme ich auch noch in der Griff.

Fazit: Leute, nehmt sichere Passworte und haltet die Software immer auf dem neusten Stand. Bisher habe ich das immer nur gepredigt. Jetzt habe ich die Konsequenz erlebt, wenn man da zu lässig ist. Obwohl die Sache bei mir nicht wirklich schlimm war, hat mich die Geschichte unnötig Zeit gekostet, die ich besser für die Programmierung an meinem aktuellen Projekt verwendet hätte.