Developpez.com - Rubrique .NET

Le Club des Développeurs et IT Pro

Les nouveautés d'ASP.NET MVC 4 pour le développement d'applications Web mobile

Un article de Hinault Romaric

Le 2013-01-28 11:22:14, par Hinault Romaric, Responsable .NET


Je suis heureux de vous annoncer la publication d'un nouvel article intitulé : "Les nouveautés d'ASP.NET MVC 4 pour le développement d'applications Web mobiles"


Le marché du mobile est actuellement en plein essor. Le cabinet d'analyse IDC prévoit, par exemple, une croissance du segment des smartphones de prés de 45,1 %. Cette croissance entraîne inéluctablement une hausse de l'accès à Internet via des terminaux mobiles. Selon une étude du Centre de recherche pour l'étude et l'observation des conditions de vie (CRÉDOC) publiée en décembre 2012, 29 % de la population navigue désormais sur Internet avec un smartphone, contre 5 % en 2008. La prise en charge du mobile devient ainsi un élément essentiel pour maintenir sa présence sur Internet.

ASP.NET MVC, le framework de développement Web open source de Microsoft, offre dans sa version 4 plusieurs nouvelles caractéristiques permettant de créer facilement une application Web fournissant une expérience de navigation cohérente sur les dispositifs mobiles.

Dans ce tutoriel, nous verrons comme exploiter ces fonctionnalités d'ASP.NET MVC pour créer une application Web avec un rendu adapté aux terminaux mobiles.
Pour consulter la suite de l'article, c'est par ici.

N’hésitez pas à nous faire part de vos remarques et à noter l'article si vous le trouvez intéressant

  Discussion forum
5 commentaires
  • Immobilis
    Expert éminent
    Salut,

    Très intéressant. Microsoft fait des efforts pour être interopérable

    C'est une nomenclature personnelle l'utilisation des underscores pour le nommage des vues ou bien s'agit-il d'une contrainte de MVC/Razor?

    À première vue, on se rend compte que le texte du site sur MVC 3 est carrément illisible, tandis que le contenu de celui-ci avec MVC 4 a été adapté en fonction de la taille du terminal.
    Puisque CSS, les "media queries" ne sont-elle pas indépendantes de la technologie? Elles peuvent être utilisées sur d'autres versions du Framework. C'est un peu trompeur du coup.

    A propos des "des dispositifs d'exécution", si je comprend bien, le FW fait une correspondance entre "iPhone" et le nom du fichier? Aurais-tu une liste des modes. Je m'étonne qu'il faille utiliser une chaîne au lieu d'une enum native. Ces valeurs doivent bien être connues. Cela gère-t-il les versions d'OS?

    Une de tes images dans le paragraphe http://rdonfack.developpez.com/tutor...web-mobile/#LV m'apparaît tronquée.

    A+
  • Integral
    Membre à l'essai
    Salut,

    Super intéressant comme article, je voudrais juste rajouter une précision pour:

    <meta name="viewport" content="width=device-width">
    Cela redimensionne en effet l'application web à la taille du mobile, sauf pour IPhone et IPad, où il sera nécessaire de rajouter l'Initial scale comme ceci :

    Code :
    <meta name="viewport" content="initial-scale=1.0, width=device-width" />
    Et pour encore un peu plus de précision sur la gestion du redimensionnement mobile/tablette chez Apple : voir ici http://developer.apple.com/library/safari/#documentation/appleapplications/reference/safariwebcontent/usingtheviewport/usingtheviewport.html

    A +
  • Hinault Romaric
    Responsable .NET
    Envoyé par Immobilis
    Salut,

    Très intéressant. Microsoft fait des efforts pour être interopérable

    C'est une nomenclature personnelle l'utilisation des underscores pour le nommage des vues ou bien s'agit-il d'une contrainte de MVC/Razor?
    C'est une convention de nommage introduite par Razor pour le Layout et les vues partielles.

    Envoyé par Immobilis

    Puisque CSS, les "media queries" ne sont-elle pas indépendantes de la technologie? Elles peuvent être utilisées sur d'autres versions du Framework. C'est un peu trompeur du coup.
    les "media queries" sont effectivement indépendantes de la technologie. Je ne trouve pas cela trompeur, puisque l'article ressort clairement que c'est l'introduction dans cette caractéristique du CSS dans MVC 4 qui marque la différence.

    Envoyé par Immobilis
    Salut,
    A propos des "des dispositifs d'exécution", si je comprend bien, le FW fait une correspondance entre "iPhone" et le nom du fichier? Aurais-tu une liste des modes. Je m'étonne qu'il faille utiliser une chaîne au lieu d'une enum native. Ces valeurs doivent bien être connues. Cela gère-t-il les versions d'OS?
    Concrètement, je peux dire qu'il n'y a pas une liste de modes. En fait, pour chaque agent utilisateur, on peut définir les différentes vues qui doivent être affichées. Pour chaque agent, le framework doit être capable de retrouver la vue qui doit être chargée, sinon, il charge par défaut une vue mobile, pour un navigateur mobile, si elle existe. Dont je peux faire ceci :


    DisplayModeProvider.Instance.Modes.Insert(0,
    new DefaultDisplayMode("test"
    {
    ContextCondition = (ctx => ctx.Request.UserAgent.IndexOf("iPhone", StringComparison.OrdinalIgnoreCase) >= 0)
    });
    Et lorsque l'agent utilisateur "iPhone" fera une requête, les fichiers ayant la nomenclature [view].test.cshtml seront chargées. Donc, c'est juste une correspondance entre agent utilisateur et vue.

    A savoir si cela gère les versions des OS, je ne sais pas. S'il y a un agent utilisateur pour chaque version d'OS (ou navigateur ?), dans ce cas, je dirais - sans certitude - oui.

    Pour l'image, c'est notée.

  • djibril
    Responsable Perl et Outils
    Salut,

    Pour info : le PDF de l'article est corrompu.
  • djibril
    Responsable Perl et Outils
    Pour résoudre le souci, tu avais une image que j'ai dû corrigé et recréer que voici.