lundi 16 avril 2012

Nouvel article : Le dév Windows 8, avec HTML5 et Javascript

Je commence aujourd’hui une série d’articles sur le développement d’applications Metro en HTML5 et Javascript. Je découvre le développement sous Windows 8 en faisant l’application TGS (version tablette de l’application existant déjà sur Windows Phone), et j’en profite pour écrire une série d’articles au fur et à mesure de mon avancement.

Pourquoi HTML5 et Javascript ?

Vous le savez peut-être déjà si vous avez suivi les annonces concernant Windows 8 : les applications Metro pourront être développées en utilisant plusieurs langages :

  • Soit XAML, comme en ont l’habitude les développeurs Silverlight et WPF
  • Soit en utilisant HTML5 et Javascript

Il m’a donc fallu faire un choix, qui s’est porté sur la seconde option principalement pour une raison : l’application va afficher du contenu html téléchargé depuis un web service. Lorsqu’on veut faire ça dans une application XAML (comme je l’ai fait en Windows Phone), on est obligé de customiser un contrôle WebBrowser, qui malgré tout nos efforts ne pourra jamais s’intégrer parfaitement au reste de l’application (le scroll et le zoom dans le browser sont gérés indépendamment du reste de l’application). Dans une application HTML5, on n’a pas besoin d’un conteneur spécial, le code html téléchargé s’intègre naturellement dans l’application.

Si en terme de fonctionnalités, HTML5 et XAML sont équivalents, il va nous falloir apprendre une nouvelle syntaxe pour réaliser les opérations courantes, et c’est ce que nous allons voir ensemble, en commençant dans ce premier article par l’utilisation basique des contrôles WinRT.

L’article est disponible sur le site Labs de Bewise : Ma première application Metro/Javascript. Partie 1 : les contrôles

lundi 20 février 2012

Mon nouveau site web en HTML 5

Bonjour tout le monde !

Pas d’article technique aujourd’hui, je veux juste vous présenter mon nouveau site en HTML 5. J’ai essayé de faire un portage HTML5/CSS3/Javascript du nouveau menu démarrer de Windows (j’avoue, j’ai pris quelques libertés sur les couleurs et les animations) ; et franchement, je me suis fait plaisir.

Pour les curieux, vous pouvez faire un petit tour dans le code source pour voir de quoi ça a l’air (attention, vous avez le droit de regarder,ça veut pas dire que vous avez le droit de tout pomper Clignement d'œil)

Pour le voir, c’est par là : Guillaume Lacasa

mardi 23 août 2011

WP7 : “Unspecified error” lorsqu’on modifie un template, depuis la mise à jour Mango

J’ai eu une erreur dans un de mes projets WP7 lors du passage au SDK 7.1 (Mango), sur un code qui fonctionnait très bien avec le SDK 7.0, avec un message d’erreur très précis, comme on les aime :

image

Evidemment, pas moyen de trouver la moindre personne sur le net ayant déjà rencontré (et corrigé) l’erreur (quelqu’un a finalement posé la question sur StackOverflow ce week-end, ayant déjà trouvé la réponse entre temps j’espère lui avoir été utile).

J’ai donc investigué pour trouver l’origine de ce bug, qui venait d’une Listbox, dont les templates des items avaient été redéfinis :

<ListBox  x:Name="lstUsers">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ContentControl x:Name="ContentContainer"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="{TemplateBinding Padding}"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
Foreground="{TemplateBinding Foreground}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>





La solution : il faut définir la propriété TargetType sur le ControlTemplate :

<ControlTemplate TargetType="ListBoxItem">




<ListBox  x:Name="lstUsers">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<ContentControl x:Name="ContentContainer"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="{TemplateBinding Padding}"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
Foreground="{TemplateBinding Foreground}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>





Maintenant ça fonctionne aussi bien avec l’ancien qu’avec le nouveau SDK :)

vendredi 20 mai 2011

Découvrez les Bewise Phone Controls

Bonjour tout le monde ! Aujourd’hui je fais un billet pour vous présenter les Bewise Phone Controls, une librairie de contrôles pour développeurs Windows Phone ; projet que je gère avec Christopher Maneu.

La version 2 de la librairie est disponible, et vous pouvez trouver plein de contrôles bien sympa. Mes préférés :

La JumpList :

imageimage

L’OrderableList :

image

Le TileButton :

image

Il y en a bien d’autres, je vous laisse aller sur le site officiel du projet pour les découvrir.

Ces contrôles là ont été travaillés au niveau du rendu et des animations pour permettre aux développeurs d’offrir une expérience utilisateur la plus fluide et la plus agréable possible. C’est difficile à montrer en quelques captures d’écran, mais je vous assure que ça a été travaillé, et j’espère que vous les essaierez et que vous les apprécierez.

Pour utiliser les Bewise Phone Controls dans votre projet, vous pouvez soit télécharger la dll, soit l’installer en cherchant “Bewise” dans NuGet.

Vous pouvez aussi utiliser la ligne de commande NuGet suivante :

Install-Package BewisePhoneControls

vendredi 25 mars 2011

Mes applications WP7

Bonsoir tout le monde !

Aujourd’hui je ne blogue pas pour parler d’un point technique, je veux juste vous parler de l’ouverture de mon site web sur mes applications Windows Phone.

J’ai activé la fonction blog dessus, histoire d’avoir un endroit où parler de Windows Phone, il n’y aura certainement pas grand chose d’intéressant, mais je ne force personne à le lire.

Le lien : http://wp7.adhess.net

(et si vous aimez mes applications, n’ayez pas peur d’en faire la pub)

mardi 1 mars 2011

Rendez-vous à la Bewise Day Conference 2011

Encore une fois cette année Bewise organise une conférence sur les technologies de développement de Microsoft, la Bewise Day Conference. Réservez donc votre journée le 7 avril prochain, et en attendant, prenez note de la règle n°1 :

Rendez-vous donc au Casino Barrière à Toulouse le 7 avril 2011 pour cette nouvelle édition de la BDC.

jeudi 24 février 2011

Installation et utilisation de NuGet

A force d’en entendre parler, je me suis dit que j’allais quand même essayer NuGet, pour voir si ça marche bien.

Pour ceux qui ne connaissent pas, NuGet est un gestionnaire de paquets pour le framework .Net, qui se présente sous la forme d’une extension de Visual Studio 2010.

Il parait que c’est super simple à utiliser, alors je vais écrire cet article en live, en même temps que je découvre :o)

L’installation

Pour installer NuGet, 2 options s’offrent à nous :

- Aller sur le site web officiel de NuGet, et cliquer sur le bouton “Install Nuget”
- L’installer depuis l’Extension Manager de Visual Studio 2010. On recherche “Nuget”, et on clique sur le bouton “Download”

Dans la fenêtre d’installation, on a juste à cliquer sur “Install”

image

Une fois l’extension installée, on redémarre Visual Studio, et en avant !

Utilisation de NuGet

J’ai décidé de créer un nouveau projet ASP.NET MVC 3 (au hasard ^^), dans lequel je vais essayer d’installer mes packages.

Dans le menu “Tools”, j’ai une nouvelle option : “Library Package Manager”. C’est lui notre fameux NuGet.

image

Je choisis l’option “Add Library Package Reference”, et je vais chercher mes packages.

Je fais une recherche par nom, je clique sur “Install” :

image

Et voilà, rien de plus à faire, T4MVC est automatiquement téléchargé et ajouté à mon projet.

Pour supprimer, c’est pas plus compliqué : dans la liste des paquets installés, on en choisit un et on clique sur “Uninstall”, et tout est nettoyé.

Bilan : c’est tellement simple que j’ai presque honte d’en faire un article sur mon blog, mais si comme moi vous hésitiez à l’installer, n’hésitez plus, c’est vraiment très pratique :o)