Mit JSIL .NET-Anwendungen in Javascript-Code umwandeln

veröffentlicht von am 21. Juni 2011 (0) Kommentare

Heute wage ich mal wieder einen der Über-den-Tellerrand-Blicke. Es geht konkret um die Möglichkeit, mithilfe eines speziellen Compilers .NET-Anwendungen in Javascript-Code zu überführen. Der Name dahinter: JSIL. Dieses Tool macht dabei nichts anderes, als den CIL-Bytecode der .NET-Anwendung in browser-tauglichen Javascript-Code umzuwandeln, der dann direkt aus dem Webbrowser heraus gestartet werden kann. Darüber hinaus generiert JSIL im Gegensatz zu anderen Cross-Compilern lesbaren und einfach zu testenden JavaScript-Code, der die Struktur des ursprünglichen .NET-Quellcodes beibehält.

Die auf der zugehörigen Webseite verfügbaren Beispiele zeigen recht eindrucksvoll, wie das Ganze aussehen kann. OK, Tetris ist nicht so der Brüller, aber das Indiana Jones-Verschnitt-Spiel kann sich durchaus sehen und spielen lassen. Das Spiel läuft recht flüssig, je nach vorhandener Hardware. Und bei der Wahl des Browsers sollte man ebenfalls wählerisch sein: So werden nur die aktuellen Webbrowswer wie Internet Explorer 9, Firefox 4, Safari 5 und Chrome 11 vernünftig unterstützt, da diese den noch recht neuen JavaScript-Standard ECMAScript 5 sowie HTML5 beherrschen. Alle Opera-Anwender werden sich daher noch ein wenig gedulden müssen.

Es sind lediglich vier Schritte notwendig, um JSIL für seine eigenen Zwecke einzusetzen:

  1. Erstellen Sie mithilfe von Git eine Kopie des zugehörigen Repositories (vergessen Sie die Submodule nicht).
  2. Erzeugen Sie mithilfe von Visual Studio 2010 (ja, die Express-Version funktioniert auch) die Build-Datei JSIL.sln.
  3. Lassen Sie die so erzeugten JSILc.exe über Ihre .NET-Anwendungen laufen.
  4. Versuchen Sie, die entstandenen Fehler zu korrigieren (JSIL befindet sich noch im Beta-Stadium).

Ach ja: JSIL ist nicht der erste Versuch, .NET in Java- oder JavaScript-basierten Code umzuwandeln. Die Projekte IKMV.NET und XMLVM haben dies bereits vorgemacht. Vor allem das XMLVM-Projekt ist für Entwickler mobiler Anwendungen äußerst interessant, da sich auf diesem Weg Android-Apps in iPhone- und iPad-kompatible Anwendungen konvertieren lassen. Hierfür bietet XMLVM die Möglichkeit, Java Bytecode in Objective-C-Code umzuwandeln.

Kategorien : Allgemein Tags : , ,

Windows 8 – HTML5 statt Silverlight?

veröffentlicht von am 10. Juni 2011 (0) Kommentare

Microsoft hat jüngst in den USA erste Details zum Windows 7-Nachfolger -Codename „Windows 8“ – bekannt gegeben. Überraschenderweise hat der Konzern dazu auch eine deutschsprachige Presseerklärung abgegeben und ein offizielles Video ins Netz gestellt.

Mit dieser offenen Informationspolitik verfolgt Microsoft drei Ziele:

  1. Eindämmen der ansonsten wilden Spekulationen und der Verbreitung gefakter Alpha-Versionen, die gewöhnlich rund 12 Monate vor der Beta-Phase durchs Web geistern.
  2. Vorschub für Windows Phone 7: Mit der Angleichung der Oberflächen für Tablets und PCs macht Microsoft klar, dass es künftig nur noch ein Windows-Design für alle Devices geben wird. Damit könnte Windows Phone 7 seine Nischenposition schneller verlassen als erwartet und Apple Marktanteile streitig machen. Das beurteilt übrigens IDC genau so, das Windows Phone erhebliche Wachstumsraten prognostiziert und das Smartphone-OS schon im Jahr 2015 vor der iPhone-Konkurrenz (und hinter Android) sieht.
  3. Vor allem aber gibt Microsoft mit der Veröffentlichung wesentlicher Details Windows-Entwicklern einen klaren Hinweis darauf, wohin die Reise geht und welche technologischen Plattformen aus Redmond weiterhin unterstützt und gefördert werden.

Windows 8 aus Entwicklersicht

Und hier kam es zu einigen Überraschungen. Microsoft will nach eigenem Bekunden die Einbindung von Apps optimieren. Diese sollen sich einfacher auf dem Desktop integrieren und verwalten lassen und dank der nativen Unterstützung von HTML5 und JavaScript auch deutlich schneller laufen. Das sind gleich drei Überraschungen auf einmal.

Zunächst verwundert der Begriff „Apps“ im Zusammenhang mit einem Desktop-Betriebssystem. Die Anlehnung an die Terminologie aus dem Smartphone-Bereich ist sicherlich kein Zufall. Microsoft wird auch Entwicklern aus dem Mobile-Bereich die Möglichkeit geben, Windows 8 um wichtige Desktop-Funktionen zu erweitern – obwohl Redmond an keiner Stelle explizit bestätigt, dass es sich bei Windows 8 um das System handelt, das künftig auch die Windows Phones antreiben wird. Was jedoch dafür spricht: Windows 8 wird auch für SoC-Prozessoren optimiert, die typischerweise in handlichen Mobile-Devices zum Einsatz kommen.

Für mehr Irritationen sorgt allerdings, dass das hauseigene Silverlight anscheinend nicht die erste Geige bei der Multimedia-Unterstützung spielen wird, sondern Microsoft hier auf HTML5 vertraut. Auch .NET findet keinerlei Erwähnung. Eine mögliche Erklärung: Der Browser (vermutlich der IE 10 oder dessen Nachfolger) könnte zum digitalen Drehkreuz aller Anwendungen und zum Herzstück des Systems wachsen. Gegenargument: Eine weitere Verschmelzung der Systemarchitektur mit dem hauseigenen Browser könnte im Rahmen des Wettbewerbs zu rechtlichen Problemen führen.

Das aber sind nur Spekulationen. Mehr Klarheit wird es im Herbst geben, wenn Microsoft auf der Entwicklerkonferenz „BUILD” (13. -16. September in Anaheim, Kalifornien) Stellung bezieht. Wir bleiben dran.

Kategorien : Allgemein Tags : , , , ,

Parallelisierungsgrad von .NET- und Java-Anwendungen testen

veröffentlicht von am 1. März 2011 (0) Kommentare

Zugegeben, ganz neu ist der Intel Concurrency Checker nicht . Mit diesem Tool lässt sich ziemlich einfach der Parallelisierungsgrad einer Anwendung messen – und zwar ganz egal, ob es sich dabei um ein C++-, .NET- oder Java-Programm handelt. Denn das Intel-Tool untersucht – wie so viele andere Software-Werkzeuge – nicht den Sourcecode des zu testenden Programms, sondern erstellt mithilfe der laufenden Anwendung und des daraus resultierenden Datenaufkommens eine Testdatei, in der bestimmte Parameter abgelegt werden. Anhand dieser Werte lässt sich dann der Parallelisierungsgrad der Anwendung ermitteln.

Das kann man einerseits selbst erledigen, indem man zunächst bestimmte Konstrukte parallelsiert, um den Multicore-Koeffizienten zu verbessern. Hierzu eignen sich ja beispielsweise Schleifenkonstrukte, die eine große Zahl an Daten in kurzer Zeit manipulieren. Sobald man testweise eine for-Schleife mit dem richtigen Befehl und dem dazu passenden Programmiermodell (wie zum Beispiel OpenMP) parallelisiert hat, kompiliert man die Anwendung erneut, startet den Concurrency Checker und betrachtet die so ermittelten Testergebnisse.

Das ist natürlich aufwändig und erfordert ein gewisses Maß an Paralleliserungs-Know-now. Einfacher geht es da mit dem zugehörigen Service, den Intel Software-Entwicklern kostenlos anbietet. Das einzige, was Sie hierfür benötigen, ist ein gültiger Account des Intel Software Partner Program. Sobald Sie Besitzer der notwendigen Login-Daten sind, können Sie den Testbericht, den der Concurrency Checker automatisch ausspuckt, auf den Intel-Server laden. Dieser wertet die Daten aus und stellt diese in grafischer Art und Weise am Bildschirm dar.

Falls die hierfür eingesetzten Tools Parallelisierungspotenzial innerhalb Ihrer Anwendung finden, bekommen Sie das mitgeteilt und Sie müssen sich selbst um das Aufspüren der möglichen Sourcecode-Stellen nicht kümmern. Was Sie allerdings schon wissen sollten, wie Sie die identifizierten Stellen mit entsprechenden Parallel-Konstrukten versehen. Und das wiederum erfordert ein wenig mehr als nur den Concurrency Checker. Aber wozu gibt es dieses Blog, oder?!

Falls Sie sich zu dem Thema ein Video angucken wollen, hilft ein Mausklick auf diesen Link. Oder Sie besuchen die Concurrency-Checker-Seite, die Intel speziell zu diesem Thema zusammen gezimmert hat.

Kategorien : Multicore Tags : , , ,

Beta-Tester von Parallel Studio werden

veröffentlicht von am 21. April 2010 (0) Kommentare

Vor gut einer Woche war es also soweit: Microsoft stellte mit einigem Brimborium und Livecast sein lang ersehntes Entwicklertool Visual Studio 2010 inklusive .NET 4 vor. Was aber bedeutet das, wenn man beispielsweise Parallel Studio für das Multithreaden seiner Anwendung innerhalb von Visual Studio einsetzt? Denn bisher wurden nur Visual Studio 2005 und 2008 von Parallel Studio unterstützt.

Nun, um an der Gestaltung der für Visual Studio 2010 optimierten Version von Parallel Studio teilzunehmen, könnt ihr euch für das zugehörige Beta-Programm registrieren. Allerdings handelt es sich dabei erst mal nur um eine Bewerbung. Ob man dann tatsächlich beim Beta-Test der nächsten Version von Parallel Studio dabei ist, entscheidet ein entsprechendes Gremium. Seid also sorgfältig beim Ausfüllen des Bewerbungsformulars, in dem Dinge abgfragt werden wie der Zeitraum des geplanten Umstiegs auf VS 2010, welche Programmiersprachen zum Einsatz kommen und ob die zu entwickelnden Anwendungen ausschließlich unter Windows laufen – oder auch nicht.

Doch was werden Software-Entwickler von der Kombination Parallel Studio/Visual Studio 2010 alles haben? Dazu gehören folgende Dinge:

  • Eine äußerst leistungsstarke Speicher- und Thread-Analyse, die sowohl parallelen als auch sequenziellen Quellcode nach möglichen Flaschenhälsen und Fehlern untersucht.
  • Der in Parallel Studio integrierte C++-Compiler ist vollständig kompatibel mit Microsoft Visual C++. Darüber hinaus ermöglicht der Intel-Compiler neue Vektormodelle und identifiziert sogar Bereiche innerhalb der Anwendung, die mithilfe einiger Handgriffe effizienter laufen, wenn man dort spezielle Vektoroperationen einbaut.
  • Aber auch die Intel Integrated Performance Primitives (IPP) sind bereits jetzt vollständig kompatibel mit Visual Studio 2010. Die IPP sind unter anderem wichtig bei der Programmierung von Multimedia-, Bildbearbeitungs- und Kommunikationstools.

Also, worauf wartet ihr noch? Als möglicher Beta-Tester seht ihr nicht nur als erster die nächste Version von Parallel Studio, sondern könnt sogar aktiv die Auswahl neuer Features mitbestimmen. Wenn das mal nix ist …

Kategorien : Multicore Tags : , ,

Multicore-Workshop mit Jeffrey Richter parallel zur Basta

veröffentlicht von am 4. September 2009 (0) Kommentare

Von 21. bis 25. September findet in Mainz die Basta! 2009 statt, eine der größten unabhängigen Entwicklerkonferenzen in diesem Land. Gerne würde ich ja dort hinfahren, um mir die eine oder andere Session anzuhören und darüber zu bloggen. Besonders interessant finde ich natürlich den Multicore-Workshop von Jeffrey Richter, der parallel zur Basta an drei Tagen stattfindet.

Nun ist es aber so, dass ich von 21. bis 27. September in San Francisco weilen werde, um mich ebenfalls an drei Tagen auf dem Intel Developer Forum über die neuesten Entwicklungen aus dem Hause Intel in Sachen Programmierung und mehr zu informieren. Und da ich leider nicht an zwei Orten gleichzeitig sein kann, habe ich mir schon mal den Workshop-Plan ein wenig genauer angesehen. Darüber hinaus habe ich weitere Infos bei der Veranstalterin der Basta angefragt. Hoffentlich bekomme ich etwas zugeschickt. Damit ich es mit euch teilen kann.

Bis dahin lohnt sich auf jeden Fall ein kurzer Blick in die geplanten Inhalte des Power-Workshops von Jeffrey:

Der Titel des Ganzen lautet “Mastering .NET and Preparing for the Multi-Core Revolution”, findet von Montag bis Mittwoch von jeweils 9 bis 18 Uhr im Hotel Contel Mainz statt und kostet regulär 1.550 Euro. Falls sich drei Kollegen aus demselben Unternehmen anmelden, kommt der Workshop 100 Euro günstiger. Und für alle, die sich noch heute anmelden, gibt’s ein Netbook mit sämtlichen Ausgaben des dot.NET Magazins obendrauf.

weiterlesen…

Kategorien : Multicore Tags : , , ,

BASTA! Spring 2009: C#4.0, Visual Studio 2010 und mehr

veröffentlicht von am 23. Dezember 2008 (1) Kommentar

Software & Support Media gibt einen Tag vor Heilig Abend feierlich bekannt: Die BASTA! Spring 2009 findet im kommenden Frühjahr vom 23. bis 27. Februar in Darmstadt statt. Schwerpunkte der Entwicklerkonferenz werden unter anderem sein: Windows Azure, Windows 7, Oslo, C# 4.0, Visual Studio 2010 und dynamische Sprachen.

Natürlich wird es wieder ganz viele Tipps & Tricks rund um das Thema .NET geben. Darüber hinaus geht es auf der BASTA! um das Thema parallele Programmierung. Dafür werden schon alleine die VS 2010-Sessions sorgen.

Für den Blick hinter die Kulissen hat Software & Support Media wieder ganz viele Experten eingeladen, die mithilfe anschaulicher Beispiele und “Best Practices” .NET näher bringen wollen. Zu diesen Fachleuten gehören beispielsweise Christian Binder (Microsoft), André Krämer (CSC), Neno Loje (AIT), Peter Nowak (T-Systems) und Dr. Holger Schwichtenberg (IT-Visions).

Neben den geplanten Vorträgen wird es parallel zur BASTA! vier Themenspecials geben, die sich mit C#, SharePoint, Architekturen und Visual Basic beschäftigen werden. Daneben besteht die Möglichkeit, anhand der angebotenen Sessions und Workshops sein ganz individuelles Konferenzprogramm zusammenzustellen.

Die Tech-Sessions sind in unterschiedliche Technologie-Tracks gegliedert und dauern jeweils 75 Minuten. Außerdem können in ganztägigen “Power-Workshops” spezielle Themen sehr detailliert besprochen und vertieft werden. Sämtliche Konferenzinhalte können bereits heute online abgerufen werden.

Preistipp: Wenn Sie sich bis zum 22. Januar 2009 für die BASTA! Spring 2009 anmelden, können Sie als “Early Bird” richtig Geld sparen. Also, worauf warten Sie noch?!

Kategorien : Multicore Tags : , ,