Bug bei Verwendung des booleschen Operators "&&" in MXML

Flex hat mich heute damit verwirrt, daß ich immer einen Compilerfehler bekam, wenn ich folgendes Statement im MXML-Code verwenden wollte:

Der Compiler beschwerte sich darüber mit folgender Meldung The entity name must immediately follow the '&' in the entity reference.
Eigentlich soll hier ganz simpel zwei boolesche Werte zu einer Aussage verknüpft werden, aber da diese Verknüpfung im Kontext des MXML-Dokuments stattfindet, meint der Compiler hier eine ungültige HTML-Entität wie " oder < zu entdecken.

Man kann sich damit behelfen, die &-Zeichen als HTML-Entität & zu maskieren.

Dieser Bug ist in Adobes Flex Bugtrack (#SDK-12930) bereits beschrieben aber in der aktuellen Release des Flex-SDKs ist er noch nicht behoben.

Flex 3.0 und AIR 1.0 sind fertig

Angekündigt für März ist Adobes Flex 3.0 SDK sowie AIR 1.0 Runtime nun fertig und stehen zum Download bereit. Ebenso ist auch der dazu passende Flex Builder erschienen und kann in zwei Versionen (Standard / Professional) erworben werden. Die Preise liegen mit 213,- bzw. 594,- EUR im Rahmen des Erwarteten – und Adobe-unüblich umgerechnet kaum höher, als die aktuellen Dollar-Preise in den USA. 😉 Warum allerdings in Deutschland ein Download im Gegensatz zum klassischen Versandpaket ca. 10,- EUR teurer ausfällt, bleibt ein Rätsel.

Gegenüber der günstigeren Standard Edition bekommt man im Professional Paket den Profiler sowie das (früher extra zu erwerbende) Charting-Modul dazu.

Adobe kündigt Director 11 an

Adobe kündigt nun doch eine neue Director-Version an. Director 11 bietet die klassische breite Medienunterstützung sowie erweiterte 3D-Fähigkeiten (AGEIA PhysX-Engine). Den neuen Shockwave Player gibt es bereits zum Download. Die englische Sprachversion soll laut Adobe-Website bereits erhältlich sein (andere Quellen behaupten ab Mai). Wer unbedingt eine eingedeutschte Version benötigt, muß sich noch bis Anfang April (Adobe) bzw. Juni gedulden.

Mit 999,-$ ist Director trotz der Ankündigung einer deutlichen Preissenkung nicht eben günstig. Der offizielle Euro-Preis ist nicht herauszubekommen, da die Vorbestellungsseite momentan nicht erreichbar ist. Es gibt aber Infos im Netz, daß Director 11 in Deutschland für 1200,- € zu haben sein soll. – Ein etwas seltsamer Umrechnungskurs, wie ich finde. Aber das ist ja ein allgemeines Phänomen, daß Adobes Produkte in Deutschland mehr Euro kosten als Dollar in den Staaten. Wer schon immer damit produziert hat und nun von den neuen Festures profitieren kann, für den mag der Preis o.k. sein – ob Director damit noch genügend neue Freunde findet ist für mich jedenfalls fraglich.

Eclipse SSH-Error

Nach dem ich das SVN-Plugin Subclipse in Eclipse installiert habe, bekam ich zuerst bei jedem Versuch, mich mit dem Repository über SSH zu verbinden folgende Fehlermeldung:
svn: Can't create tunnel: Das System kann die angegebene Datei nicht finden.

Nach einigem Suchen fand ich heraus, daß man schlichtweg in Eclipse in den SVN Settings (Window> Preferences> Team> SVN) das SVN Interface auf SVNKit (Pure Java) umstellen muss.

Eclipse <span class=

Ich hoffe, dem einen oder anderen erspart dieser Tipp einige Sucherei. 😉

Data Binding: Array vs. ArrayCollection

Eines der mächtigsten Features in Flex ist die Darstellung von Daten aus dem Model auf der GUI der Applikation per Data Binding. Wenn man Daten in einfachen Properties speichert und diese mit dem [Bindable] Metatag versieht, wird ein daran gebundenes GUI-Element über einen Event von der Änderung benachrichtigt. Ist diese Property aber ein Array, bekommt eine daran gebundene Komponente nicht mit, wenn diesem Array ein Element hinzugefügt wird. Um einen Refresh der Liste zu bewirken, muß man manuell (z.B. innerhalb einer setter-Methode) ein myList.invalidateList() vor der Änderung des Array-Inhalts ausführen. De Nachteil hierbei ist, daß man in der setter-Methode eine Referenz zu der darstellenden Listenkomponente halten muß. Das wiederspricht aber dem Prinzip der Trennung von Datenmodell und View.
Weiterlesen

Kevin Lynch neuer Technik-Chef bei Adobe

Kevin Lynch, ehemaliger Chef-Software-Architekt bei Macromedia, wird Adobes neuer Technik-Chef (CTO). Seinerzeit hat Lynch dafür gesorgt, daß Flash vom kleinen Animationstool zu einem RIA-Client heranwuchs. Steht zu hoffen, daß unter seiner Führung die Entwicklung von Flash wieder mehr voran getrieben wird.

Darf man annehmen, daß nun endlich 64-bit Flashplayer und die gleichzeitige, parallele Verfügbarkeit neuer Playerversionen auf allen Plattformen (Win-32/-64, Linux-32,-64, Mobile-Devices) in Angriff genommen werden? Ich denke, für viele Entwickler wäre das die eigentliche gute Nachricht.

Spaghetti-Code schützt nicht

Ich liebe die c’t. Seit Jahren bin ich Abonnent und bei meinen Entscheidungen in Sachen Software- oder Hardwarekauf ist sie für mich das Kompetenz-Blatt schlechthin. Die Redakteure schreiben oft mit viel Herzblut und man merkt vielen Artikeln an, daß ihr jeweiliger Autor einen jahrzehntelangen Erfahrungsschatz besitzt.

Heute Morgen jedoch musste ich in einem ansonsten recht informativen Artikel über Flash-Decompiler folgenden haarsträubenden Ratschlag lesen:

Die ActionScript-Programmierung und überhaupt der gesamte Film lassen sich gegen unerlaubte Benutzung schützen, indem der Code komplex aufgebaut und verschachtelt wird. (Quelle: Frank Puscher, c’t 4/2008, S. 174 ff.)

Solch eine Aussage liest sich für mich so, als ob Flash selbst (oder gerade?) in Fachkreisen noch immer nicht als ernsthaftes SDK wahrgenommen wird, sondern weiterhin im Ruf eines Klickibunti-Spielzeugs für die Erstellung von Werbebannern steht. Sicher: Flash kann auch von Grafikern benutzt werden, die damit Animationen erstellen, ohne eine Zeile Programmcode sehen zu müssen. Allerdings hat Macromedia schon mit Enführung von AS2 klar gemacht, wohin die Reise geht. Heute, mit AS3 und Flex als Entwicklungsframework für komplexe Applikationen sind die Unterschiede zu anderen Hochsprachen wie Java eher noch akademischer Natur.

Einem ernsthaften Flash-Entwickler dürfte eines klar sein: „verschachtelter“ Code ohne zugrundeliegende Struktur und ohne Beachtung gängiger Programmierparadigmas hat keine Zukunft und führt spätestens bei der Übernahme eines Projektes durch ein anderes Entwicklerteam zu massiven Problemen bis hin zum kompletten Verlust der ursprünglichen Programmierung.

Herr Frank Puscher räumt später ein, daß eigentlich alle genannten Verschleierungstechniken nur darauf abzielen, eine mißbräuchliche Verwendung von fremden Inhalten im Ansatz so zu verkomplizieren, daß es wirtschaftlich uninteressant wird. Jede solche Maßnahme muss jedoch scheitern und ist nicht mehr als Zeitverschwendung. Alles was man ins Netz stellt, ist auch öffentlich einsehbar – das muß jedem Websitebetreiber, aber erst recht jedem Entwickler klar sein.

Saffron – ActionScript UML Modeler

„Saffron“ ist momentan für mich eines der spannendsten Projekte und am sehnlichsten erwarten Tools für die Entwicklung von Flash-Applikationen. Es handelt sich um einen roundtrip fähigen UML-Modeler. Das heisst, daß ein damit erstelltes UML-Klassendiagramm ActionScript Code erzeugt und umgekehrt importierter ActionScript Code auch als Klassendiagramm dargestellt wird.

Samuel A. Pastel berichtet in seinem Blog www.levelofindustry.com über die Fortschritte, die sein Projekt macht. Eine erste öffentliche Betaversion steht wohl in Kürze an.

Ich bin gespannt. go go go!

Debuggen von Flex-Applikationen

Flex Builder 2 besitzt eine einfach zu bedienende Debug-Funktion. Eine Flex-Applikation wird als Flash Debug-Movie gestartet und der Flexbuilder/Eclipse wechselt in die Debug-Ansicht und startet das kompilierte Movie in einem Standalone-Flash(debug)player.

Manchmal ist es jedoch notwendig, ein Movie in einem anderen Kontext (z.B. gestartet von einer anderen Anwendung) zu debuggen. Normalerweise hat man keine Möglichkeit, den Debugger einfach zu starten und später einen Movieclip mit ihm zu verbinden.
Weiterlesen

Flash-Kunst #1

yugop.com

Ein Besuch auf der Website von Yugo Nakamura (yugop.com) fesselt mich immer wieder viel länger an den Bildschirm, als gewollt. Auch wenn die meisten seiner veröffentlichten Demos bereits aus den frühen 2000er Jahren stammen, sind sie trotz allem immer wieder ein Augenschmaus. Nicht nur das Design und die dahinter steckende Kreativität sind beeindruckend auch die Performance der Anwendungen ist einfach bemerkenswert.

Genau das richtige für einen verregneten Sonntagnachmittag, wenn man in der Stimmung für einen Besuch im Haus der Kunst ist, aber nicht vor die Tür gehen mag. 😉