Olivier Dahan

Microsoft MVP Silverlight 2013, 2012,
2011, MVP CAD 2010, MVP C# 2009


Membre du Developer Guidance Advisory Council Microsoft

Audit, Conseil, Formation, Développement
[WPF, Silverlight, WinRT, MonoDroid]

Historique

LightSwitch, rapide comme ... allumer une lumière.

Read this article in your language IT | EN | DE | ES

LightSwitch ? Vous ne connaissez pas encore ? Un peu normal, la beta 2 vient juste de sortir. Il s’agit d’un nouveau type de projet pour Visual Studio permettant de créer des applications de type LOB (Line of Business) en un claquement de doigt, ou plutôt un cliquetis de souris. Aussi bien pour le Web, le Cloud, en mode Silverlight ou WPF desktop !

LightSwitch et le LOB

Line of Business ... LOB. Un terme qui revient beaucoup en ce moment alors qu’en soi il s’agit d’une vieillerie, vieille comme l’informatique de gestion. On pourrait traduire LOB par “ligne d’applications pour l’entreprise”. Bref, de l’informatique de gestion.

Vieux terme mais idées nouvelles...

En effet, LightSwitch est une sorte de gros “expert” qui permet de créer une application (simple au départ) de gestion sans rien programmer.

L’esprit LightSwitch

En gros, vous créez un nouveau projet dans VS, et vous choisissez LightSwitch comme vous choisiriez Silverlight ou WPF. Le choix offre un mode C# ou VB.NET comme ça tout le monde est content.

La première question que pose la création de projet c’est de savoir si vous utilisez une base de données existante ou si vous désirez créer une nouvelle table (dans une nouvelle base). Des dialogues s’enchainent pour vous aider à créer la table, dire comment vous souhaitez valider les champs, etc.

Et puis F5 et c’est tout...

SNAGHTML2aa81f9

On peut créer des enregistrements, les effacer, les modifier et faire des recherches. Toutes les bases d’une application de gestion sont là. Même la “coquille”.

Le modèle LightSwitch

Une application de gestion ce sont des données et des écrans. LightSwitch est une sorte de Wizard spécialisé pour produire automatiquement les bases d’une application suivant ce modèle. Des tables, des données, des écrans en face pour les manipuler. Le tout à l’intérieur d’une coquille standardisée, avec des onglets et un système de navigation.

Bien entendu tout cela est modifiable. Plus fort, les écrans sont personnalisables au runtime (en mode debug au moins).

Les personnalisations

Le premier niveau s’effectue par simple accès à des écrans de paramétrage comme je viens de le dire, mais, bien entendu, il est possible d’aller plus loin. De modifier le xaml produit, d’ajouter des extensions. D’ailleurs des composants très spécialisés sont fournis ou seront fournis avec LightSwitch pour couvrir les besoins les plus courants. Sinon il suffit d’écrire des extensions, de templater etc.

Multi source, Multi cible

Un des aspects fondamentaux de LightSwitch c’est d’être à la fois multi source et multi cible. Je m’explique.

Par multi source j’entends que par simple paramétrage une application LightSwitch peut utiliser aussi bien une base de données existante qu’en créée une nouvelle tout autant que d’utiliser des données dans le Cloud. Le système a même été optimisé pour Azure.

Par multi cible je veux dire que par simple paramétrage vous pouvez choisir de produire une application Silverlight pour le Web, une application desktop 2 tiers ou une application desktop 3 tiers ! On peut changer d’option à tout moment, il suffit de recompiler... Incroyable non ? !

image

Plus d’information et téléchargement

Je vous conseille d’aller directement à la source, dans le blog de l’équipe. Notamment les billets suivants :

Introduction au concept : Introducing Microsoft® Visual Studio® LightSwitch™

Survol de l’architecture : LightSwitch Architectural Overviews

Les infos de la beta 1 : LightSwitch Beta1 Now Available, Building Your First App

Les dernière infos sur la beta 2 : Announcing Microsoft® Visual Studio® LightSwitch™ Beta 2

Conclusion

Comme tout “générateur d’application” ne vous attendez pas à ce que LightSwitch vous produise en un clic des applications de gestion ultra customisées avec un look xaml d’enfer bourré d’animation trop top et d’effets spéciaux à couper le souffle. Ce n’est pas son but.

En revanche, si vous avez besoin de produire rapidement les bases d’une application de gestion avec tous les écrans dit de “maintenance” de toutes les tables de référence, la gestion des utilisateurs, la mise en place d’une coquille cohérente et fonctionnelle, le tout qui puisse en un clic marcher aussi bien sur le Web qu’en desktop en local ou dans les nuages, alors LightSwitch vous fera gagner un temps fou.

Et comme tout cela n’est pas qu’une boite noire, mais bien une architecture évolutive et extensible, comme tout cela reste du .NET, du C# (ou du VB.NET), du Xaml, vous restez maitre du devenir du projet. Pas de surprise sur telle ou telle impossibilité. Bien entendu certaines choses dépendent du mode choisi. Par exemple, de base, les recherches, les tables ou sélections sont exportables vers Excel, une option qui disparait dans le mode Silverlight car ce dernier, de base, ne permet pas d’accéder par COM aux autres applications. LightSwitch ne va pas jusqu’à proposer au sein de chaque mode un “sous mode” comme pourrait l’être de l’OOB avec privilèges élevés sous Silverlight (ce qui permettrait de revenir sur la fonction d’exportation Excel par exemple). N’exagérons rien non plus...

LightSwitch est une possibilité de plus pour créer rapidement des applications fonctionnelles du type de celles consommées tous les jours en entreprise. S’ajoute la possibilité d’avoir des données locales, distantes sur le réseau ou dans les nuages. C’est donc une architecture à ne pas négliger et à tester dans tous les cas !

Et Stay Tuned par Toutatis !

Comments (6) -

Ramah
Ramah
3/19/2011 1:17:56 PM

Merci pour cette introduction et cette présentation. Je vois un peu plus clair. C'est chaque fois un plaisir de lire tes articles.
je vis tester d'autant plus que je tente de développer une application de gestion et ne savais pas trop par quel bout commencer.
Je vais swither sur lightswith.

Ramah
Ramah
3/19/2011 1:19:44 PM

je vais switcher sur LightSwitch Smile.

Yvan
Yvan
8/15/2011 10:21:12 AM

Honnètement, j'ai testé pendant 2 jours la version Trial 2011 en français.
Lightswitch produit des solutions incohérentes en termes de poids. On a accès aux bases de données, mais pas à l'imprimante.
On ne peut pas changer la taille d'une police sur une écran de données sans passer par la création d'un nouveau thème.
Perso ... j'ai été déçu.
Les applications générées pèsent des tonnes de Mo !

Olivier
Olivier
8/17/2011 6:57:18 AM

@Yvan: LightSwitch n'est pas encore un projet mature, il est en train de s'affiner.
Je pense qu'il va jouer un rôle important sous Windows 8 dans le cadre de la stratégie MS "venez à moi les petits enfants" qui consiste à gonfler rapidement le nombre d'applis sur le market place puisque c'est sur ce critère que ça se bat en ce moment. LightSwitch s'aligne sur la stratégie "html5" dont l'intention est aussi de faire venir des développeurs non MS pour gonfler le market place.
Je pense qu'il faut encore attendre un peu pour voir comment LightSwitch va évoluer.
L'idée est intéressante en tout cas et mérite d'être suivie d'un oeil !

Percy
Percy
8/23/2011 3:18:06 PM

Encore merci pour tes articles, toujours pertinents (surtout pour moi débutant en développement d'application!)
Mais je trouve cette idée de LightSwitch est comme celle de Windev non? Ou, c'est quoi la différence?
C'est quand même une stratégie pour attirer les gens qui ne savent pas trop en programmation.

Olivier
Olivier
8/25/2011 7:07:16 PM

@Percy: Tu n'as pas tort. Cela fait partie des petits "gadgets" qui permettent à des gens pas très doués de faire des programmes. Et cela certainement dans le but de faire gonfler rapidement le nombre de softs sur le futur market place de Windows 8.
Mais il est possible de développer des modules qui s'ajoutent à une appli de ce type. Alors peut-être un business pour ceux qui développeront ces modules destinés aux utilisateurs de LightSwitch...

Pingbacks and trackbacks (1)+

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading