Browsed by
Month: February 2012

Hackathon Windows Phone 7

Hackathon Windows Phone 7

 

Microsoft organise un WE (gratuit !) de folie autour de Windows Phone 7 (et Azure). Dans une super ambiance (style UCPA), venez coder avec nous dans une super lieu (tout frais payés)

On code mais pas que : sauna, piscine, échasses, vélos,ping-pong, barque, visite des lieux en 4×4, tennis !!!!

Nous vous proposons 2 jours et 2 nuits de développement non-stop, sur Windows Phone et Azure, avec pour seules armes votre PC et votre créativité.

Durée du Hackaton > du vendredi 23 mars (19h sur place) au dimanche 25 mars (départ 17h).

L’objectif

  • Passer du bon temps entre développeurs de tous horizons
  • Créer ensemble, des applications Windows Phone

L’ambiance

  • Nez dans le PC, jour et nuit 😉
  • Des moments privilégiés d’échanges avec les autres membres des communautés

Le lieu

Un super moulin :

http://www.moulindelaforge.com/accueil.php?pg=1_0

Le petit « plus » >

Un an d’abonnement Azure offert pour ceux qui réalisent des applis Windows Phone avec Backend Azure (en savoir plus)

Attention, les places sont limitées, donc inscrivez-vous rapidement ! Nous validerons votre demande d’inscription au plus tard le 29 février.

Une navette partira de paris (porte maillot) à 18h (pas d’info sur le prix pour l’instant) et pour vous inscrire :

http://aka.ms/hackaton

Un TextBlock sélectionnable pour WP : alternative

Un TextBlock sélectionnable pour WP : alternative

Je fais suite à l’article de l’excellent Samuel Blanchard sur la création d’un textblock sélectionnable.

http://blog.naviso.fr/wordpress/?p=1234

Pour un projet qui est encore dans le tiroir, j’ai dû travailler sur ce genre de contrôle (avec un usage bien tordu, mais je garde le mystère pour l’instant).

Je n’utilise pas la même méthode que Samuel, en effet pour éviter que l’utilisateur puisse éditer le texte, Samuel a fait le choix d’annuler la saisie du clavier lorsque celle-ci l’utilisateur tape sur le clavier.

Pour ma part, je préfère jouer avec la propriété IsReadOnly qui comme son nom l’indique, permet d’éviter la modification du texte. On évite alors l’apparition du clavier, ce que je trouve un peu plus sympa.

Le commencement

On commence donc par éditer le style du textbox pour le simplifier au maximum :


<Style x:Key="SelectionnableTextStyle" TargetType="TextBox">
<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">

<ContentControl x:Name="ContentElement" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

Difficile de faire plus simple ! On n’utilise donc qu’un ContentControl et on modifie la couleur Foreground.

Si on utilise ce style sur un contrôle TextBox et qu’on lui affecte IsReadOnly=”true”, on a déjà le look d’un TextBlock et le texte est sélectionnable en faisant un double tap.


<TextBox TextWrapping="Wrap" Text="ceci est un test pour le textblock selectionnable. ceci est un test pour le textblock selectionnable." IsReadOnly="True" Style="{StaticResource SelectionnableTextStyle}"/>

Allons plus loin

Si l’on souhaite que la totalité du texte soit sélectionné lorsque l’utilisateur clique dessus, il suffit de s’enregistrer sur l’évènement GotFocus :


private void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
((TextBox)sender).SelectAll();
}

et… c’est tout 😀

J’aime les contrôles

Parce qu’il est parfois plus sympa d’avoir des contrôles, le voici !

SelectableTextBlock.xaml


<TextBox 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" mc:Ignorable="d"
x:Class="TestSelectableTexblock.SelectableTextBlock" d:DesignWidth="480" d:DesignHeight="800"
Foreground="{StaticResource PhoneForegroundBrush}" Text="vcc">

<TextBox.Template>
<ControlTemplate TargetType="TextBox">
<ContentControl x:Name="ContentElement" HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch" />
</ControlTemplate>
</TextBox.Template>

</TextBox>

SelectableTextBlock.xaml.cs


using System.Windows;
using System.Windows.Controls;

namespace TestSelectableTexblock
{
public partial class SelectableTextBlock : TextBox
{
public SelectableTextBlock()
{
InitializeComponent();
IsReadOnly = true;
}
protected override void OnGotFocus(RoutedEventArgs e)
{
base.OnGotFocus(e);
SelectAll();
}
}
}

Fichiers

Vous trouverez dans le zip un projet exemple + le contrôle SelectableTextBlock

TestSelectableTexblock

Soyez être fier d’être développeur !

 

Et après 7… 8

Et après 7… 8

Disclaimer

Dans quelques jours je vais avoir la chance de rencontrer les équipes de développement de windows phone à Redmond pour évoquer le futur de windows phone, je profite donc d’être vierge de tout cela, pour parler tout de suite ma vision du futur. Cet article est donc basé sur mes idées et souhaits de la plateforme, aucunement d’informations provenant de microsoft.

Quand ?

Bientôt !

Depuis le début, il était prévu une mise à jour par an, alternant mise à jour mineur et une mise à jour majeur, avec éventuellement des petites mises à jour entre.

Windows Phone 7.0 a été lancé en septembre 2010, un an plus tard, en octobre 2011, la première (grosse) mise à jour sort : Mango. Malgré sa qualité et la grande quantité d’apports et d’optimisations, elle reste une mise à jour mineur. Donc logiquement, la mise à jour majeure (Apollo) devrait donc sortir pour la rentrée 2012.

La rentrée est une des meilleurs périodes pour lancer un nouveau système d’exploitation mobile, pour plusieurs raisons : être présent dans les catalogues de noël des opérateurs, bonnes retombées médiatique à ce moment là (sortir un produit pendant l’été est quasi du suicide).

On sait aussi que Windows 8 devrait sortir autour d’octobre 2012, on peut facilement imaginer que sortir ses deux produits en même temps pourrait avoir un très grand impact au niveau de la communication, surtout que les deux produits ne sont pas si éloigné que cela…

Comme pour les versions précédente, on devrait avoir le SDK quelques mois en avance, on peut donc imaginer avoir le SDK d’appolo avant mai.

C’est donc la mort du Windows Phone 7 ?

Non !!! Il va juste se réincarner !

C’est là que cela devient intéressant. A mon avis, on n’a pas fini d’entendre parler de Windows Phone 7, même après la sortie de Apollo. Je m’explique.

On sait que Microsoft et Nokia travaille ensemble pour sortir Tango, une mise à jour de Windows Phone 7 pour les processeurs moins puissant.

Or comme on vient de le voir, Apollo devrait sortir pour la rentrée, à quoi bon travailler sur une mise à jour aussi près d’une grosse mise à jour majeur ? Tout simplement car les deux systèmes vont continuer à vivre ensemble et se complémenteront, l’un sera dédié au haut de gamme (dual core, etc..) : Apollo, l’autre aux téléphones très moyen de gamme : Windows Phone 7 Tango.

Si on regarde ce graphique de nokia :

On voit qu’ils abandonnent au fur et à mesure Symbian, qui leur servent d’OS pour leurs téléphones moyens de gamme, mais nokia va pourtant continuer à sortir des téléphones moyen de gamme, Windows Phone 7 Tango prendra donc la place de symbian sur ce segment et laissera Apollo pour la partir haut de gamme.

Windows Phone 7 vivra donc encore quelques années, il suffit de voir que la ps2 se vend encore alors que la ps3 est sortie il y a 6 ans maintenant !

Un rebranding est toutefois possible, tout comme Windows Mobile 6.5 avait été renommé Windows Phone Classic lors de la sortie du WP7, on peut imaginer que que WP7 sera renommé pour ne pas faire penser à l’utilisateur qu’il utilise l’ancienne monture d’un système existant.

Les applications Windows Phone 7 seront-elles compatibles avec Apollo ?

Il y a eu cette folle rumeur il y a peu, comme quoi les applications Windows Phone 7 ne pourront pas être utiliser sur Apollo et qu’il faudrait donc tout redévelopper. Il est évident que Apollo pourra faire tourner les applications Silverlight ou XNA provenant de son ancêtre. Il suffit de voir les moyens que met Microsoft pour augmenter chaque jour le nombre d’applications sur son marketplace, qu’il n’y a vraiment aucune chance qu’ils repartent de zéro aussi vite.

Toutefois, cela ne veut pas dire que SL ne sera pas deprecated à partir de Apollo. Il y a de forte chance que Apollo et Windows 8 partageront le même coeur aussi que WinRT. J’imagine donc que le “langage” par défaut sera WinRT, mais qu’au même titre que Windows 8 “virtualise” Win32, les applications Silverlight seront “virtualisées” sur Apollo.

On aura donc d’un côté Windows Desktop qui se rapproche de windows phone et inversement. Reste à savoir s’il sera possible de développer à la fois pour le desktop et pour le téléphone, ce qui sera pour le coup très intéressant.