Einfache XML-Serialisierung in C#
Heute möchte ich euch zeigen, wie man eine XML-Serialisierung in C# durchführen kann. Serialisierung selbst, bedeutet, dass man ein Objekt in eine andere, transportable Form umwandelt. Mittels XML-Serialisierung ist es uns zum Beispiel nötig, ein Objekt einer Klasse in Form einer XML-Datei abzuspeichern und auch wieder herzustellen.
Das kann Sinn machen, wenn man ein Objekt in seinem Zustand nach dem Schließen und erneuten Öffnen einer Anwendung wiederherstellen oder wenn man ein Objekt beispielsweise per HTTP übertragen möchte.
Für unser Beispiel habe ich folgende Klasse Blog erstellt:
public class Blog
{
public string User { get; set; }
public string Pass { get; set; }
public string Subdomain { get; set; }
public string BaseUrl { get; set; }
}
Die Methode zum Serialisieren sieht wie folgt aus:
public void SerializeBlogToXML(Blog blogObj)
{
//Erstelle einen XML-Serialisierer für Objekte vom Typ Blog
XmlSerializer serializer = new XmlSerializer(typeof(Blog));
//Erstelle einen FileStream auf die Datei, in die unserer
//Blog-Objekt in XML-Form gespeichert werden soll.
FileStream file = new FileStream(Application.StartupPath
+ "\\blog.xml",
FileMode.Create);
//Serialisiere das übergebene Blog-Objekt (blogObj)
//und schreibe es in den FileStream.
serializer.Serialize(file, blogObj);
//Schließe die XML-Datei.
file.Close();
}
Nicht vergessen die passenden Using-Anweisungen zu schreiben!
using System.Xml.Serialization; using System.IO;
Ohne diese würde die oben geschriebene Methode SerializeBlogToXML nicht ohne weitere Anpassungen laufen.
Das war es auch schon. Wenn man von meinen Kommentaren absieht, dann reichen ganze 4 Zeilen aus, um ein Objekt als XML-Datei abzuspeichern.
Ein kleines Beispiel zur Verwendung könnte zum Beispiel so aussehen:
private void buttonSerialisieren_Click(object sender, EventArgs e)
{
//Blog-Objekt erstellen und mit Werten befüllen
Blog blogObject = new Blog();
blogObject.User = "maxmustermann";
blogObject.Pass = "superpasswort";
blogObject.Url = "www.code-bude.net";
//Blog-Objekt serialisieren
SerializeBlogToXML(blogObject);
}
Wenn alles geklappt hat, dürfte sich nun im Ausführungsverzeichnis eures Projektes eine Datei namens Blog.xml befinden. Diese sollte folgenden Inhalt haben:
<?xml version="1.0"?> <Blog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <User>maxmustermann</User> <Pass>superpasswort</Pass> <Url>www.code-bude.net</Url> </Blog>
Das einzige was jetzt noch fehlt, ist die Konvertierung eines nach XML serialisierten Objekts. Das geht sogar noch ein bisschen leichter, als das umwandeln in’s XML-Format.
public Blog DeserializeXmlToBlog()
{
XmlSerializer serializer = new XmlSerializer(typeof(Blog));
FileStream file = new FileStream(Application.StartupPath
+ "\\blog.xml",
FileMode.Open);
//Die Deserialize()-Methode gibt ein Object zurück. => casten!
Blog blogList = serializer.Deserialize(file) as Blog;
file.Close();
return blogList;
}
Zum Abschluss noch mal ein Beispiel, in dem Serialisiert und Deserialisiert wird.
private void buttonSerialisieren_Click(object sender, EventArgs e)
{
Blog blogObject = new Blog();
blogObject.User = "maxmustermann";
blogObject.Pass = "superpasswort";
blogObject.Url = "www.code-bude.net";
SerializeBlogToXML(blogObject);
Blog blogFromXml = DeserializeXmlToBlog();
MessageBox.Show(blogFromXml.Url);
}
Ich hoffe, ich habe das ganze verständlich genug beschrieben. Solltet ihr dennoch Fragen haben, schreibt mir einfach einen Kommentar.
Wer keine Lust hat, den Code von Hand zu tippen bzw. zu kopieren, der kann sich das Beispiel auch als Visual Studio 2010 Projekt herunterladen.
Viele Grüße,
Raffi
Anleitung: Ubuntu auf einem Samsung Galaxy S2 installieren
Heute gibt es mal wieder einen Artikel zum Thema Android. Genauer gesagt geht es darum, wie ihr Ubuntu (Linux) parallel zu Android auf eurem Smartphone oder Tablet laufen lassen könnt. Darüber hatte ich auch bereits schon einmal gebloggt.
Heute jedoch möchte ich das ganze Mal Schritt-für-Schritt (anhand einer etwas anderen Methode) erklären.
Der Titel dieses Artikels ist genau genommen auch nicht ganz korrekt, denn wir werden das Ubuntu nicht installieren, sondern in einer Form von Livesystem laufen lassen – doch kommen wir zur Sache. Ich nutze für das Vorhaben mein Galaxy S2. Ob es auch mit anderen Smartphones klappt, konnte ich nicht testen, würde mich aber über Kommentare eurerseits freuen, falls ihr es ausprobiert.
Für unser Vorhaben benötigen wir folgende Dinge/Voraussetzungen:
- Android basiertes Smartphone mit Root
- Android Terminal Emulator (kostenlos im Market erhältlich)
- android-vnc-viewer (kostenlos im Market erhältlich)
- Angepasstes Ubuntu Image
- Shell-Script zum Starten
Die beiden Apps findet ihr im Market in Google Play oder ihr klickt einfach auf die Namen der Apps in der obigen Liste. Das Shell-Script und das Ubuntu Image könnt ihr entweder von Google Docs herunterladen oder direkt von meinem Server.
Download von Google Docs
- ubuntu.part1.rar (900 MB)
- ubuntu.part2.rar (572 MB)
Download von www.code-bude.net
- ubuntu.part1.rar (900 MB)
- ubuntu.part2.rar (572 MB)
Wenn ihr alles heruntergeladen habt, entpackt die beiden .rar-Archive und dann kann es auch schon losgehen.

Kopiert die beiden Dateien aus dem Archiv (ubuntu.img und ubuntu.sh) auf euer Galaxy S2. Ich habe dafür einen Ordner namens “ubuntu” auf der SD-Karte angelegt. Grundsätzlich seid ihr aber frei in der Wahl des Ordners/des Ordnernamens. Nur drauf aufs Smartphone müssen die beiden Dateien.
Wenn ihr fertig mit kopieren seid, öffnet ihr den Terminal Emulator und gebt folgende Befehle ein.
su cd /sdcard/external_sd/ubuntu/ sh ubuntu.sh
Für alle, denen jetzt ein großes Fragezeichen über dem Kopf schwirrt, erkläre ich kurz die Befehle. Mit dem Befehl “su” holen wir uns die Systemadministrationsrechte. Mit “cd” wechseln wir in den Ordner, den wir hinter “cd” angeben. Wenn ihr einen anderen Pfad für die beiden Dateien aus dem Archiv gewählt habt, dann müsst ihr natürlich euren Pfad an dieser Stelle angeben. Mit “sh” führen wir anschließend das Shell-Script “ubuntu.sh” aus.
Und weiter geht’s. Nachdem ihr die drei Befehle eingetippt habt, startet Ubuntu schon. Um nun auch noch etwas zu sehen, benötigen wir den android-vnc-viewer. Minimiert (nicht schließen) nun also den Terminal Emulator und öffnet den VNC Viewer.
Gebt folgende Daten an:
Password: ubuntu
Address: 127.0.0.1
Port: 5900
Color Format: 24 Bit
Wenn ihr nun auf Connect klickt, seid ihr schon fertig. Ihr könnt euch nun nach belieben in Ubuntu austoben. Wenn ihr den ganzen Spuk wieder beenden wollt, fahrt Ubuntu über dessen Startmenü (Shutdown) herunter, disconnected danach den VNC Viewer (Android Menütaste -> Disconnect) und öffnet zum Schluss wieder den Terminal Emulator und schließt das Terminalfenster (Android Menütaste -> Fenster schließen).
Wem das Ganze nun zu schnell ging, der kann sich auch einfach eines der beiden Videos anschauen, die ich von dem ganzen Prozedere gemacht habe.
Ich hoffe, ihr hattet viel Spaß beim Lesen und Video schauen. Wenn ihr Fragen oder Tipps habt, schreibt mir einfach einen Kommentar.
Viele Grüße,
Raffi
Windows 8 für Entwickler Workshop auf der Cebit 2012 – Eine Zusammenfassung für alle, die nicht dabei waren
Anfang der Woche war ich auf der diesjährigen Cebit. Dieses Jahr auch gleich am Dienstag, statt wie sonst am Samstag. Nach einer schnellen Runde durch den Großteil der Ausstellungshallen, einem leider viel zu kurzen Shake Hands mit Caschy in Intels Bloghütte, ging es dann auch zu meinem persönlichen Dreh- und Angelpunkt auf der diesjährigen Cebit – den Ständen von Microsoft.
Schon im Vorhinein habe ich mich zu einem Workshop namens “Windows 8 für Entwickler” angemeldet. Zum Glück rechtzeitig, denn die Plätze waren nicht nur begrenzt, sondern auch sehr begehrt. Als ich um kurz vor halb zwei vor dem Einlass stand, tauchten immer wieder Leute auf, die erfolglos probierten noch an dem Workshop teilzunehmen. Doch der war schon vor Beginn der Cebit ausgebucht.
Paradoxerweise haben es aber lange nicht alle geschafft, die sich angemeldet haben, auch auf der Veranstaltung aufzutauchen. So blieb ca. ein Drittel der verfügbaren Plätze frei. (Liebe Leute von Microsoft: Vielleicht sollte man nächstes Mal eine Frist einführen, in der man am Veranstaltungsort eintreffen muss, sodass bei Nichterscheinen, die Plätze für andere freigegeben werden können. Quasi wie im Kino. Das wär doch mal was.)
Aber kommen wir nun zur Veranstaltung. Ich habe mir einiges mitgeschrieben und probiere das nachfolgend einmal so gut es geht rüber zu bringen. Dabei orientiere ich mich einfach mal an folgender Struktur, die Microsoft für die Veranstaltung angesetzt hat und “befülle” sie ein wenig.
Der Vortrag war in folgende Punkte unterteilt:
- Bestandteile der modernen IT: Geräte, Sensoren und Cloud-Computing
- Windows 8 – ein Überblick für Entwickler
- Einführung in Metro Design & Metro Style UI
- Erstellung von Metro Style Apps
- Q&A
1. Bestandteile der modernen IT: Geräte, Sensoren und Cloud-Computing
Im ersten Punkt ging es darum, dass sich die Anforderungen an die Endgeräte in den letzten Jahren drastisch verschoben haben. So galt vor einigen Jahren noch die Devise: “Immer größere Bildschirme und immer mehr Leistung”. Das sei in 2012 nicht mehr zeitgemäß.
Mehr Leistung findet auf immer kleineren Maßen Platz und die Benutzer, sowie die IT-Landschaft sind vor allem in den letzten Jahren stark im mobilen Sektor gewachsen. Dieser steigenden Gerätelandschaft/-Bandbreite sei Windows 7 nicht mehr gewachsen. Windows 8 hingegen sei konzipiert worden, um alle Bereiche vom mobilen Device, bis hin zum festen Arbeitsplatz oder dem Wohnzimmer-PC abzudecken.
So wären auch die Entwicklungstools speziell dafür ausgelegt worden Anwendungen zu entwickeln, die sowohl auf 5″ Monitoren aber auch bei 40″ Monitordiagonale funktionieren würden und dabei auch noch gut aussehen.
Vor allem dieser visuelle Aspekt zog sich, mal mehr und mal weniger im Vordergrund, wie ein roter Faden durch die gesamte Veranstaltung.
Weiter wurden noch einige Punkte von Windows 8 genannt, die zeigen sollten, wie sich das neue Windows gegenüber den mobilen Geräten aufstellt. Genannt wurden unter anderem die Unterstützung der ARM-Architektur, die Touchoberfläche und Optimierungen für mobile Endgeräte wie größere Buttons und SIM Management, um bei mobilen Internetverbindungen z. B. Strom und Traffic einzusparen.
Was zu diesem Abschnitt der Veranstaltung vielleicht auch noch ganz spannend anzumerken ist, ist die Tatsache, wie sehr Microsoft auf die Touch-Bedienung fixiert ist. So wurde mit der Aussage “Touch first” eine klare Ansage gemacht. Auch waren sich die beiden Speaker einig, dass sich selbst im Desktopbereich die Touchbedienung durchsetzen wird. Sinngemäß hieß es, dass sich, wenn man erst einmal im Desktopbereich mit Touch gearbeitet habe, die Bedienung einer Maus, wie das Benutzen eines überflüssigen/unnatürlichen Werkzeuges anfühle.
Ich persönlich kann mir das noch nicht so recht vorstellen. Sicher mag die Touchbedienung intuitiver sein, aber ich glaube spätestens nach der ersten Stunde am Schreibtisch, würde ich einen lahmen/verkrampften Arm bekommen. Es sei denn, das komplette Konzept eines Schreibtischs würde sich ändern, aber das ist eine andere Geschichte …
Zusammenfassen ließ sich die Einführung in folgende Punkte:
- Größere Gerätelandschaft/-Bandbreite
- Höhere Mobilität
- “Touch first”
- Servicebasierte Systeme
- Volle Kompatibilität zu Windows 7
2. Windows 8 – ein Überblick für Entwickler
Zu Beginn dieses Abschnitts wurde erst noch einmal ein bisschen über die Neuerungen in Windows 8 im Allgemeinen gesprochen. So wurde gesagt, dass Windows 8 im Schnitt innerhalb von 10 Sekunden booten würde, was unter anderem an dem schlankeren Kernel liege. So hieß es auch, dass es in der heutigen Zeit nur mehr als logisch sei, sich von Altlasten zu trennen, die man seit Windows 95 mit sich schleppt, wie zum Beispiel die Überprüfung, ob ein Diskettenlaufwerk vorhanden sei.
Danach ging es darum, dass die Live-Tiles in der Metrooberfläche auch als solche genutzt werden sollten. Sprich es wurde gewünscht, dass diese auch Informationen und Mehrwerte für den Nutzer bieten, auch wenn der Nutzer die Metro-App nicht geöffnet habe. Als Beispielfälle hierfür nannte man zum Beispiel die Foto App, welche auf dem entsprechenden Live-Tile im Metro-Startmenü zum Beispiel die zuletzt aufgerufenen oder die neuesten Fotos anzeigen könnte. Als weiteres Beispiel nannte man die Verwendung der Live-Tiles für einen Feedreader, um die neuesten Feedeinträge anteasern zu können.
Danach ging es um die Charms Bar von Windows 8. Die Charms Bar (siehe Screenshot unter dem Absatz) ist ein neues Element in Windows 8, welches sich durch das ganze Betriebssystem zieht und quasi zu fast jedem Zeitpunkt aufrufbar ist. Neben dem mittig angeordneten Windows Orb zum Öffnen der Metrooberfläche bzw. des Desktops besitzt die Charms Bar vier weitere Buttons, die in jede Metro-App mit einbezogen werden können. Wie diese genutzt werden können möchte ich nachfolgend auch einmal kurz anreißen.
Suchen-Button (Search)
Es wurde gesagt, dass bisher jede Anwendung, sofern sie eine Suche benötigte, diese selber implementieren musste. In Windows 8 sei es nun möglich, mit der betriebssystemeigenen Suche zu kommunizieren. So könne man zum einen die Ergebnisse der Windowssuche direkt in seine App mit einbeziehen, z. B. die Windows-Bildersuche in seiner Grafikbearbeitungsapp nutzen, um Bilder zur Bearbeitung zu finden/öffnen und zum anderen könne man seine App als sogenannten Searchprovider innerhalb von Windows 8 registrieren. Sprich, seine App und dessen Produkte für die in der Charms Bar integrierten Suche verfügbar machen. So umfasst die Windows 8 Suche nicht mehr nur die Suche in Dateien und Ordnern, sondern kann auch direkt die installierten Anwendungen und deren Inhalte durchsuchen. (Natürlich nur, wenn diese sich als Searchprovider registriert haben.)
Teilen-Button (Share)
Der Teilen-Button ist eine weitere Neuheit in Windows 8. Er soll die Interaktion zwischen Metro-App und Betriebssystemfunktionen bzw. zwischen mehreren Metro-Apps ermöglichen. So können Apps Share-Events registrieren und abonieren. Ein gutes Beispiel, um die Idee hinter dieser Interaktion zu erläutern, ist die Vorstellung von zwei Apps. Metro-App eins ist zum Beispiel eine App, die Bilder zu Facebook und Flickr hochladen kann. Metro-App zwei hingegen stammt von einem anderen Entwickler und dient zur Bildbearbeitung.
Die “Uploadapp” registriert sich während ihrer Installation bei Windows 8 und sagt, dass sie bereit ist, Fotos entgegenzunehmen (um diese dann später hochzuladen).
Hat ein Benutzer nun ein Bild mit der zweiten App, der Bildbearbeitungsapp, erstellt und möchte dies seinen Freunden zeigen, so öffnet er die Charms Bar und klickt auf den Share-Button. Die Bildbearbeitungsapp meldet sich nun bei Windows und fordert alle Applikationen an, die sich wiederum bei Windows registriert haben und Bilder/Fotos annehmen können. Der Benutzer bekommt nun also (neben eventuell noch anderen Apps) die Uploadapp angezeigt und kann diese auswählen.
Nach der Auswahl managed Windows die Kommunikation zwischen den beiden Apps. So kann der Nutzer nahtlos Funktionen mehrerer Apps kombinieren und Mehrwerte daraus ziehen, ohne dass für den Entwickler selbst ein großer Mehraufwand entsteht.
Diese Verknüpfung von Funktionalitäten mehrerer Apps sehe ich persönlich als ein wirkliches Highlight. Ich denke, da liegt viel Potenzial darin und vor allem aus Entwicklersicht kommen mir da viele spannende Ideen.
Geräte-Button (Devices)
Den Geräte-Button muss man sich wohl so ähnlich wie den Share-Button vorstellen, bloß dass dieser nicht den Zugriff auf Daten anderer Apps ermöglicht, sondern die Integration von Geräten in die eigene Anwendung. Beispiele dafür wären zum Beispiel der Zugriff auf Mikrofon, Webcam oder TV-Karte.
Einstellungen-Button (Settings)
Der Einstellungs-Button gibt Zugriff auf zusätzliche Einstellungsdialoge, sofern diese vorhanden sind. Zusätzlich bezieht sich darauf, dass Einstellungen auch im Kontext-/Rechtsklickmenü der Metro-Apps hinterlegt werden können.
Nach den Ausführungen zur Charms Bar ging es dann um die Laufstatus der Applikationen. So werden Metro-Apps nicht mehr wie Desktop-Anwendungen geschlossen, sondern lediglich in den sogenannten “Suspended Mode” versetzt. In diesem verbleiben sie, bis sie vom Nutzer wieder in den Vordergrund geholt werden oder das System (Windows 8) die Anwendungen terminiert (schließt), um Arbeitsspeicher freizugeben.
Es wurde mehrmals betont, dass der Suspended Mode keine Einbußen in der Performance des Gesamtsystems hervorruft, da Anwendungen, die sich im Suspended Mode befinden, keine Rechenzeit verbrauchen. Hieraus ergibt sich aber gleichzeitig auch ein Problem. Was ist mit Metro-Apps, die im Hintergrund laufen sollen? Dies wäre zum Beispiel der Fall bei Musikwiedergabe-Programmen. Die Lösung hierfür wurde ebenfalls genannt. Anwendungen, die auch im Hintergrund Rechenzeit benötigen, müssen dies im Windows 8 System registrieren und erhalten somit einen Sonderstatus, der sie vor dem normalen Suspended Mode schützt.
Abschließend wurde noch einmal betont, dass die Metro-App Entwicklung völlig unabhängig von der Desktop-Anwendungs-Entwicklung sei. So würde sich an der Entwicklung von Desktopanwendungen mit der Einführung von Windows 8 absolut nichts ändern. Allerhöchstens die Tatsache, dass den Entwicklern durch das .NET-Framework 4.5 zusätzliche Neuerungen gegeben würden, könnte man als Änderung betrachten.
3. Einführung in Metro Design & Metro Style UI
Im dritten Teil der Veranstaltung ging es um das neue Design, welches zurzeit anscheinend ja noch vielen Leuten sauer aufstößt. Ich gebe zu, auch mir sagte das Metro-Design anfangs auch nicht recht zu. Mittlerweile jedoch habe ich mich schon gut damit angefreundet und muss zugeben, dass es wirklich sehr durchdacht ist.
Zuerst wurde erklärt, dass das Metrodesign nach dem Design der New Yorker Metro Zeichen benannt wurde, welches der Feder des italienischen Designers Massimo Vignelli entsprungen ist.
Ziel des Metrodesigns sei es, die passende Kombination aus schlichter Elégance und hoher Informationsdichte zu vermitteln. Und so wurden mehrere Phrasen/Ziele in den Raum geworfen, an denen sich das Metroumfeld orientieren soll. Unter anderem auch die folgenden beiden.
Be fast and fluid
Bestandteil des Metrokonzepts sei es, dass ein bisher nicht da gewesenes Gefühl an Performance entsteht. Der Übergang zwischen Applikationen soll verschmelzen, was zum einen durch die weiter oben schon angesprochenen Events (Share-Button) und zum anderen durch eine fast vollständig asynchrone Implementierung der Metro-Apps geschehen soll.
Wie viel Wert Microsoft auf die asynchrone Programmierung legt wurde klar, als gesagt wurde, dass jede Funktion, die auch nur annähernd länger als eine Sekunde in ihrer Ausführung dauern würde, asynchron implementiert werden muss. So soll gewährleistet werden, dass jede Metro-App durchgehend flüssig läuft. Auch wurde gesagt, dass eine App, die sich im Suspended Mode (siehe weiter oben) befindet, innerhalb von einer Sekunde wiederhergestellt werden können müsste.
Und um sicherzugehen, dass die Entwickler sich auch wirklich an diese Vorgaben hielten, würde jede App, die in den Metro-Appstore eingereicht wird, schon beim Upload auf die entsprechenden Start-, Restore- und Suspendzeiten, sowie die asynchrone Implementierung überprüft. Genügt eine Anwendung nicht den Anforderungen, wird sie schon beim Upload abgelehnt. Nach einer Überarbeitung bestehe dann natürlich die Chance auf eine erneute Einreichung in den Store.
Authentically digital
Die zweite Aussage, die ich hier hervorheben möchte, lautete “authentically digital” – sprich “authentisch digital”. So wurde erklärt, dass man diese Aussage ruhig wortwörtlich verstehen dürfe. Man sagte, dass man dazu stehen sollte, dass es sich bei einem Betriebssystem und dessen Anwendungen um ein digitales Produkt handelt. So würde es sich dem derzeitigen Verständnis von Microsoft nicht erschließen, warum man eine Kalenderapp mit einem virtuellen Ledereinband verzieren soll, da doch jedem Nutzer klar sei, dass dieser Ledereinband nicht echt sein kann und keinen Mehrwert biete. Deshalb wollte man im Rahmen des Metrokonzepts auf unnötigen Design-”Schnick Schnack” verzichten, um die Informationsdichte zu erhöhen und eine effektivere Arbeitsumgebung schaffen.
4. Erstellung von Metro Style Apps
Paradoxerweise war der Punkt “Erstellung von Metro Style Apps”, der Punkt, den ich persönlich für am wenigsten informativ empfand. An dieser Stelle wurde im neuen Visual Studio 11 ein neues Projekt mit einem Grid Template angelegt, um zu zeigen, dass es bereits Vorlagen für Metro-Apps gibt und wie diese aussehen.
Danach wurde mittels Screenshots in der Präsentation gezeigt, wie eine Desktopapplikation als Metro-App aussehen könnte. Hierzu wurde anhand eines bestehenden RSS-Feedreaders in wenigen Schritten gezeigt, wie man das oben genannte Grid Template dazu nutzen kann, eben diesen Feedreader ins Metrodesign zu übertragen.
Des Weiteren wurde auf das Grid an sich eingegangen und gezeigt, dass das Grid bei unterschiedlichen DPI Zahlen und Monitorauflösungen den Inhalt entsprechend anpasst und bemaßt. Auch ging es darum, dass es generell wichtig ist bestimmte Maße einzuhalten, um ein einheitliches Bild aller Metro-Apps zu gewährleisten. Beispielhaft wurde hierfür genannt, dass der Content immer erst 7 Grid-Units vom linken Rand an beginnen sollte.
Zum Thema Live-Tiles wurde gesagt, dass diese entweder mit Vektorgrafiken oder einem Set von bis zu drei Bitmaps befüllt werden könnten, sodass es bei keiner DPI-Anzahl zu unscharfen oder verpixelten Tiles komme.
Der letzte Punkt, auf den noch eingegangen wurde, war die Verknüpfung von (Expression) Blend mit dem Visual Studio. Es wurde gezeigt, dass eine direkte Verbindung besteht. So könnten Designer komplette Visual Studio Projekte in Expression Blend öffnen, dessen Design bearbeiten und abspeichern. Der Entwickler kann dann das vom Designer abgeänderte Projekt ohne weitere Anpassungen erneut kompilieren und weiterentwickeln.
Und das war es dann eigentlich auch schon. Quellcodes gab es an keiner Stelle zu sehen. Das hatte ich eigentlich erwartet, aber andererseits, war es ja auch die allererste Veranstaltung nach Veröffentlichung der Windows 8 Consumer Preview in Barcelona und zudem als Einführungsveranstaltung ausgeschrieben …
5. Q&A
Zum Abschluss der gesamten Veranstaltung gab es dann noch eine Frage und Antwort Runde. Ein paar der Fragen möchte ich hier auch noch kurz wiedergeben.
Wie wird die Enterprise Edition von Windows 8 aussehen? Werden sich Businesskunden wirklich mit Metro “rumschlagen” müssen?
Vorerst könnten noch keine Aussagen zur Enterprise Edition getroffen werden. Bisher hat man sich erst einmal auf die Consumer Versionen (Home, Professional, Ultimate) konzentriert. Deshalb hieße die derzeitige Preview von Windows 8 ja auch “Consumer” Preview.
Ist es möglich, eine Metro-App als alternative Oberfläche für eine Desktop-Anwendung zu entwickeln?
Dieses Vorhaben ist ein, ich zitiere mal, “absolutes No-No”. Desktop-Anwendungen und Metro-Apps sind zwei Paar Schuhe und sollen dies auch bleiben. Bei Verknüpfung mit einer Desktopanwendung könnte zum einen nicht mehr die gewünschte Asynchronität gewährleistet werden und zum anderen würden Bedien-, wie Sicherheitskonzepte untergraben werden.
Wie kommt Microsoft darauf, im scheinbar gesättigten Tabletsektor, Fuß fassen zu können?
Seitens Microsoft ist man sich sicher, mit einem guten Konzept auch einen passablen Absatz generieren zu können. So sei ein Gerät mit Windows 8 eben ein PC und kein “Spielzeug”. Hier wurde seitens Microsoft die neckische Gegenfrage gestellt, ob sich einer der Gäste im Raum vorstellen könne, dass die amerikanische Armee zum Beispiel ein iPad sinnvoll zur Durchführung ihrer Aktivitäten einsetze, worauf hin der Einwand kam, dass die U.S. Army bereits iPads zur Darstellung von Kartenmaterial nutzen würde. Dies wurde dann aber mit folgender Aussage abgeschmettert: “Sie sagten es doch eben selbst, das iPad ist kein PC. Höchstens ein besserer Ersatz für ein Stück Papier.”
-
So, das war es dann auch schon mit meinem “kleinen” Bericht. Dies ist das erste Mal, dass ich an solch einem Event teilgenommen und dementsprechend auch das erste Mal, dass ich so etwas niedergeschreiben habe. Ich hoffe, es war dennoch einigermaßen verständlich und informativ. Für Kritik und Verbesserungsvorschläge bin ich immer offen. War einer von euch vielleicht auch auf diesem Event? Wenn ja, was haltet ihr davon?
Viele Grüße,
Raffi











