Für unsere Sprachkurse ist der Onlineshop fertig. Abs sofort können die verschiedenen Sprachkurs darüber erworben werden.
Neuer Zeitungsbeitrag
Im Magazin PHP User Vol. 3 vom Software&Support-Verlag (für den schreibe ich in diversen Magazinen und auch schon ein paar Bücher von mir sind da erschienen) ist ein neuer Artikel von mir erschienen. 6 Seiten zum Thema Google Maps & Co. Nur sind da 2 Bugs reingerutscht – ich habe einmal an einer Stelle den Vornamen „Manfred“ bekommen und zudem ist im Inhaltsverzeichnis der Untertitel von einem anderen Beitrag unter meinen gerutscht. Naja – ist ein neues Magazin und das wird schon 😉
C#-Schulung
Halte aktuell eine C#-Schulung. C# und .NET sind nicht ganz meine Welt, aber im Grunde ist das nur eine Java-Schulung mit teils etwas seltsamer Syntax, falschen Namenskonventionen und recht kruxen Sonderheiten ;-).
Aber die Schulung macht Spass.
Trojaner im System??
Hab mal wieder seit langer Zeit eine Warnung von meinem Antivirenprogramm erhalten 🙁 – die 2. in dem Jahr und vielleicht die 5. oder 6. überhaupt – bleibe bisher weitgehend davon verschont – toi, toi, toi. Angeblich habe ich einen Trojaner eingefangen. Wobei ich mir das eigentlich nicht vorstellen kann. Meine Start-Exe von Eclipse sollte befallen sein. Aber deren Metadaten sind korrekt gewesen. Weder die Größe noch das Dateidatum haben sich geändert. Auch kam die Meldung komischer Weise beim Versuch eine PHP-Datei mit dem Kontextmenü zu öffnen. Aber zur Sicherheit hab ich das Antivirenprogramm mal sein Ding machenlassen.
Es ist halt wie es ist – wenn es ginge, würde ich nur unter Linux arbeiten.
Kritische Probleme im Internet Explorer
Wieder einmal gibt es eine kritische Sicherheitslücke im Internet Explorer unter Windows XP und Server 2003. Windows Vista sowie Windows Server 2008 sind zwar offiziell nicht betroffen, aber zur Sicherheit sollte man auch dort aufpassen.
Denn wie schon so oft können Angreifer via dieser Lücke Zugriff auf das Clientsystem erlangen, wenn ein Anwender auf eine entsprechend präperiterte Webseite surft. Und so neu die Lücke ist – sie wird wohl schon massiv ausgenutzt. Das Problem liegt an der Datei msvidctl.dll des Video-ActiveX-Control-Moduls und es gibt aktuell noch kein Sicherheitspatch.
Webseite überarbeitet
Hab meine Webseite überarbeitet. Im Wesentlichen habe ich das seitliche Navigationsmenü ersetzt durch ein dynamisches Pulldown-Menü (auf Basis von jQuery). Damit habe ich mehr seitlichen Platz. Den brauche ich vor allen Dingen für die Integration von meinem Shop für die Onlinetraining. Der hat eine vorgegebene Breite von 1050 Pixeln.
Belegexemplare sind da
Heute habe endlich die Belegexemplare von meinem neusten Buch Einstieg in JavaFX erhalten.
Ralph Steyer
Addison-Wesley
ISBN 978-3-8273-2845-8
erschienen 06.2009
ca. 340 Seiten
Mit CD
Die wichtigsten Neuerungen von JavaFX 1.2
Nachdem sich die Einführung von JavaFX von den ersten Vorversionen bis zu Finalversion 1.0 relativ lange hingezogen hat, haben die ersten Releasewechsel von der Version 1.0 bis zur Version 1.2 nur extrem kurz gedauert.
Diese Releasewechsel sind aber fast vollständig abwärtskompatibel, was man bei den Wechseln der Preversionen und besonders hin zur ersten Finalversion nicht behaupten kann.
Version 1.2 erweitert nun JavaFX hauptsächlich um einige Layout-Klassen und strukturiert das API in einigen Bereichen etwas um. Das ist aber vollkommen unkritisch.
Hier sind die aus meiner Sicht beiden wichtigsten Neuerungen von JavaFX 1.2 nochmal ausführlich aufgelistet. Insbesondere diejenigen, die auch jenseits spezieller bzw. erweiterter Programmierung Relevanz haben.
Mehrfachvererbung-Light über Mixins
Die m.E. wichtigste Erweiterung gleicht zuerst – Mixins. Grundsätzlich hat sich über die Jahre die Mehrfachverbung in der objektorientierten Programmierung als extrem kritisch herauskristalisiert. Nicht umsonst haben neuere objektorientierte Sprachen wie Java oder C# auf Mehrfachvererbung verzichtet.
In den ersten Versionen von JavaFX Script hat Sun jedoch wieder auf Mehrfachvererbung gesetzt. Das war aber auf Grund der sehr eingeschränkten Funkionalität von Funktionen/Operationen und der an Prototyping orientierten Umsetzung von Methoden relativ unkritisch.
Nichts desto trotzwurde Mehrfachvererbung in der Finalversion 1.0 von JavaFX Script explizit abgeschafft. Auch in der Version 1.1 gab es keine Mehrfachvererbung.
In der Version 1.2 wurde diese jedoch nun durch die Hintertür wieder – stark entschärft – reaktiviert. Offiziell gilt zwar immer noch, dass JavaFX nur Einfachvererbung unterstüzt, aber es gibt nun das Konzept der mixin-Klassen.
Mixins unterscheiden sich von normalen Klassen nur durch das Schlüsselwort mixin, das in der Deklaration auftaucht.
* So eine Klasse kann nicht direkt instanziert werden, dient aber als Superklasse (das kennt man ja von abstrakten Klassen).
* Eine mixin-Klasse kann auch abstrakte Methoden enthalten, die dann in der Subklasse überschrieben werden müssen, wenn diese nicht abstrakt sein soll.
* Und eine andere Klasse kann von beliebig vielen Mixins abgeleitet werden. Und dazu noch von maximal einer echten Klasse
Beispiel:
public mixin class A {
public var antwort_1 = „Die Antwort ist „;
}
public mixin class B {
public var antwort_2 = 42;
public abstract function gibMirDieAntwort():String;
}
public class C {
public var frage = „Aber wie lautet die Frage?“;
}
public class Anhalter extends C, A, B {
public override function gibMirDieAntwort():String {
return „{antwort_1}{antwort_2}“;
}
}
var o = new Anhalter();
println(o.gibMirDieAntwort());
println(o.frage);
Und das ist die Ausgabe:
Die Antwort ist 42
Aber wie lautet die Frage?
Ein Problem gibt es jetzt noch, wenn aus verschiedenen Mixins identische Bezeichner für Funktionen oder Variablen vererbt werden. Das System verwendet die zuerst vererbte Variante! Also von der zuerst hinter extends notierten Klasse.
In gewisser Weise kann man also – innerhalb sehr strenger und einfacher Regeln – wieder von Mehrfachvererbung in JavaFX sprechen. Das Mixim- Konzept interpretiere ich als einen Zwitter zwischen (dem in JavaFX fehlenden) Schnittstellenkonzept und (eingeschränkter) echter Mehrfachvererbung.
Ich persönlich stelle mir ernsthaft die Frage, ob man so eine mehrfache Vererbung-Light wirklich benötigt? Ich bin zwiegespalten. Aber das Konzept schafft schon eine erhebliche Vereinfachung.
Native Arrays
JavaFX hat ja gegenüber Java das Konzept der Arrays bzw. allgemein Datenfeld-ähnlicher Konstrukte erheblich verändert und arbeitet mit so genannten Sequenzen. Diese haben so ihre ganz besonderen Eigenheiten (etwa das Einfügen von Elementen mit insert oder das Löschen mit delete).
Mit den neu ergänzten nativen Arrays kann man nur unter JavaFX Script auch echte Java-Arrays erzeugen. Im Wesentlichen soll damit der Datenaustausch zwischen Java und JavaFX vereinfacht werden.
Native Arrays werden mit dem Schlüsselwort nativearray deklariert.
Beispiel:
var ints : nativearray of Integer = [1..100] as nativearray of Integer;
for (i in ints) println(i);
Die vollständige Beschreibung der Änderungen finden Sie unter https://www.javafx.com/docs/articles/javafx1-2.jsp .
Onlinetraining zum Dojo Toolkit und Valuepack: AJAX + Prototype/script.aculo.us + Dojo Toolkit erschienen
Heute sind meine neuen Onlinetraining von Video2Brain erschienen. Einmal das Onlinetraining zum Dojo Toolkit und zum Anderen ein Valuepack: AJAX + Prototype/script.aculo.us + Dojo Toolkit (da sind die genannten Onlinetrainings zu einem Bundle zusammen gefasst).
Neue Gruppe zu JavaFX in FACEBOOK
Noch ganz unter dem Eindruck der RIA World die letzten 2 Tage in München habe ich heute in Facebook eine neue Gruppe zu JavaFX gegründet. Es gab namlich bisher keine solche für den deutschsprachigen Raum.
Lade alle JavaFX-Interessierten zum Beitritt ein.
Mal sehen, was sich daraus entwickelt.
RIAWorld zu Ende
Morgen geht es zur RIA-World
Morgen düse ich nach München zur RIA-World. An dem Tag halte ich noch einen JavaFX-Vortrag und den Tag darauf einen Workshop zu JavaFX. Bin schon gespannt.
Und das JavaFX-Videotraining auch auf der c’t-DVD
Ich hab es zuerst ganz übersehen – auch das JavaFX Videotraining ist in Auszügen auf der DVD der c’t 13/2009.
Buch zu Ajax-Frameworks auf der c’t-DVD
Mein aktuelles Buch zu AJAX Frameworks, erschienen 09.08 bei Addison-Wesley, ist in der Ausgabe 13 der Zeitschrift c’t als ebook-Beilage auf der Heft-DVD dabei.
Twitter im ernsthaften Einsatz?!
Im Grunde halte ich von Twitter nicht viel. Das banale Gezwitscher von Kurzsätzen ist irgendwie nicht mein Ding. Egal ob es von Lieschen Müller oder einem Promi kommt. Aber im Zusammenhang mit den aktuellen Unruhen im Iran scheint Twitter sogar zu einem ernsthaften Einsatz zu taugen. Schneller und effektiver wie E-Mail, Chat, SMS, Blog, etc. Da schau an.
Firefox vor Internet Explorer
Nun ist es angeblich amtlich – in Europa haben die Nutzerzahlen von Firefox die des Internet Explorers erstmals überholt. Nun erlaube ich mir als Mathematiker das abgedroschene Zitat „Trau keiner Statistik, die du nicht selbst gefälscht hast“. Will heißen, dass ich einen Teufel auf solche Statistiken gebe. Und ohne es wirklich beweisen zu können – nach meiner Meinung hat der Firefox schon lange bedeutend mehr Nutzer als der IE. Ich habe keine Ahnung, wieso dessen Nutzerzahlen angeblich noch so hoch sein sollen.
Aber unabhängig davon, dass Firefox wirklich gut ist – mir gefällt Opera noch besser und auch Safari sollte man als Alternative unbedingt mal ausprobieren. So hat man – wenn man ganz auf Exoten verzichten will – auf jeden Fall 3 gute Browser als Alternativen zur Verfügung.
Freie Demoversionen von den Sprachprogrammen
Für unsere Onlinesprachkurse für verschiedene Fremdsprachen wie Englisch, Französisch, Italienisch, Spanisch, Niederländisch, Portugiesisch, Schwedisch, etc. gibt es ja eine Zusammenarbeit mit der Volkshochschule Bitburg. Diese integriert die Onlinesprachkurse ab dem nächsten Semester in ihr normales Sprachprogramm und erweitert damit die Möglichkeiten zum Lernen von Sprachen um den Onlineweg.
Auf Anregung der VHS Bitburg habe ich nun für die wichtigsten Sprachen jeweils eine frei zugängliche Demoversion eingerichtet. Darüber können Besucher für die verfügbaren Sprachen die jeweils ersten 7 Lektionen kostenlos und ohne Anmeldung testen.
JFXBuilder
Hab gerade auf der offiziellen Webseite von Sun zu JavaFX einen Link auf einen Visual JavaFX Script Designer/Generator zum Generieren von JavaFX-Code entdeckt (zum Tool). Der Aufruf des Builders erfolgt mit Java Web Start. Das Teil ist richtig geil.
JavaFX 1.2 ist draußen
Sun hat eine weitere Version von JavaFX veröffentlicht. Diese Version 1.2 erweitert JavaFX um einige Layout-Klassen und strukturiert das API in einigen Bereichen um. Allerdings sind diese Umstrukturierungen im Vergleich zu den Änderungen während der Betaphase minimal und betreffen nur relativ wenige und wohl auch eher selten eingesetzte Elemente.
Aber auch die Syntax der Sprache wurde etwas verändert. Konkret betrifft das den Einsatz von Trennzeichen bei Sequenzen, die Prioritäten von den Operatoren or und and und die Verwendung von Variablenbezeichnern in verschachtelten Blöcken. Diese Änderungen betreffen sauber programmierten Code sowieso nicht, da man die nun verbotenen Strukturen auch bisher nicht anwenden sollte.
Ein kleine Änderung betriff den on replace-Trigger, der nicht mehr innerhalb eines bind-Ausdrucks erlaubt ist. Auch wurden ein paar Duration-Methoden leicht verändert und eine Anzahl an reservierten Schlüsselworten für die Verwendung als Bezeichner freigegeben.
Die wohl bemerkenswerteste Änderung betrifft die Vererbung. Oder konkret die Mehrfachvererbung. War sie in Vorversionen von JavaFX erlaubt, wurde sie in der Finalversion abgeschafft. Und nun durch die Hintertür wieder – stark entschärft – reaktiviert. Offiziell gilt zwar immer noch, dass JavaFX nur Einfachvererbung unterstüzt, aber es gibt nun das Konzept der (mixin-Klassen). Mixins unterscheiden sich von normalen Klassen nur durch das Schlüsselwort mixin, das in der Deklaration auftaucht. So eine Klasse kann nicht direkt instanziert werden, dient aber als Superklasse (das kennt man ja von abstrakten Klassen). Und eine andere Klasse kann von beliebig vielen Mixins abgeleitet werden. In gewisser Weise kann man also – innerhalb sehr strenger und einfacher Regeln – wieder von Mehrfachvererbung in JavaFX sprechen.
Insgesamt sind die Änderungen der neuen Version sehr harmonisch integriert, aber dennoch müssen alte Applikationen u.U. rekompiliert werden, da die Version 1.2 nicht binär abwärtskompatibel ist.
JavaFX 1.2 steht unter dem Link https://javafx.com/downloads/windows.jsp zum Download bereit. Und zwar neben den bisher schon vorhandenen Versionen für MacOS X und Windows erstmals auch für Linux und OpenSolaris (beides aber noch in Betaversionen). Neben dem JavaFX-SDK bietet Sun auch eine »Production Suite« und eine Integration in NetBeans an.
Onlinetraining Prototype und script.aculo.us
Und mein drittes Onlinetraining für dieses Jahr ist da. Ich war dazu ja Anfang des Jahres in Graz bei Video2Brain und habe diese 3 Training sowie noch ein weiteres eingespielt. Sie werden in kurzen Abständen jetzt freigeschaltet.
Bei dem heute erschienenen Video-Training handelt es sich um ein Online-Training zu Prototype und script.aculo.us.
Die beiden Frameworks halte ich neben Dojo für die derzeit wohl professionellesten Hilfsmittel im Bereich AJAX und Webentwicklung auf DHTML-Basis.
Prototype ist die Basis für viele Web-Frameworks und das Referenz-Framework des Web 2.0 schlechthin! Das darauf aufbauende script.aculo.us bietet eindrucksvolle visuelle Effekte und Techniken, um einfach und komfortabel Web-Oberflächen zu erstellen, die in allen relevanten Browsern funktionieren.