Artikel über ServiceStack

Auch wenn es hier im BLog leider etwas länger ruhig war, so war ich jedoch nicht untätig.

Um hier mal wieder etwas in Gang zu kommen nachfolgend ein Link zum Artikel Ein Stapel Wunder von Roberto Bez und mir in der dotnetpro. Dies ist  mein erster Artikel für eine Fachzeitschrift und bin schon sehr gespannt ob er den versierten Erwartungen der dotnetpro Lesern gerecht wird.

http://www.dotnetpro.de/articles/onlinearticle4754.aspx

Kategorien:Allgemein

Neuer Video2Brain Kurs über Windows 8 von Gregor Biswanger

4. Juni 2013 1 Kommentar

957_neu

Von Video2Brain gibt es schon länger einen Einstiegerkurs für die Windows 8 App Entwicklung. S. http://www.video2brain.com/de/videotraining/meine-erste-windows-8-app

Der Kurs hatte mir bereits gut gefallen, allerdings wurden viele Themen nur angerissen. Dieser erste Kurs war ca 3,5 stunden lang.

Nun gibt es den weiterführenden Kurs Windows Store Apps mit XAML und C# – Das große Training. Der Kurs kommt mit einem 11,5 Stunden Programm! und ist in gewohnter Weise auch auf dem iPad und Androidgeräten ansehbar.

Sehr schön finde ich, dass im dem Kurs bei den Windows 8 Grundlagen angefangen wird und man auch den Bogen gespannt bekommt was gibt es in Windows 8 und wie kann ich das selbst programmieren.

Auch bekommt man einen Eindruck davon wann man für RT Entwickeln sollte und in welchem Zusammenhang der normale Desktop steht.

Nachdem man ein erstes Gefühl bekommen hat was Windows 8 / WinRT wirklich bedeutet wird man zunächst über die Grundlagen des XAML Kurses geführt. Dieser Teil hat mir bei einigen anderen Kursen gefehlt oder war zu wenig ausführlich.

Somit ist man also auch nicht darauf angewiesen WPF / XAML Grundlagen zu haben sondern kann dem Kurs komplett von Anfang an folgen.

Man bewegt sich nun nach und nach durch alle Themen die bei der Entwicklung wichtig sind und bekommt gute Hinweise über bekannte Fallstricke.

Der Kurs wird mit zwei Themen die über die Grundlagen hinausgehen abgerundet. So wird zum Beispiel  gezeigt wird wie man  Windows Live über das SDK anbindet.

Übner ca 20 Minuten bekommt man auch einen guten WinRT bezogenen Einstieg in das MVVM Pattern.

Der letzte Teil erklärt an einem Beispiel wie man die eigene App letztendlich in den Store bekommt.

 

Fazit:

Der Kurs bietet einen schönen rundum Blick über alle wesentlichen Grundlagenthemen die man als Interessierter Entwickler benötigt. Es wird auch über den Tellerand geblickt und wichtige Themen die nicht direkt mit der Entwicklung zu tun haben aufgegriffen. So zum Beispiel das MVVM Pattern oder der Release Prozess.

Der Kurs erreicht auf jedenfall sein Ziel und holt den Zuschauer ohne Vorkenntnisse ab und führt ihn zu einem Wissenstand mit dem man ohne Probleme seine erste eigene Windows 8 App entwickeln kann.

Was ich mir allerdings noch etwas mehr gewünscht hätte wären weitere Alltagsthemen wie z.Bsp. “Datenhaltung mit SQLite” gewesen.  Vielleicht wäre dann aber auch der Kurs zu umfangreich geworden, denn diese 11,5 Stunden wollen erst einmal gesehen und angewendet werden.

Velleicht bleibt ja die Chance auf einen weiteren “Windows 8 Development – In Depth” Kurs.

Kategorien:Allgemein

Windows 8 App – Share Source und MVVM Überlegungen

Kategorien:Allgemein

WinRT – Easy Animation

Apps für Mobile geräte leben mehr von ihrem Look and Feel, als andere Anwendung.

Umso wichtiger ist es sinnvolle und dem Anwender helfende Animationen, sogenannte Transitions zu verweden.

Wer sich in WPF mit Transitions und Storyboards beschäftigt hat, weiß dass hier schnell viele Zeilen Code entstehen.

Wer nun kein Blend hatte musste hier einiges an zeit investieren und selbst Blend war nicht ganz streßfrei.

Dabei werden meistens immer wieder die gleichen Animationen benötigt.

Nun wurde für Windows 8 Apps dieses Handling vereinfacht.

Nachfolgend ein Markup der Dafür sorgt, dass Elemente,  die Horizontal angeordnet werden beim Erscheinen nicht einfach plötzlich da sind, sondern von Rechts einfahren.

        <ItemsControl.ItemsPanel>
                <ItemsPanelTemplate>
                    <StackPanel Orientation="Horizontal" ScrollViewer.HorizontalScrollBarVisibility="Auto">
                        <StackPanel.ChildrenTransitions>
                            <TransitionCollection>
                                <EntranceThemeTransition IsStaggeringEnabled="True" FromHorizontalOffset="150"/>
                            </TransitionCollection>
                            </StackPanel.ChildrenTransitions>
                    </StackPanel>
                </ItemsPanelTemplate>
            </ItemsControl.ItemsPanel>
        </ItemsControl >

Das Control an sich ist recht unspektakulär aber Demonstriert den Anwendungsfall sehr gut

Unter http://msdn.microsoft.com/de-de/library/windows/apps/jj218361.aspx gibt es eine gute Übersicht der zur Verfügung stehenden Standard Transitions.
Weiterhin gibts es unter http://msdn.microsoft.com/de-de/library/windows/apps/xaml/hh452703.aspx einen Leitfaden wie man die Transitions einsetzen kann / sollte

Es gibt eine ganze Reihe an vorgefertigten Animationen. Ausserdem findet man einige weiterer guten Informationsquellen.
z.bsp.:

- MSDN
- Windows Store example XAML personality animations sample
- Windows Store example XAML animation library example

Kategorien:Allgemein

Windows 8 App – ShareSource – Bereitstellen von Daten

In diesem Blogbeitrag sehen wir uns an, wie man Daten mit anderen Anwendungen teilen kann.

Das beginnt schon bei einem sehr häufigen inzwischen schon gewöhnlichen Vorgang.

Dem Verschicken von E-Mails

Mit einer  Winform / WPF geprägten Sichtweise fällt uns da da direkt  SMTP oder  COM Automation des Outlookclient ein.

Interessanter wird wenn dann vielleicht noch die Mails über Notes verschickt werden sollen. Wer sich mit diesen Themen schonmal beschäftigt hat weiß wie schnell das Aufwendig und Problematik werden kann.

Dieses Denken passt aber auch gar nicht wirklich zu Windows 8. Hier ist in der Regel alles von einander getrennt und Funktioniert autark.

Nach einem Moment des Nachdenkens viel mit der “Teilen” Button in Windows 8 ein.

Um sich diese Funktion zu nutzen zu machen gibt es den ShareContract.

Hierrüber ist es möglich Daten teilen oder empfangen zu können.

Hierbei gibt es 2 Richtungen.

1.) Daten aus einer anderen App empfangen
2.) Daten an andere Apps senden

In diesem Fall wird nur das senden benötigt. In diesem Fall ist die eigene App eine Share Quelle. Um Datenanbieten zukönnen benötigt man den DataTransfer Manager.

Der Ablauf ist relativ einfach.

Clickt man bei Windows8 Auf den Share Button

share

So wird am DataTransferManager das DataRequested  Event getriggert. Diesen Manager muss man sich für jedes View Abrufen:

this.dataTransferManager = DataTransferManager.GetForCurrentView();

Zusätzlich muss man sich nun folgerichtig das Event binden

 this.dataTransferManager.DataRequested += dataTransferManager_DataRequested;

Damit es hier nicht zu Fehlern kommt, sollte das event beim wegnavigieren wieder entbunden werden:

        protected override void OnNavigatedFrom(Windows.UI.Xaml.Navigation.NavigationEventArgs e)
        {
           this.dataTransferManager.DataRequested -= dataTransferManager_DataRequested;
        }

In der Methode die nun gebunden ist hab man die DataRequestEventArgs im zugriff. Über diese kann man dann die verschiedenen Werte setzen die man Teilen möchte

void dataTransferManager_DataRequested(DataTransferManager sender, DataRequestedEventArgs args)
        {
                DataPackage requestData = args.Request.Data;
                requestData.Properties.Title = "Kontakt " + this.DisplayName + " teilen"; // Required!
                requestData.Properties.Description = "Teilen der KontaktDaten"; 
                requestData.SetText(contactDescription);

}

Als Ergebnis kann man nun aus den Anwendungen wählen, die Texte Empfangen können:

sharedata
Clickt man nun auf eine der Apps, so geht der Client in seiner eigens definierten UI für dieses Share auf.
Für mein Empfingen ist dies ein deutlich besserer Workflow für das Handeln von Daten. Man hat keine Konkrete Abhängigkeit mehr zu Clients und kann so ohne Mehraufwand ein Wesentlich größeres Angebot an apps bedienen.

Der Workflow fühl sich reaktiver und damit weniger kompliziert an.

Zu beachten ist noch dass man nur eine begrenzte Zeit beim laden der Daten für den ShareContract zur Verfügung hat.
Dies kann man über das Deadline property abfragen.

Sind Asynchrone komplexere Vorgänge zu erledigen um die Daten für ShareContract zu ermitteln so sollte man einen Deferral benutzen

            var deferral = args.Request.GetDeferral();

            var image = await getImage();
            requestData.SetBitmap(image);

            deferral.Complete();

Zum Abschluss möchte ich noch kurz davon berichten, dass bei meinen Tests mit Visual Studio manchmal die ShareUI hängen geblieben war. Man sah nur dass versucht wurde Daten aus der app abzurufen aber der Waiter lief bis ins unendliche. Zur gleichen Zeit lief aber kein Code in Visual Studio. Hier hald das neustarten des Rechners. Und exakt der gleiche Code lief dann ohne Probleme.
Hier noch 2 Beispiele aus der MSDN

MSDN Sharing Content Source Example

- MSDN Sharing Content Target Example

Kategorien:WinRT

Kiln Harmony – Mercurial und Git in einem !


FogCreek hat eine neue Version von Kiln released.

Sehr bezeichnender Weise heißt die Version “Harmony.
Passender weiße deswegen weil endlich das zusammen findet was meiner Meinung nach schon längst Zusammen gehört.
Kiln – Mercurial – Git.

Details findet ihr unter:

http://blog.fogcreek.com/announcing-kiln-harmony-the-future-of-dvcs/

Für alle die Tatsächlich noch nichts von Kiln oder Fogbugz gehört haben:
Es gibt eine Trial : https://www.fogcreek.com/kiln/try/

Training Videos:
- Kiln Training
- FogBugz Training

und eine kostenlose Student and Startup Edition
http://www.fogcreek.com/kiln/StudentAndStartup.html

Ausserdem sollte man folgende Videos gesehen haben:
- Joel Spolsky auf der FogBugz and Kiln Worldtour

- Benjaming Pollack DVCS University

Kategorien:FogCreek, Kiln

Windows 8 App – Kontakte Picker

04-03-2013 11-38-50

Ein Anwedungsfall meiner Anwendung ist das anlegen von Personen in der App.

Hierfür kann der User die Daten in Textboxen eingeben.
Nun gibt es in Windows 8 ja auch eine Kontakte App. Dort kann man all seine Kontakte aus den verschiedenen Bereichen, z. Bsp.  Facebook sehen. Die Frage war nun wie kann man Daten die man in dieser App sieht in die eigene Anwendung bekommen.

Gregor Biswanger gab mir da den entscheidenden Tipp.

Es gibt einen ContactPicker der alle notwendigen Funktionen anbietet.

Dazu benötigt man nur wenige Zeilen Code un kann mittels der Methode PickSingleContactAsync oder PickMultipleContactsAsync einen  oder mehere Kontakte abrufen lassen.

04-03-2013 11-54-08

Somit kann man recht leicht die Daten eines Kontaktes abrufen und beliebig in die eigene App integrieren. Hier zum Beispiel das Übernehmen von E-Mail und InstantMessage Daten.

04-03-2013 11-58-37

Hier gibt es noch ein SDK Sample dazu:

http://code.msdn.microsoft.com/windowsapps/Contact-Picker-App-sample-fc6677a1

Kategorien:WinRT
Folgen

Erhalte jeden neuen Beitrag in deinen Posteingang.