Une extension au Framework MVC pour ASP.NET
Un téléchargement open source proposé par Telerik

Le , par Gordon Fowler, Expert éminent sénior
La société Telerik est spécialisée dans la conception d'interfaces utilisateurs (UI) dynamiques pour Microsoft.NET.

Rappelons que Microsoft.NET (ou .NET) est un ensemble de technologies et de produits destinés à rendre plus facile le développement d'applications portables et/ou pour internet.
Au sein de cette plateforme, la technologie ASP (pour "Active Server Pages") est tout spécialement orientée web.

MVC (pour "Model View Controller") est pour sa part un framework qui aide à dissocier les différentes couches d'un projet.
Le modèle (M) est l'ensemble des éléments qui permettent de manipuler des données.
La vue (V) est la page telle qu'affichée.
Le controleur (C) lui "synchronise" le tout.

Le croisement des ces deux technologies a donné un nouvel outil aux développeurs webs, tout naturellement baptisé ASP.NET MVC.

C'est pour les applications développées avec cette plateforme que Telerik vient de sortir un framework open source.
these new UI extensions facilitate development of reusable AJAX scripting components and deliver WebForms-like productivity without sacrificing the patterns, practices, and guidance of ASP.NET MVC.

La version de ce framework toujours en béta propose d'ores et déjà sept extensions, dont la sélection d'une date à l'aide d'un calendrier (DatePicker), une barre de progression (pour indiquer la progression d'un process), une barre "coulissante" qui permet par glissement de sélectionner des valeurs numériques, une boite à message et un jeu d'onglets.

Une variante dynamiques des onglets statiques est également proposée : "l'Accordéon" ("Accordion").



Il s'agit d'un menu à onglets déroulants dont un seul onglet est ouvert à la fois.
L'effet crée une animation proche d'un mouvement de soufflet. D'où le nom d'accordéon.

Enfin, un outil d'administration est également inclus dans le pack.
Le Web Asset Manager, "semblable au ScriptManager de la suite Microsoft Ajax, combine des fichiers JavaScript pré-configurés pour diminuer le nombre de requêtes envoyées au serveur".

Les extensions de Telerik sont basées sur jQuery.

Elles sont gratuites et téléchargeables en version CTP (Community Technologie Preview) sur CodePlex.

Source :
Page officiel de Telerik

Lire aussi :
Les tutoriels ASP.NET
Les tutoriels MVC
Que choisir en 2009 : PHP ou ASP(.NET) ?

Et vous ?
Quels sont pour vous les avantages et les inconvénients de ASP.NET MVC ?
Un framework open source présente-t-il un intérêt pour vous ?
Envisagez-vous d'utiliser un framework du style de celui proposé par Telerik ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Louis-Guillaume Morand Louis-Guillaume Morand - Rédacteur http://www.developpez.com
le 29/06/2012 à 16:36
Je n'aime ni telerik ni devexpress.

basés sur quels arguments? je suis ni pour ni contre mais je les utilises sur des très très gros projets (celui en cours c'est des dizaines de dev et sur 24mois) et ca répond à beaucoup de besoins et très extensible.
je pense qu'il faut voir au besoin. En MVC je m'en passerai sûrement mais en WPF, ca me semblerait difficile

Au passage, vos avis m’intéressent,

haha j'avais écrit un long poste dans l'autre thread mais finalement je ne l'avais pas posté mais puisque tu demandes des avis...

alors moi je l'ai téléchargé ce projet et j'ai maté le code très bien rangé et très propre et meme bien commenté (a part des bouts en anglais d'autres en francais et une facon d'ecrire le code bien différente comme si y avait des choses piquées à droite à gauche...) mais en soit-même, j'appelle ca un starter-kit mais sans le framework. parce que niveau framework, ca n'apporte tien du tout d'utile pour moi. Il aurait été intéressant de mettre une pléthore de helpers que tu trouves dans d'autres frameworks. pareil, inclure jquery mais sans mettre les helpers qui font avec, ca sert à rien. on sait tous faire un include de js.
Donc franchement rien à redire sur le starter kit, ca peut servir à beaucoup de gens débutants même si personnellement, je préfère partir de quelque chose de vide et d'ajouter des briques. L'autre chose que j'ai pas compris, c'est la couche sécurité que tu vends. par rapport aux [Authorize], ca apporte quoi?

les bugs... tu le dis toi meme, tu n'as pas le temps de tout maintenir, et dans le futur de pas ton metier et tes missions changeantes, ca va aller en empirant car tu ne pourras pas toujours le réutiliser donc ca va tomber à l'abandon (je les ai connus tes anciens projets CMS ezlogic (qui pissait des site ultra moches avouons-le et meme un portail qui repompait la MSDN mais là je sais plus trop si c'etait toi). M'enfin, c'est surtout que les derniers commit montrent que tu corriges des bugs bateau (le register par exemple) donc là on a un starter-kit pas sec et dont avec le temps, t'aurais de moins en moins le temps de le maintenir. deux raisons pour moi pour un dev pour ne pas partir dessus (pour le moment!! je dis pas que dans le futur, une fois éprouvé, il devienne une perle, je donne mon avis maintenant après avoir lu et analysé le code)

Enfin, tu dis que c'est non commercial, ok, mais c'est VACHEMENT nombrilistique. tu l'aurais appelé laurentjordiMVC framework, c'etait pareil (ou ezlogic). C'est pour moi inutilisable, non pas à cause du nom mais parce que t'as poussé le vice et là franchement ca fait peur, à mettre "innova" dans les noms des classes. j'ai plus la flemme de retelecharger le zip mais y avait des "innovaContact" et j'en passe. depuis quand sur un projet on met des prefix sur des classes standards. C'est comme si en base tes tables s'appelaient Innovausers, innovaclients, etc.
autre point nombrilistique, sur codeplex, la premiere page ne decrit pas les features mais pour parler d'innovacall ou signer de ton nom, ca y est. jusqu'a maintenant, j'ai jamais vu de projet signé sur codeplex, car c'est communautaire. c'est un détail mais bon.

En gros, j'aurais préféré que tu fasses un start-kit séparé et clair et sans d'innovatrucmuche de partout. et un framework séparé kit à reprendre des idées trouvés sur le net en citant les sources, soit sur les blogs des devs, soit dans MVC contrib ou autre. De cette façon, ca touche plus de monde et c'est clairement plus utile.

bref, pas d'agression contre toi, c'est vraiment sur le framework que je réponds mais tu me connais avec le temps, j'ai un langage châtié et j'ai toujours été trop faineant pour tourner diplomatiquement mes phrases
Avatar de - http://www.developpez.com
le 29/06/2012 à 18:00
Salut,

Merci pour ton avis, comme tu es le meilleur expert mvc du pays, il compte beaucoup pour moi, y compris dans tes critiques et en particulier dans la pérennité du code.

Concernant les préfixes inno, c'est pas du nombrilisme, c'est que j'ai été confronté à un cas où un développeur avait implémenté une couche de sécurité non conforme à asp.net role & membership provider qui utilisait les mêmes noms de tables que celles générées par le aspnetregsql. Donc, pour lui faciliter la transition, j'ai préfixé mes tables pour permettre une cohabitation temporaire pendant la transition d'un système à l'autre. Puisque tout (ou presque) ce régénère par les pocos, il faut moins d'une heure pour retirer les préfixes.

Ce qui est important dans cette couche de sécurité c'est qu'elle hérite du fournisseur d'appartenance, donc, tu peux l'intégrer dans un projet existant qui utilise le fournisseur d'origine simplement en modifiant le web.config.

Avantage, si c'est un projet mvc, tu n'as plus du tout d'ado.net

Pour ce qui est de l'utilisation du terme framework, tu as peut être remarqué les objets _Controllers_Base<T> et _Models_Base<T>. C'est vraiment le coeur de ma vision MVC qui permet de toujours être en typage fort qu'il s'agisse d'une vue, d'une vue partielle ou d'une vue _layout.

Lorsqu'on a des projets super simples et qu'on passe trois broutilles dans le viewbag, ça va mais lorsqu'on commence à avoir 20 ou 30 variables, c'est moins cool. C'est cette mécanique qui permet de se passer du view bag.

Tu as peut-être aussi remarqué ScriptG et CssG qui sont des vues spéciales qui génèrent du css paramétré côté serveur et des scripts js ou jquery également paramétrés ou même construits côté serveur et ceci en totale transparence vis à vis du client puisque le rewriting les sort en .css ou .js et le serveur les sort avec le bon type mime.

C'est super pratique, ça résoud toutes les prise de tête de transfert de variable d'initialisation de certains scripts et en particulier de certains composants jquery ui comme jstree ou jqgrid.

Concernant la pérennité du du framework j'étais super inquiet lors de l'arrivée du MVC 4 car j'avais peu qu'il ne serve plus à rien. C'est vrai que certains facilitateurs que j'avas implémentés ne servent plus mais le grand principe du parallèle entre controleur<t> et modele<t> demeure très utile et fonctionne toujours (et même est encore plus intéressant avec le html 5)

Enfin un gros gain c'est la génération, je n'ai pas encore pu mettre tous les poco, il manque le générateur de ressources et le générateur de dto (je les ai déjà mais il ne sont pas encore intégrés au starter kit).

Voilà, je ne te cache pas que si tu voulais un peu participer au projet ça serait pour moi un grand honneur et pour ceux qui utiliseront le kit, un importante garantie de fiabilité et de pérennité.

Et en ce qui concerne le CMS, celui dont tu parles était à base de frames et a été commencé en 2004, je ne mettrais pas le nouveau sur codeplex mais si tu passes à paris un jour, je te ferais une démo avec parcours des sources et je te laisserais seul juge de ce que tu auras vu... (au passage tu percevras mieux la puissance du framework car là tu verras quel est son vrai potentiel).

Au plaisir,

Laurent
Avatar de Moggik Moggik - Nouveau membre du Club http://www.developpez.com
le 29/06/2012 à 22:34
Salut Laurent,

Je réitère ma demande concernant les apports de ton framework, pour moi peu d'intérêts de me pencher plus en avant sur ton projet car je ne sais pas ce qu'il cible.
Tu parles de typage fort, cela est possible avec d'autres frameworks, finalement j'ai l'impression que tu as une vision gros projet = complexité (nombre de couches impressionnantes), pour moi un gros projet ne doit pas être beaucoup plus complexe qu'un petit.
Enfin tu parles beaucoup de SOA, j'ai du mal à voir quelles sont les apports de ce coté la ?
Tu peux donner quelques explications sur ta vision ?

J'avoue être perplexe sur la maintenance, j'ai vu des commits avec des commentaires en décorrélation avec les commentaires, j'ai l'impression de gros commits qui corrigent des tas de trucs un peu partout, mais peut être qu'il ne s'agit que d'une impression, ce que j'attends d'un historique de commits c'est une histoire qui retrace l'évolution : un commit = une fonctionnalité ou un bug fix unique.

Qu'en penses-tu ?

PS : Je rejoins sur le Innova*, pour les TT ce n'est pas non plus spécifique à ton projet, finalement quelle différence avec les TT de Entity Framework et une sorte de quickstart à la NerdDinner (ce dernier étant davantage connu / supporté)

Merci pour tes éclaircissements
Avatar de - http://www.developpez.com
le 29/06/2012 à 23:29
Salut,

Je vais profiter de ce week end pour préciser tout ça... Nerd dinner c'est ce que j'appelle une démo "hello world".

Encore une fois, je ne cherche ni à l'imposer ni quoi que ce soit... Si des développeurs s'en servent ça me fera super plaisir et si personne n'en veut ça ne changera pas ma vie...

Je ne dis pas non plus que mon framework fait des choses que ne font pas les autres, disons que c'est fait d'une certaine façon qui s'est avérée très efficace à de nombreuses reprises.

Tu as peut-être remarqué que l'edmx ne génère pas le code des entités. C'est le tt du domaine qui s'en charge, rien que ça, ça permet d'avoir la maîtrise sur la génération des entités et c'est particulièrement pratique par exemple si tu veux glisser des petits héritages d'interfaces pour les tables (comme les lookups) qui sont toutes structurées pareil.

Si l'entité a un champ SortIndex elle hérite de ISortableByIndex qui contient une méthode SortByIndex.

C'est pas grand chose mais si tu as 40 lookups, ça rend service.

Concernant la génération des metadata (qui sont les classes dont héritent les membres des modèles) et des dto (qui sont les classes exposées par les web service wcf du projet) c'est aussi certainement fait ailleurs mais c'est super pratique car ça permet de garantir l'homogénéité des structures des classes du domaine, des modèles et des datacontracts ce qui veut dire que tu peux par exemple très simplement utiliser une méthode de la couche business dans un service wcf que tu exposes ou dans une vue mvc ce qui permet, sans trop d'efforts de doter tout portail basé sur ce framework d'une API SOAP.

Quoi qu'il en soit, ce que tu me demandes est très important car il est vrai que pour que ce framework puisse vous rendre service, il faut que j'explique bien ce qu'il fait et à quoi il sert.

Ta réponse sera là rapidement, elle est tout en haut de mes priorités.

Bien à toi

Laurent
Avatar de - http://www.developpez.com
le 29/06/2012 à 23:37
Citation Envoyé par Moggik  Voir le message
un commit = une fonctionnalité ou un bug fix unique.

Je fais un double travail sur la dernière version. J'ai déjà mon framework qui fonctionne à 100% en MVC3.2, là je passe à MVC4, j'en profite pour faire du ménage et je dois retirer certaines parties du code qui n'ont rien à faire dans le framework. Ca prend du temps (et j'en ai peu).
Le les messages d'archivages me sont plus destinés qu'aux autres mais comme je n'ai rien à cacher en ce qui concerne ce bout de code et du débogage, donc je mets les choses comme je l'estime juste.

Je dois mettre mon CMS en prod en Septembre, le framework doit être en RC au plus tard mi aout puisque les personnes physiques ou morales qui voudront développer des modules enfichables pour mon cms disposeront (mais ne seront pas obligés de l'utiliser) du framework enrichi de quelques helpers bien spécifiques à mon produit.

Bien à toi

Laurent
Avatar de _skip _skip - Expert éminent http://www.developpez.com
le 30/06/2012 à 20:07
Peut être que tu devrais voir pour créer un nouveau topic pour présenter ce que tu fais plutôt que faire du nécropostage sur celui-ci.
Ca te donnerait une meilleure visibilité pour ce que tu proposes.
Avatar de - http://www.developpez.com
le 30/06/2012 à 22:44
Tu as raison...

En fait j'avais commencé un topic bien avant :
http://www.developpez.net/forums/d12...-mvc-codeplex/

A ceux qui s'y intéressait, merci de suivre le lien.

Bien à vous

Laurent
Avatar de - http://www.developpez.com
le 02/07/2012 à 22:14
Salut,

La société avec laquelle je travaille a opté pour Kendo UI, la bibliothèque Open Source de télérik concurrente de JQuery UI.

J'ai commencé à l'intégrer, c'est pas mal et c'est très complémentaire à ce que je propose.

Il est donc aussi facile d'intégrer JQuery UI que Kendo UI et de les paramétrer dynamiquement avec mes outils de génération dynamique de scripts et de css.

Je mettrais quelques exemples de code très bientôt.

Bien à vous

Laurent
Avatar de - http://www.developpez.com
le 02/07/2012 à 22:29
Si on prend leur exemple de menu :
http://demos.kendoui.com/web/menu/index.html

Il y a un truc qui me gêne :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
 
<ul id="menu"> 
    <li>Item 1 
        <ul> 
            <li>Item 1.1</li> 
            <li>Item 1.2</li> 
        </ul> 
    </li> 
    <li>Item 2</li> 
</ul>
Ca ne serait pas mieux de faire ça ?

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
 
<ul id="menu"> 
    <li><span>Item 1</span> 
        <ul> 
            <li><span>Item 1.1</span></li> 
            <li><span>Item 1.2<span></li> 
        </ul> 
    </li> 
    <li><span>Item 2</span></li> 
</ul>
Merci pour votre réponse...

Laurent
Avatar de - http://www.developpez.com
le 23/07/2012 à 2:16
Bon... J'ai adopté le Kendo UI même si je pense qu'il peut encore être amélioré.
Je l'ai intégré au portail de démonstration de mon framework open source MVC 4, il y a des exemples avec les codes sources dans les pages : http://framework.innovacall.net

Je précise que je charge JQuery UI et Kendo UI car je pense que les deux se complètent très bien.

++

Laurent
Avatar de - http://www.developpez.com
le 23/07/2012 à 2:19
Info importante que j'ai trouvé dans le fofo de kendoui.

Pour utiliser la bibliothèque gratuite il faut remplacer kendoui.all.min.js (bibliothèque complète et payante) par kendoui.web.min.js

et ça fonctionne très bien.

Il faut s'inscrire sur le site pour se voir notifier des updates, c'est important de garder ses bibliothèques à jour.

++

Laurent
Offres d'emploi IT
Consultant confirmé SAP BI BW/IP (h/f)
Atos Intégration - Ile de France - Bezons
Développeur symfony 2 (H/F)
altima - Rhône Alpes - Lyon (69000)
Analyste/ Technicien Exploitation h/f
Atos Technology Services - Alsace - Strasbourg (67000)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil