Silverlight 4 – Lern-Kit

Von Max Knor Autor Feed 31. March 2010 11:23
Auf der MiX 2010 wurde Silverlight 4 + WCF RIA Services als Release Candidate freigegeben. Wollen Sie die neuen Funktionen von Silverlight 4 auf einen Blick kennenlernen? Dann schauen Sie mal in’s Silverlight 4 – Training hinein! Mit Whitepapers, Hands-On-Labs und Videos, werden zahlreiche neue Funktionen, wie RichTextBox control, implicit styling, webcam, Drag & Drop Target, multi touch, validation, authentication, MEF, WCF RIA Services, Rechtsclick, uvm. erklärt! Außerdem haben wir auf den Big>Days eine Beispielapplikation (“Helfen helfen”) mit Silverlight 4, WCF RIA Services und dem BingMaps Control implementiert. Slides und die Beispiel-App finden Sie auf meinem Blog. knom

Videos: Big>Days 2010 Developer Sessions zu Web-Entwicklung und Visual Studio 2010 & .NET 4.0 online!

Von Rolf Mistelbacher Autor Feed 30. March 2010 16:52
Wie angekündigt haben wir die Developer Sessions auf den Big>Days 2010 erstmalig aufgenommen. Alle Videos werden auf Channel9 für Streaming & Download zur Verfügung stehen. Nachdem sich die Anfragen schon häufen hier mal die Links von den Videos die schon hochgeladen sind – die restlichen Links werden laufend in diesem Blog-Beitrag ergänzt! Wir freuen uns über Feedback zu den Vorträgen und Wünsche für die Zukunft in den Comments! Track Visual Studio 2010 und .NET 4.0 Web-Entwicklung anhand einem durchgängigen Projekt Session 1 Ein Überblick über Visual Studio 2010 und .NET 4.0 RIA Web-Smart-Clients mit Silverlight 4 Session 2 Visual Studio 2010 Ultimate und Team Foundation Server - Teil1 CSS Layouts und ASP.NET 4 Session 3 Visual Studio 2010 Ultimate und Team Foundation Server - Teil2 Flexible und einfach testbare Webseiten mit ASP.NET MVC 2 Session 4 Parallel Programming mit .NET 4.0 Bessere Web-Reaktionszeiten mit ASP.NET Session 5 Was gibt es Neues in C# 4.0 und VB 10? Cloud: Ihr Web hochskalierbar auf Windows Azure

Bing Maps Tutorial #2 – Grundlegende Funktionen des Bing Maps Controls für Silverlight

Von Mario Meir-Huber Autor Feed 30. March 2010 10:55
Bing Maps wächst derzeit enorm in der Bedeutung. Besonders durch die Integration von Deep Zoom (Silverlight) und PhotoSynth hat Bing Maps starkes Aufsehen erregt. Doch auch für Software Entwickler kann Bing Maps sehr interessant sein. In dieser Tutorial Serie, welche mit “bingmaps tutorial” getagged ist, kann man sich durch sämtliche Posts durchklicken. Wollen wir das Tutoral mal mit etwas XAML starten. Hierfür brauchen wir eine Art Navigation. Diese lasse ich mal wieder im Office 2007 Stil erscheinen. Hierfür wird lediglich ein StackPanel mit 2 Borders eingefügt. Beide Border bekommen wiederum ein StackPanel verpasst. Im ersten StackPanel wird die Positionierung geschehen, das zweite kümmert sich um die Ansicht (Satelit oder Straße). Dafür sind einige Steuerelemente notwendig, welche im unteren Listing ersichtlich sind. <StackPanel Orientation="Horizontal"> <Border CornerRadius="10" Margin="5" Width="200" BorderThickness="1" BorderBrush="Black"> <StackPanel Margin="10"> <TextBox Width="160" Text="48.202" Name="TxtLat" Margin="5,6.5,5,5" TextAlignment="Center"/> <TextBox Width="160" Text="16.369" Name="TxtLon" Margin="5,0,5,5" TextAlignment="Center"/> <Button Margin="8,0,8,5" Content="Go!" Click="OnChangePosition" /> </StackPanel> </Border> <Border CornerRadius="10" Margin="5" Width="100" BorderThickness="1" BorderBrush="Black"> <StackPanel Margin="10"> <Button Content="Satelit" Margin="5" Click="Button_Click"/> <Button Content="Straßen" Margin="5" Click="Button_Click"/> </StackPanel> </Border> </StackPanel> Nun ist auch noch das Kartensteuerelement notwendig. Im vorigen Post habe ich das schon etwas ausführlicher erklärt. <bing:Map Grid.Row="1" CredentialsProvider="{StaticResource BingStorageCred}" ScaleVisibility="Collapsed" NavigationVisibility="Collapsed" Center="48.202, 16.369" ZoomLevel="10" Name="BngMap"> <bing:Map.Mode> <bing:AerialMode Labels="True" FadingLabels="True" /> </bing:Map.Mode> </bing:Map> Nun soll eine andere Position angezeigt werden. Dies kann man einfach durch die Location-Klasse regeln, welche man dem Kartensteuerelement unter “Center” zuweist. Hierfür Parsen wir einfach von den beiden Textboxen und setzen die Longitude und Latidude Eigenschaften. private void OnChangePosition(object sender, RoutedEventArgs e) { Location loc = new Location(); try { loc.Latitude = Double.Parse(TxtLat.Text, new NumberFormatInfo() { CurrencyDecimalSeparator = "." }); loc.Longitude = Double.Parse(TxtLon.Text, new NumberFormatInfo() { CurrencyDecimalSeparator = "." }); } catch (Exception ex) { loc.Latitude = 48.202; loc.Longitude = 16.369; } BngMap.Center = loc; } Nun ist nur noch ein weiterer Schritt für die unterschiedliche Ansicht notwendig. Hierbei geben wir für beide Buttons ein Event an und überprüfen, ob der Text des Buttons “Satelit” ist. Wenn dem nicht so ist, wird die Straßenkarte angezeigt. Die Einstellung funktioniert hierbei über “Mode”. Dieser kann man jeweils eine “AerialMode” oder eine “RoadMode” zuweisen. private void Button_Click(object sender, RoutedEventArgs e) { switch (((Button)sender).Content.ToString()) { case "Satelit": BngMap.Mode = new AerialMode(); break; default: BngMap.Mode = new RoadMode(); break; } } Nun ist auch die Karte bereits soweit verwendbar. In den nächsten Posts wird die Karte Schritt für Schritt erweitert. Viel Spaß erstmal! Mario Meir-Huber Web: www.meirhuber.de Twitter: www.twitter.com/mario_mh

Sharepoint 2010: Teil 1 – Überblick über Sharepoint Produkte und Technologien

Von Andreas Aschauer Autor Feed 29. March 2010 15:18
Dieser Artikel ist der Startpunkt unserer Sharepoint 2010 Blog Reihe. In den folgenden Wochen werde ich hier eine Einführung in Sharepoint 2010 für Entwickler geben, damit zum offiziellen Release am 12.05.2010 sofort gestartet werden kann mit der Erweiterung und Anpassung der Sharepoint 2010 Installationen. Beginnend mit einem Überblick “Was ist Sharepoint” über das Einrichten einer Entwicklungsumgebung, bis hin zu fortgeschrittenen Techniken (TDD mit Sharepoint,..), soll diese Artikelreihe eine Anleitung zum Einstieg oder Umstieg in die Sharepoint Entwicklungswelt bieten. Ohne Umwege gehts gleich zur ersten Frage: “Was ist Sharepoint”. Aus eigener Erfahrung habe ich gelernt, dass mit “Sharepoint” meist der Sharepoint Server bezeichnet wird. Dass dass nur die Spitze des Eisbergs ist und dass darunter eigentlich Standard ASP.NET/IIS steckt ist vielen gar nicht bewusst. Sharepoint wird eher als ein Produkt wahrgenommen, dass eine eigene Welt und ein eigenes Programmierparadigma darstellt. In Wirklichkeit ist es so, dass jeder Entwickler der ASP.NET / IIS versteht sehr leicht um- oder “auf” steigen kann auf die Sharepoint Entwicklung. Gründe warum Sharepoint Technologien in Unternehmen eingeführt werden gibt es viele. Meist soll die Entwicklung von Collaborations Portalen vereinfacht und standardisiert werden wie zum Beispiel Intranets etc. Oft steht auch Reportung und Business Intelligence im Vordergrund oder die Möglichkeit Sharepoint Server als “Frontend” für heterogene Datenquellen und Systeme einzusetzen, sodass alle Quellen über ein System erreichbar sind. Für all dies eignet sich Sharepoint Server hervorragend. Für Entwickler bedeuted es jedoch einen nicht zu unterschätzenden Aufwand sich einzuarbeiten. Wichtig ist, dass man bei der Einarbeitung “unten” anfängt. Also nicht gleich versucht eine riesen Business Intelligence Lösung zu implementieren sondern sich die Grundlagen erarbeitet, da man so auch sehr schön die Architektur von Sharepoint versteht. Also gehts von unten los: Die Basis bilden Windows Server/7, IIS und ASP.NET. Darauf direkt aufbauend bildet die Sharepoint Foundation die erste “Sharepoint Schicht”. Bis MOSS 2007 war dieser Layer als WSS – Windows Sharepoint Services bekannt. Die Sharepoint Foundation stellt die Grundfunktionalitäten bereit und Sharepoint Server setzt nur mehr darauf auf und erweitert diese um zusätzliche Funktionen, je nach Edition (Standard/Enterprise) Was bringt mir als Entwickler das Ganze? In einem Unternehmen werden heutzutage dutzenden Web- oder Client/ Server-Applikationen betrieben und neu erstellt. Jede dieser Applikationen wird meist von Grund auf entwickelt und jede bringt eine dicke Infrastrukturschicht mit. Damit ist gemeint: Jede Applikation hat ihre eigene Applikations-Schicht für Datenzugriff/Persistenz, Sicherheit und Berechtigungen, Integration externer Anwendungen und Daten,….also sehr viel Code der nichts mit dem eigentlichen Businessproblem zu tun hat sondern den Context und die Infrastruktur darstellt. Sharepoint bietet mir ein Framework an, welches mir all das abnimmt. Eine richtig konfigurierte Sharepoint Farm bietet mir über eine einzige API alle diese infrastrukturellen Dinge an. Das heisst die Integration von Daten, das Verwalten von Berechtigungen etc. wird von der Entwicklung weg, zu eigenen Sharepoint Administratoren verschoben und somit an einen zentralen Punkt. Alle Applikationen die, die Sharepoint “Toolbox” nutzen profitieren von der kompletten eingerichteten Infrastruktur und alle Applikationen können auf einer gemeinsamen Platform erstellt und gewartet werden und existieren nicht als “Inseln”. “Meine” Applikation, welche auf der Sharepoint Toolbox (API) aufbaut oder diese erweitert muss sich somit nur mehr um den Business-relevanten Teil kümmern, das heisst um die eigentlich Problemstellung. Alle Infrastrukturellen Komponenten spreche ich über die API, da sie schon vorhanden und konfiguriert sind. Weiters habe ich als Entwickler natürlich damit auch die Möglichkeit sehr einfach mit anderen Applikationen und Systemen zu interagieren und Daten bereit zu stellen, Workflows anzustossen, uvm… Die Entwicklung erfolgt dabei gewohnt mit Visual Studio 2010 und der Sharepoint API, aber auch mit einem eigenen Tool namens Sharepoint Designer, welcher noch Teil eines eigenen Artikels sein wird. Soweit mal ein Mini Überblick über die Sharepoint Platform und eine Motivation die Artikelreihe in Zukunft zu verfolgen. Nächstes Thema, um tiefer in den Aufbau von Sharepoint zu tauchen, wird die Installation und Erstkonfiguration sein. Also der erste Schritt zu einer Entwicklungsumgebung für Sharepoint 2010 Links: Microsofts Offizielle Sharepoint 2010 Seite Channel 9 - Videos zu Sharepoint 2010

Bing Maps Tutorial #1 – Account und ein erstes Hello Bing Maps World

Von Mario Meir-Huber Autor Feed 23. March 2010 00:37
Bing Maps wächst derzeit enorm in der Bedeutung. Besonders durch die Integration von Deep Zoom (Silverlight) und PhotoSynth hat Bing Maps starkes Aufsehen erregt. Doch auch für Software Entwickler kann Bing Maps sehr interessant sein. In dieser Tutorial Serie, welche mit “bingmaps tutorial” getagged ist, kann man sich durch sämtliche Posts durchklicken. Mit diesem Artikel wollen wir uns ansehen, wie man die Bing Maps verwenden kann. Bevor wir starten ist jedoch noch ein Account bei Bing notwendig. Einen Bing Maps Account kann man unter der Adresse https://www.bingmapsportal.com/ einrichten. Hierfür benötigt man eine gültige Windows Live ID. Im nächsten Schritt hat man bereits einen Account Key und man kann die SDK Tools verwenden. Um die Bing Maps in Silverlight zu verwenden, muss vorher das Control geladen werden. Dies kann man unter http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=beb29d27-6f0c-494f-b028-1e0e3187e830 downloaden. Das Control kann man nun auch bereits sehr einfach in Silverlight verwenden. Hierfür muss man lediglich 3 Dinge erledigen: 1. Das Assembly in das Projekt und der XAML-Deklaration einfügen 2. Die Credentials setzen 3. Die Karte anzeigen Schritt 1: Referenzen hinzufügen Wenn man das Control eingefügt hat, kann es auch schon richtig los gehen. Damit das Control nun auch angezeigt werden kann, wollen wir den Namespace in XAML einfügen. <UserControl x:Class="_01___Silverlight_Sample.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:bing="clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl" mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="600">   HINWEIS: Für das Beispiel wurde Silverlight 4 verwendet, es kann bei älteren Versionen etwas anders aussehen! Im nächsten Schritt erstellen wir 2 Reihen (RowDefinitions) für die Anwendung, damit wir einige Steuerelemente und das Control in der Anwendung platzieren können. Das Control selbst kann jetzt sehr einfach mit “bing:Map” angesprochen werden. <Grid.RowDefinitions> <RowDefinition Height="100" /> <RowDefinition /> </Grid.RowDefinitions> <bing:Map Grid.Row="1" /> Führt man nun die Anwendung aus, so hat man auch schon gleich ein erstes Ergebnis. Was jedoch noch stört ist dieser Schriftzug in der Mitte, der die nicht gesetzten Credentials erwähnt. Spätestens beim Kunden würde dies zu Problemen führen ;). Damit man dieses Problem umgeht, setzen wir in den Ressourcen des UserControls noch einen Credentials Provider. <UserControl.Resources> <bing:ApplicationIdCredentialsProvider x:Key="BingStorageCred" ApplicationId="VIEL_ZU_LANGER_WERT_DER_HIER_SONST_STEHT_!!!" /> </UserControl.Resources> In der Karte (Map) muss man diese Credentials nun nur noch setzen: <bing:Map Grid.Row="1" CredentialsProvider="{StaticResource BingStorageCred}" /> Alternativ kann man die Credentials auch im CredentialsProvider angeben. Sollte man jedoch mehr Controls verwenden, welche die Credentials brauchen, so ist dies nicht von Vorteil. Nun kann der Entwicklung mit dem Control nichts mehr im Wege stehen. Mario Meir-Huber Web: www.meirhuber.de Twitter: www.twitter.com/mario_mh

Mix 2010 in Las Vegas: Keynote Tag 2, Internet Explorer 9 und Design

Von Mario Meir-Huber Autor Feed 17. March 2010 02:20
Der zweite Tag der Keynote stand ganz im Zeichen von Webentwicklung mit ASP.NET, dem Internet Explorer 9 und Design. Den Beginn machte Dean Hachimovich, welcher der General Manager des Internet Explorer Teams ist. Hierbei wurde die Weiterentwicklung des Internet Explorers 9 seit der PDC vorgestellt. Am Eindrucksvollsten war wohl die Performance durch Hardware Rendering. In der CTP für den Internet Explorer 9 gibt es einige Demos, welche aktuelle Browser hinsichtlich Performance sehr alt aussehen lassen. Ferner sind Standards im Internet Explorer 9 sehr wichtig. Der CSS Test lief bereits sehr gut, beim Acid3 erreichte der Internet Explorer immerhin schon 55 Punkte. Ziel ist es natürlich, diesen vollständig zu bestehen. Dean hat hier festgehalten das dies in den nächsten Monaten auch integriert werden wird. Internet Explorer 9 wird auch HTML 5 unterstützen. Hier wurde vor allem HTML 5 Video vorgestellt, welches als Tag auf Youtube bereits unterstützt wird. Als nächster Vortragender kam Scott Guthrie auf die Bühne. Gemeinsam mit Scott Hanselman erklärte er die Neuerungen von Visual Studio 2010. Hierfür wird es auf Codefest eine detailliertere Reihe geben. Ferner hat Scott Hanselman eine Demo zu jQuery vorgestellt. Hierbei kam auch gleich der Entwickler von jQuery auf die Bühne. Nach den beiden Scott’s gab sich Dough Purdy die Ehre. Er stellte hierbei einen offenen Standard vor, welcher unter der Apache License steht. Dieser ist “OData” und ist unter http://www.odata.org/ erreichbar. OData unterstützt eine ganze Reihe an Plattformen und ist vor allem dazu da, Daten im Web einfach zu verteilen. In diesem Umfang wurde auch Codename “Dallas” vorgestellt, wo der ehemalige österreichische Studentpartner, Christian Liensberger, Program Manager ist. Schlussendlich war auch noch Bill Buxton auf der Bühne. Bill ist jedem Designer und jedem, der bereits mit Natural User Interfaces (NUI) wie etwa Surface gearbeitet hat ein Begriff. Dieser Vortrag war das absolute Highlight. Es ist immer wieder toll, wie leidenschaftlich Bill über NUIs vorträgt. Dies war für mich auch die einzige Session, da ich mich die restliche Zeit um den Feinschliff meines Vortrages, welcher am Mittwoch den 18. März statt findet, gewidmet habe. Auch hier geht es um das sehr spannende Thema “NUI”.  Auch am Vortag kam die Party in Las Vegas nicht zu kurz. Hier war ich auf einer sehr interessanten kleineren Veranstaltung welche von Josh Blake organisiert wurde. Josh arbeitet an seinem Buch zu NUI und ich kenne ihn, da ich in einem ähnlichen Bereich tätig bin, persönlich. Die Party ging auch um das Thema NUI und wir waren ca. 20 Personen. Einer dieser war auch Bill Buxton, was sehr spannend war sich mit ihm in einer netten Atmosphäre zu unterhalten.  Auf dem Weg zum Essen (NUI MIXup) Ich mit Mr. NUI, Bill Buxton Josh mit Bill Buxton Viele Grüße aus Las Vegas, Mario

Mix 2010 Las Vegas: Blend 4

Von Mario Meir-Huber Autor Feed 16. March 2010 08:27
Sehr interessant war die Session „Authoring for Silverlight 4 with Expression Blend“. Mit Blend lassen sich WPF, Silverlight und – neu – auch Anwendungen für das Windows Phone 7 designen. Während bei Visual Studio der Focus auf Coding liegt, ist Blend das Werkzeug der Wahl für Designer.  Christian Schormann und Peter Blois demonstrierten anhand einiger Beispiele wie einfach die Entwicklung mit Expression Blend sein kann. Manche der gezeigten Features sind nicht gänzlich neu, da sie bereits in der Version 3 vorhanden sind. Behaviours beispielsweise ermöglichen es dem Designer mit wenigen Mausklick Oberflächenelementen ein Verhalten zu definieren – und das ohne eine einzige Zeile Code schreiben zu müssen. Hervorheben möchte ich ein neues Feature – die Path Listbox. Mit dieser wird es möglich, Listenelement entlang eines definierten Paths beliebig auszurichten. Damit werden Userinterfaces möglich, die zuvor nur mit sehr viel Programmieraufwand zu bewerkstelligen gewesen wären. Zum Beispiel sind die Fotos in der Abbildung Elemente einer Listbox, die automatisch entlang einer Kurve angeordnet wurden. Expression Blend 4 ist ab sofort als RC verfügbar und ein Upgrade von Version 3 wird kostenlos möglich sein! Aus Las Vegas, Mario Meir-Huber, Thomas Mutzl

Mix 2010 in Las Vegas: Keynote Tag 1, Windows Phone 7 und Silverlight 4

Von Mario Meir-Huber Autor Feed 16. March 2010 08:18
Die Keynote des ersten Tages stand ganz im Zeichen von Windows Phone 7 und Silverlight 4. Hierbei wurde der Release Candidate von Silverlight 4 und die Entwicklungsumgebung von Windows Phone 7 vorgestellt. Auf der Keynote war hauptsächlich Scott Guthrie. Natürlich hatte er wieder ein rotes T-Shirt an. Scott hat das Projekt von Red Bull vorgestellt, wo Felix Baumgartner ja bekanntlich aus mehreren tausend Metern springt. Dies ist eines der vielen Projekte, welche mit Silverlight realisiert wurden. Dies hat auch die Verbreitung von Silverlight positiv beeinflusst. Seit der PDC 2009 im November ist die Verbreitung von Silverlight von 45% auf 60% angestiegen. Ferner hat Scott Guthrie angekündigt, das der Silverlight Player, welcher für das Streaming der Olympiade verwendet wurde nun als Open Source auf Codeplex zur Verfügung steht. Später kam die Vizepräsidentin von EBAY, Raji Arasu, auf die Bühne, welche eine neue Applikation für EBay Seller demonstriert hat. Eine der wichtigsten Ankündigungen war die Verfügbarkeit des Release Candidate für Silverlight 4 und von Expression Blend 4. Scott Guthrie hat einen Twitter Client für Windows Phone in nur 10 Minuten geschrieben. Mehr zu Windows Phone gibt es dann weiter unten. Die Keynote wurde noch etwas mit einem lustigen Demo von Steve Ballmer am Windows Phone abgerundet. Hierbei kamen auch die Sensoren zum Einsatz. Joe Belfiore hat nach der Keynote eine Session zum Thema “Windows Phone 7” gegeben, wo er weitere Details zum Betriebssystem, der Hardware und den Möglichkeiten verriet. Windows Phone 7 ist im Gegensatz zu den Vorgängerversionen nicht mehr für den Business-Kunden, sondern für den Endbenutzer designed. Wichtig ist hierbei das Spiele ebenso wichtig sind wie die Exchange Server Integration. Das Design des Windows Phones wurde mit “Metro User Experience” bezeichnet und enthält die Schlagwörter “Smart Design” und “Integrated Experiences”. So genannte “Hubs” sollen gleichartige Dinge wie zum Beispiel Fotos aus verschiedenen Quellen an einer Stelle vereinigen. Windows Phone 7 unterstützt auch SharePoint und die Office Anwendungen. Hierfür wurde eine Vorabversion von Excel vorgestellt. Diese bietet eine Suchfunktion in den Tabellen und kann einfach skaliert werden. Für textbasierte Nachrichten gibt es SMS und MMS. Letzteres ist bereits in der ersten Version verfügbar. Windows Phone wird, obwohl es ActiveSync nicht mehr gibt, auch weiterhin einfach mit dem PC zu synchronisieren sein. Dies geschieht nun über die Zune Software, da jedes Windows Phone auch ein Zune ist. Musik, Videos und dergleichen kann man einfach per Drag&Drop einfügen. Ferner besteht auch die Möglichkeit, Wireless zu synchen. Dies geschieht auch automatisch, sobald das Gerät geladen wird. Hierbei sieht das Gerät nach ob es sich im Heimnetzwerk befindet und synchronisiert bei Bedarf. Für Spiele wird XNA als Plattform verwendet. Dies hat den Vorteil das man eine bereits sehr gute API für 3D hat. Ferner kann man Spiele einfach von XBox/Windows auf Windows Phone portieren. Die Hardware setzt voraus, das mindestens 4 Kontakte erkannt werden können. Dadurch ist es auch echtes Multitouch. Ferner ist ein GPS Empfänger immer dabei, ebenso wie Beschleunigungssensoren, Lichtsensoren, Näherungssensoren und ein Kompass. Als Kamera ist 5 Megapixel ein muss. RAM muss mindestens 256 MB vorhanden sein und 8 GB ist das Minimum für den Flash Speicher. Die Grafik muss DirectX9 kompatibel sein und als CPU muss ein ARM v7 vorhanden sein. Der ARM Prozessor muss Cortex oder Scorpion oder besser sein. Die Bildschirmauflösung beträgt 480x800 Pixel beziehungsweise 320x480 Pixel. Es wurden auch bereits einige Geräte vorgestellt. Das Demo Gerät ist von ASUS. LG hat ein Gerät entwickelt welches eine Tastatur hat und Samsung ein Gerät mit einer überdimensionierten Kamera ;) Die Mix ist jedoch nicht nur zum Zuhören da. Am Sonntag Abend gab es bereits ein erstes “Tweetup”. Dies ist ein an Twitter angelehntes Treffen, wo man in lockerer Atmosphäre mit anderen Teilnehmern quatschen kann. Die Location war sehr toll ausgewählt, fand diese doch in der Mix Lounge im obersten Stockwerk des Hotels “The Hotel” statt. Dies bot einen gigantischen Ausblick über Las Vegas. Die Getränke waren natürlich gratis dabei. Überblick über Las Vegas von der Party (Mix Lounge)   Aus Las Vegas, Mario Meir-Huber, Thomas Mutzl

Design Patterns Teil 4: Datenzugriff/ Persistenz

Von Andreas Aschauer Autor Feed 2. March 2010 12:03
Seit dem letzten Teil der Design Patterns, oder besser gesagt “Best Practives” Reihe ist schon einige Zeit vergangen. Im vorangegangen Artikel haben wir kurz einen Ausflug ins ASP.NET MVC Framework gemacht. Nun ist es an der Zeit an Persistenz und Datenzugriff zu denken, die folgenden 2 Artikel werden dieses Gebiet abdecken. Wer Visual Studio verwendet kann natürlich die komplette “Infrastruktur” zum Datenzugriff mit Drag&Drop, zB. mittels LINQ to SQL Designer erzugen lassen. Wie es dann allerdings mit Testbarkeit und Wartbarkeit aussieht, muss nicht extra erwähnt werden. Wir wollen hier einen architektonisch sauberen Lösungsansatz verfolgen. Unser Beispiel soll in folgende Layer partitioniert sein, welche zugleich den Projektmappen unserer Solution entsprechen. Business Layer Die “dummen” Entitäten Service Layer Services setzten etwaige Businesslogik um Repositories Erledigen Persistenzaufgaben Anhand eines einfachen Beispiels gehen wir von “oben” (UI) bis nach ganz “unten” (Persistenz). Als Framework kommt Castle ActiveRecord zum Einsatz, da es mit minimalem Konfigurationsaufwand verwendbar ist und die Vorgehensweise zur Entwicklung einer Persistenzschicht richtig umsetzt. Das heisst: Die Datenbank wird aus den Businessobjekten erzeugt und nicht umgekehrt. Wir wollen Kunden und ihre Bestellungen darstellen und dazu noch ein bisschen Geschäftslogik, damit unsere Services etwas zu tun haben. Wir werden den Aufbau unserer Lösung ganz einfach beginnen und dann später noch architektonisch verfeinern, also Refactoring betreiben. Als erstes erstellen wir uns 2 neue Businessobjekte “Customer” und “Order”. Diese Businessobjekte sollten idealerweise nur dumme Datencontainer sein und keine Logik etc. enthalten. Die Klasse “Order” sieht dann vorläufig so aus: 1: public class Order 2: { 3: public Guid ID { get; set; } 4: public DateTime Date { get; set; } 5: public decimal OrderValue { get; set; } 6: public Customer Customer { get; set; } 7: } 8:  Den kompletten Sourcecode gibts unter “Downloads” als Archiv zum herunterladen, damit der Artikel nicht zu lange wird. So weit, so gut; Um nun eine Entität vom Typ “Order” persistierbar zu machen, müssen wir ActiveRecord und unser Businessobjekt noch passend konfigurieren. ActiveRecord setzt auf dem bekannten NHibernate Framework auf und wird einfach über Attribute im Code verwendet. Die fertige Order Klasse sieht folgendermassen aus: 1: [ActiveRecord] 2: public class Order : ActiveRecordBase<Order> 3: { 4: [PrimaryKey] 5: public Guid ID { get; set; } 6: [Property] 7: public DateTime Date { get; set; } 8: [Property] 9: public decimal OrderValue { get; set; } 10: [Property] 11: public Customer Customer { get; set; } 12:  13: } Für die Klasse Customer gehen wir gleich vor. Interessant ist noch die 1:n Beziehung Customer –> Order. Diese wird mit dem Attribut [BelongsTo] auf der einen Seite und [HasMany] auf der Gegenseite abgebildet. Also in der Klasse Order ist die Eigenschaft Customer mit [BelongsTo] markiert und in der Klasse Customers ist die Eigenschaft Orders mit [HasMany] markiert. (siehe Source). Folgendes Klassendiagramm ergibt sich nun, für das wir ein Schema erzeugen werden um die Daten zu persistieren.   Um das zu erreichen muss ActiveRecord noch für die entsprechende Datenquelle die erzeugt werden soll konfiguriert werden. Die Konfiguration geschieht mittels XML. Entweder als eigenen xml Datei oder als Sektion in der app.config. Unsere Konfiguration sieht folgendermassen aus (Für SQL Server 2005) 1: <?xml version="1.0" encoding="utf-8" ?> 2: <activerecord> 3: <config> 4: <add 5: key="connection.driver_class" 6: value="NHibernate.Driver.SqlClientDriver" /> 7: <add 8: key="dialect" 9: value="NHibernate.Dialect.MsSql2005Dialect" /> 10: <add 11: key="connection.provider" 12: value="NHibernate.Connection.DriverConnectionProvider" /> 13: <add 14: key="connection.connection_string" 15: value="Data Source=.;Initial Catalog=PersistencyTest;Integrated Security=SSPI" /> 16: </config> 17: </activerecord> Die Initialisierung geht ganz einfach: 1: public static void Initialize() 2: { 3: IConfigurationSource config = new XmlConfigurationSource("ar.config"); 4: var asm = Assembly.Load("PersistencySample.Business"); 5: ActiveRecordStarter.Initialize(asm, config); 6: } Unsere komplette Assembly PersistencySample.Business wird nach, mit [ActiveRecord] markierten Klassen durchsuch (Achtung: Diese Variante kann bei vielen Klassen in der Assembly sehr langsam sein!) –> Für erweiterte und andere Varianten der Initialisierung siehe den AR Configuration Guide (unter Links). Das Ganze wird NATÜRLICH getestet…siehe Design Patterns Artikel – Teil 3 ! Diesmal mit MSTest: Ein neues Testprojekt hinzufügen und einfach mit Rechtsklick auf die entsprechende Methode einen Unit Test erzeugen lassen 1: [TestMethod()] 2: public void InitializeTest() 3: { 4: Application.Initialize(); 5: Assert.IsTrue(true); //Wenn kein Fehler auftritt->success 6: } Das Erzeugen des Schemas selbst ist ein Einzeiler: 1: public static void CreateSchema() 2: { 3: ActiveRecordStarter.CreateSchema(); 4: } Und MSTest gibt uns das grüne Licht !   Natürlich ist im Sinne von Test-Driven-Development die Verwendung eines Datenbanksystem nicht optimal. Eine Lösung hierfür ist die verwendung einer In-Memory Datenbank wie SQLite (ActiveRecord unterstützt diese). Im nächsten Teil werden wir die Repositories implementieren und etwas Refactoring betreiben. Downloads Castle Active Record Links AR Configuration and Initialization

Nachlese MSDN Briefing Coding4Fun Februar 2010

Von Rolf Mistelbacher Autor Feed 1. March 2010 17:21
Die Vorträge vom MSDN Briefing: Coding4Fun vom 19.2. sind online, zum Stream oder Download auf Channel9! Teil 1: Max Knor zu Facebook SDKund Tools for Facebook Projekt auf Codeplex. Teil 2: Der Cocktailroboter von melmacc.at Teil 3: Project AntMe Demo, ein Blick auf die Möglichkeiten mit dem Emotiv Device.

ASP.NET : Web Application Toolkits

Von Andreas Aschauer Autor Feed 26. February 2010 12:56
Die neuen Web Application Toolkits helfen Entwicklern mit fertigen Komponenten für häufig bentöigte Funktionen einer Webanwendung. Sei es Bing Maps Integration, Kalenderfunktionen oder die Einbindung sozialer Netze, die Web Application Toolkits liefern fertige Pakete die nur noch konfiguriert werden müssen. Anhand eines Beispiels soll hier demonstriert werden, wie schnell und einfach mit dem Web Application Toolkit for Social Websites das Microsoft Live Messenger Network in eine eigene Seite eingebunden werden kann. Nach dem Download stehen im Installationsverzeichnis 2 Visual Studio Installer Dateien zur Verfügung mit denen die Visual Studio Templates und Code Snippets installiert werden. Als erstes benötigt man einen Application Key um mit den Live Network interagieren zu können. Beim Erstellen des Projekts erscheint eine Startseite die alle notwendigen Schritte dazu erklärt. Hat man die Application ID und den Secret Key, benötigt man noch den “Messenger Application Key”. Generiert wird dieser in dem die URL https://consent.messenger.services.live.com/applicationsettings.aspx?appid={appid} aufgerufen wird. Dabei wird {appid} durch die gerade erhaltene Application ID ersetzt. Wichtig dabei: die Application ID muss im Hex Format sein, also ‘0x’ muss vorne angehängt werden, sonst bekommt man immer eine Fehlermeldung beim Generieren des Messenger Application Key. Die 3 erhaltenen Werte setzt man in die web.config ein. Dafür gibts in der Sektion <windowsLiveSettings> die entsprechenden Attribute. Zusätzlich kann noch der Applikationsnamen und ein Logo gesetzt werden. Damit das Ganze im ASP.NET Development Web Server funktioniert muss der IIS komplett deaktiviert werden damit nichts ausser den Live Services auf Port 80 “horcht”. Folgende Kommandos erledigen das: iisreset /stop     net stop IISADMIN     net stop W3SVC Die Solution starten und schon läufts: Das Template bringt eine komplette UI mit die man in eigenen Webanwendungen integrieren kann. Zusätzlich sind alle Controls auch einzeln enthalten. Mit dem Web Application Toolkits machts Spass LiveMessenger, Bing Maps etc. zu integrieren und der Aufwand ist minimal. Unter “Downloads” ist der Link zu allen Toolkits –> sofort testen! Downloads: Web Application Toolkits

Ausprobieren: Bing Maps mit Silverlight

Von Rolf Mistelbacher Autor Feed 23. February 2010 19:34
Rund um Bing Maps hat sich die letzten Wochen und Monate einiges getan, deshalb hier mal ein Sammelsurium Blog Post mit aktuellen Infos, auch weil ich in persönlichen Gesprächen immer wieder erstaunt bin wie wenig von diesem Update bekannt ist. Mario Meir-Huber wird dann Ende März noch eine Blog Post Serie nachreichen, wo er dann anhand eines Beispiels erklärt wie Bing Maps in eigene Applikationen eingesetzt werden kann. Silverlight + Bing Maps Was vielen noch nicht aufgefallen ist – Silverlight wird jetzt als Frontend für das Browsing auf Bing Maps eingesetzt, ansehen kann man sich das unter Bing Maps Explore. Neben dem besseren Handling wird gleich Photosynth in die Bing Maps Experience integriert – Für Wien bspw.ein hier ein Screenshot mit Photosynth für die Votivkirche. Die Photosynth können User auf http://photosynth.net/ übrigens selbst erstellen und zuordnen. Es gibt hier auch eine Bing Map mit allen vorhandenen Photosynth Projekten eingezeichnet. Immerhin an die 20000 Photosynth Objekte mit 1,8 Mio. Photos sind online! Neben Photosynth ist mit Streetside ein weiterer Dienst in Bing Maps hinzugekommen den noch kaum einer kennt – wohl auch deshalb weil er in Europa noch nicht gelauncht ist. Bei Streetside lassen sich per Maus einfach durch die Straßen navigieren. Ziemlich hohe Qualität – am besten am Beispiel New York ausprobieren! Und aus aktuellem Anlass: Die Bing Maps App rund um die 2010 Olympic Games bietet alle Infos rund um die Winterspiele in Vancouver. Wer übrigens auf die klassische Bing Maps Experience ohne Silverlight zurückschalten will findet rechts unten den Button “Back to Classic”. Einen kompletteren Überblick über die neuen Features, die durch den Einsatz von Silverlight möglich wurden, findest du im Community Blog zu Bing Maps. Ressourcen für Entwickler zum AJAX SDK und Silverlight SDK Viel Spass beim Ausprobieren!

Facebook Client in Silverlight 4 Beta

Von Rolf Mistelbacher Autor Feed 4. February 2010 18:44
Für Facebook gibts eine Fülle an Clients, aber so richtig glücklich wurde ich noch mit keinem. Nun gibts mit dem Silverlight 4 Beta Client einen der nahezu alle Wünsche erfüllt, der Website Besuch auf facebook.com wird damit immer seltener – vom Photo Upload & Browsing, Statusupdates managen und Messages schreiben, oder auch Videos im Flash Format ansehen – geht jetzt alles bequem via Silverlight Client. - Silverlight 4 Beta Runtime installieren (PC Version | MAC Version) - Facebook Client installieren Video-Demo

Redbull Stratos – Felix Baumgartners Mission und unser kleines “Austrian-Team”...

Von Mario Szpuszta Autor Feed 25. January 2010 14:39
Seit letzten Freitag kurz nach der Presseankündigung von Redbull und Felix Baumgartner sind wir, vor allem Robert John, Lukas Cudrigh (Microsoft Corp.), Renate Kraus (Account Management) und das lokale Account-Team und ich sehr stolz auf http://www.redbullstratos.com (full site) http://m.redbullstratos.com (mobile site incl. iPhone support) Robert hat vor etwa 6 Monaten sofort nach einem von Renate organisiertem Enterprise Briefing mit Redbull diese Konversation gemeinsam mit Lukas Cudrigh, Director for digital marketing and online media initiatives in Redmond, und Redbull Mediahouse gestartet. Damit wurde der Startschuss für nachfolgende Technologien am Stratos Online-Auftritt gelegt: Silverlight, IIS 7.0,  IIS 7.0 smooth streaming und ASP.NET incl. AJAX   Die Stratos web site ist, so hoffen wir, nur eines der vielen Projekte in einem derartigen Rahmen auf unserer Web Plattform. Es fühlte sich, obowohl ich selbst nur ein kleines Rad bei diesem Projekt mit einigen kleinen Prototypen war, wirklich großartig an, am Freitagabend in Kitzbühel bei der lokalen Ankündigung in Österreich dabei zu sein und mit Redbull zu feiern. Die tatsächliche Implementierung des gesamten Projekts erfolgt zum Glück mit Hilfe von Microsoft Corp. und wäre ohne der Agency Terralever,die auch von Redbull USA ein Partner ist, niemals möglich gewesen. So werden wir mal sehen, was noch für Projekte und innovative Dinge hier auf uns zukommen. Für uns ist es auf jeden Fall wirklich cool, Teil dieses “Scientific Trips” zu sein!       Robert & Mario

Silverlight 4 Teil 6: COM Automatisierung in Silverlight verwenden – Word aufrufen

Von Mario Meir-Huber Autor Feed 19. January 2010 14:37
Eine weitere Neuerung in Silverlight 4 ist die COM-Automatisierung. Diese läuft jedoch NUR für die Windows Plattform. Dies bedeutet auch das man die COM-Automatisierung mit Vorsicht genießen soll. Damit man die COM-Automatisierung verwenden kann muss die Referenz auf Microsoft.CSharp.dll hinzugefügt werden. Diese muss explizit im Dateisystem gesucht werden, da jene in den normalen Assemblies in Visual Studio 2010 nicht angezeigt wird. Die DLL-Datei befindet sich normalerweise in den Program Files – Microsoft SDKs – Silverlight 4. Nun erweitern wir unseren Ribbon noch ein mal um einen Button. Wichtig ist auch das die Applikation für “Out of Browser” konfiguriert ist. Wie dies funktioniert wurde bereits in Post 2 erklärt. (COM benötigt Full Trust). Den neuen Button geben wir die Bezeichnung “Open in Word”. <Button Margin="5" Content="Open in Word" Click="Button_Click_2" /> Im Handler erstellen wir das Word-Objekt. Dies geschieht mit dem “Dynamic” Keyword. Nun sind etwas VSTO (Visual Studio Tools for Office) Kenntnisse gefordert um das Beispiel zu lösen. Zu beginn erstellen wir uns das COM-Objekt mit “Word.Application”. Danach fügen wir ein neues Dokument in Word ein. Im Dokument selbst selektieren wir eine Range (Bereich in Word, welcher zum Beispiel Text enthalten kann). Danach überprüfen wir in unserer Silverlight-Applikation ob ein Text selektiert wurde. Wenn dies so ist, setzen wir diesen Text in die Word-Applikation ein und zeigen die Applikation an. private void Button_Click_2(object sender, RoutedEventArgs e) { dynamic wordApp = ComAutomationFactory.CreateObject("Word.Application"); dynamic document = wordApp.Documents.Add(); dynamic range = document.Range(); if (!string.IsNullOrEmpty(TextArea.Selection.Text)) { range.Text = TextArea.Selection.Text; } wordApp.Visible = true; } Text editieren … … und in Word einfügen Bei dieser Gelegenheit möchte ich auch auf den WPF/Silverlight Community Day hinweisen, welcher am 29. Jänner in Graz statt finden wird. Hier werden die Silverlight 4 Neuerungen nochmal beleuchtet. Mario Meir-Huber www.meirhuber.de

Entwickler Wettbewerbe:

Wettbewerbe

Entwickler Events:

Developer Events

App für Windows 8, Windows Phone oder/und Azure? Diese Events zeigen Dir, wie es geht:

Mehr Information

Aktuelle Downloads

Visual Studio Downloads
 
Windows Azure Free Trial
Instagram
CodeFest.at on Facebook

Datenschutz & Cookies · Nutzungsbedingungen · Impressum · Markenzeichen
© 2013 Microsoft. Alle Rechte vorbehalten · BlogEngine.NET 2.7.0.0 · Diese Website wird für Microsoft von atwork gehostet.
powered by atwork