2009-01-20 6 views
18

J'essaie de comprendre les nombreuses options de déploiement d'applications que Microsoft propose actuellement.Cette liste est-elle une bonne compréhension des options de déploiement d'applications actuelles de Microsoft?

Faire un peu de recherche tourné des dizaines de termes confus:

  • "WPF App"
  • "ClickOnce App"
  • "WPF ClickOnce App"
  • "App MSI"
  • "Application XBAP"
  • "Application XBAP déployée avec ClickOnce"
  • "Application ClickOnce installée "
  • "WPF Web App"
  • "ASP.NET Web App"
  • "ASP.NET MVC Web App"
  • "Silverlight App"
  • "Full WPF App"
  • " de ClickOnce avec le support du framework de synchronisation "

J'ai nettoyé mes résultats en sept approches distinctes ci-dessous. Apprécierait des commentaires:

  1. "WPF App déployée avec MSI" (permet de nombreuses options d'installation)

    • exécution MSI requis sur Assistant ordinateur cible
    • avec des options
    • peut spécifier per- utilisateur ou par machine
    • peut modifier les fichiers et le registre sur l'ordinateur cible, limité uniquement par l'autorisation d'accès définie par l'administrateur
    • peut placer raccourci sur le bureau
    • remplacement des fichiers système, etc., il est facile d'entrer dans l'enfer DLL sur l'ordinateur cible
    • mise à jour est un grand point négatif: la détection des mises à jour disponibles nécessite la programmation des outils supplémentaires/personnalisés, non construit en
    • utilisateur ne doit pas être en ligne pour utiliser l'application
  2. « WPF App déployée avec ClickOnce »: (bon si vous voulez, mais la mise à jour automatique fonctionne en bac à sable)

    • nécessite deux clics (cliquez sur lien hypertexte, cliquez sur Oui), pas d'entrée utilisateur
    • uniquement pour l'utilisateur actuel, aucune installation par machine
    • pas de raccourcis sur le bureau
    • apparaît dans la liste des programmes comme des applications normales
    • applications les fichiers sont toujours copiés dans ../ Mes documents/Mes Applications
    • un raccourci vers votre application sera mise dans le menu Démarrer/nom de votre entreprise
    • ne peut pas modifier l'ordinateur cible, isolé du système d'exploitation
    • détecte automatiquement et met à jour une version plus récente
    • publié simplement en les mettant sur un serveur Web (où les clients de détecter et de les faire)
    • nécessite .NET 2.0 ou version ultérieure
    • comparable à Java Web Start
    • permet de résoudre quatre problèmes: (1) le déploiement facile, (2) ea Sy mise à jour, (3) à faible impact sur l'ordinateur cible, (4) pas besoin d'autorisations d'administrateur.
    • considéré comme « faible impact »
    • si deux utilisateurs ont la même application ClickOnce installée sur la même machine, ils ne briseront pas les uns des autres
    • emploie CAS pour la sécurité
    • utilisateur ne doit pas être en ligne à utiliser l'application
    • autonome des applications ClickOnce ne fonctionnent pas sur Firefox et Mac avec Firefox maintenant car il a besoin de l'exécution .NET
    • limité à des applications à guichet unique, car ils fonctionnent dans le navigateur
    • construire un manifeste ClickOnce est beaucoup plus facile que Silverlight etc, puisque l'EDI fera presque tout cela pour vous; vous devez juste héberger les fichiers quelque part (pourrait être une URL Web, pourrait être un réseau UNC).
  3. "XBAP App": le déploiement xcopy du fichier .xbap, afficher IE et Firefox instantanément comme une page web

    • l'objectif réel du modèle XBAP est de créer un équivalent WPF à la site Web HTML et JavaScript traditionnel (ou applet Flash)
    • l'ordinateur cible exécute simplement l'application sans installation sur le Web dans son navigateur Web (IE ou Firefox)
    • Ils sont bons pour les applications intranet où vous voulez vraiment déploiement facile, le .NET Framework complet (comme contrairement à Silverlight) et le modèle de navigation d'un navigateur.
    • 99% des caractéristiques de WPF (par opposition au sous-ensemble de Silverlight de fonctionnalités WPF)
    • peuvent être déployées automatiquement via ClickOnce ainsi, mais XCOPY est plus fréquente
    • YourApp.xbap est vraiment une course manifeste de déploiement ClickOnce
    • dans bac à sable
    • utilisateur doit être en ligne pour utiliser l'application
    • ceux-ci doivent être des applications « basé sur la page », par opposition aux applications « windows »
    • « Un XBAP semble courir à l'intérieur du brwoser simplement parce qu'il affiche toutes les son contenu dans la fenêtre du navigateur. Ceci est différent du modèle utilisé par les contrôles ActiveX (et Silverlight), qui sont chargés dans le processus du navigateur. "
    • XBAPs offre une expérience" sans invite ", tant que .NET 3.5 est installé, il apparaît juste dans le navigateur comme une page web.s
    • XBAPs ne sont pas autorisés à utiliser des contrôles WinForm via Interop
    • permettent pas d'utiliser des fenêtres glisser-déposer
    • les plus avancées fonctionnalités WCF ne sont pas autorisés et XBAP ne peuvent pas communiquer avec un serveur autre que celui où la XBAP est hébergé
    • « si votre application nécessite une confiance totale, vous devriez envisager la construction d'une application autonome WPF et le déploiement à l'aide de ClickOnce » (Pro WPF in C# 2008)
    • astuce: vous pouvez intégrer plusieurs applications XBAP dans plusieurs iframes sur un HTML page.
  4. "Silverlight App": fonctionne dans le navigateur du client et utilise sous-ensemble de 4Mo téléchargé du framework .NET, à savoir pas de 3D)

    • navigateur cross (applications peuvent être utilisées par Opera et Safari ainsi)
    • l'application de mise à jour est aussi facile que de ClickOnce ou
    • XBAP
    • simples applications de fenêtre
    • l'application
    • est dans le bac à sable bien sûr
    • async ne
  5. "ASP.NET MVC avec JQuery/AJAX": une nouvelle plate-forme de développement égal au développement dans WPF en termes de RAD et TDD

    • cette approche mérite d'être examinée avec le WPF/Silverlight approche
  6. "ASP.NET App": application web classique avec ViewState, etc. seront probablement utilisés de moins en moins que l'acceptation des gains ASP.NET MVC

  7. "WinForm App": application Windows classique, sera de moins en moins que l'acceptation des gains WPF

J'apprécierais plus particulièrement des commentaires sur:

  • comment réutilisables sont des contrôles (par exemple si nous développons dans Silverlight, pouvons-nous réutiliser notre code/contrôles dans XBAP?)
  • quelle est la meilleure approche pour les clients qui sont parfois hors ligne, parfois en ligne ET besoin d'accéder à WCF (probablement clickOnce apps je pense)

Répondre

1

expérience AppStart:

MSI = Seul Windows. Beaucoup de clics Installez avant l'utilisation. Bon pour les applications très énormes et gourmandes en ressources. L'application peut être distribuée sur DVD. App peut tout faire. Pas de restrictions technologiques.

ClickOnce = Uniquement Windows. Peut être activé à partir de la page Web. Est téléchargé une fois. Conserve les informations sur son origine (Serveur) et peut mettre à jour automatiquement. L'application est restreinte. Besoins .NET

Silverlight = Fonctionne sous Windows/Max/Linux (bientôt) et les futurs mobiles (prévus). Est une page Web ou peut être incorporé dans html. Le code est sur le serveur et ne sera jamais installé. Nécessite Silverligth-Runtime. Fournit un sous-ensemble de WPF

XBAP = Comme l'argenté mais seulement pour les fenêtres. Personne n'en aura besoin. Silverlight est mieux

technologie de programmation:

Silverlight = Fonctionne sur maschine client. Utilise WPF *

ASP.NET = Fonctionne sur le serveur en .NET mais Javascript/html sur le client.

WinForms = ancienne technologie

WCF = ne fonctionne pas pour les applications basées sur navigateur. Est-ce pour les applications distribuées. On pourrait ouvrir toutes les portes dans la machine client. Utiliser WCF = nécessite MSI.

WCF fournit une bonne infrastructure pour le serveur. Vous n'aurez jamais besoin de WCF sur le client lorsque vous utilisez REST pour l'interfaçage. Le client peut être connecté/déconnecté dans les applications ClickOnce et MSI installées. Vous devez vous connecter à une page Web pour appstart dans Silverlight et ASP.

XAML peut être réutilisé pour silverlight/wpf/xbap. Changements mineurs dans wpf/silverlight. Pas de changements dans wpf/xbap comme je le sais.

2

Bon résumé, Edward.

Une grande partie du code dans Silverlight peut être directement utilisé dans WPF & applications WPF XBAP car Silverlight est un sous-ensemble de WPF. Pour XAML, vous devrez changer l'URI de l'espace de noms et probablement faire quelques légères modifications manuelles.
Pour les conversions XAML vers Silverlight, vous devrez également modifier l'URI de l'espace de noms, mais un refactoring peut s'avérer nécessaire si des éléments WPF ne sont pas utilisés dans Silverlight. WPF et Sync Framework sont d'excellentes options pour les applications en ligne/hors ligne. Voir le Syndicated Client Experience Starter Kit pour un exemple d'application WPF/Sync Framework. Silverlight + Windows Live Mesh offrira également des fonctionnalités en ligne/hors ligne.

0

Vous avez listé "App MSI". Windows Installer est la technologie de Microsoft pour l'installation et la mise à niveau des programmes sous Windows. Les packages d'installation créés ont l'extension ".msi". (À l'origine, il s'appelait «Microsoft Installer». Ils l'ont remplacé par «Windows Installer», mais conservent l'extension.) Il définit une façon standard de créer des packages d'installation. Les packages peuvent être créés par de nombreux outils différents (InstallShield, WiX, Visual Studio, etc.). Ce n'est pas limité aux applications WPF. Vous pouvez l'utiliser pour installer presque n'importe quel type d'application.

1

Les options de déploiement MS prend en charge pour les applications clientes sont

  • MSI (Toute application Windows)
  • Clickonce (uniquement pour les applications client .Net)

ClickOnce n'est pas WPF spécifique. Les XBAPS sont des applications WPF hébergées par navigateur et déployées par clic dans un sandbox de sécurité approuvé. Les applications WinForms peuvent être déployées par clic et peuvent être hébergées par navigateur.

Silverlight est (pour la plupart) compatible avec WPF. Vous pouvez recompiler les contrôles SL en tant que contrôles WPF.

La fonction clickonce ne vous convient probablement pas.

1

Je ne serais pas si prompte à rejeter XBAP comme "Silverlight pour Windows seulement". Parce qu'il utilise l'ensemble complet WPF, il est possible d'utiliser la même base de code pour une application WPF et un XBAP, tant que vous travaillez dans les restrictions Partial Trust imposées sur les XBAP.

En outre, à partir de .NET 3.5, WCF fonctionne dans XBAPs sous approbation partielle. Vous ne pouvez pas faire autant que dans une application WPF confiance complète, mais il est toujours utile.

0

Une autre option de déploiement rendue disponible par Live Framework (Live Mesh vNext) est l'application Web (MEWA) avec maillage. Cela vous permet de regrouper les applications Silverlight, DHTML et Flash pour les exécuter en ligne sur le Bureau Live ou en ligne/hors ligne sur le bureau Windows. Vous pouvez installer un MEWA dans votre Mesh et le déployer automatiquement sur tous les périphériques de votre Mesh. Si une nouvelle version d'une application est publiée, la mise à jour peut également être synchronisée avec tous les appareils. En plus de Silverlight/DHTML/Flash, les versions futures de Live Framework prendront en charge les applications packagées MSI et CAB, vraisemblablement avec des fonctionnalités de déploiement similaires.

Documentation pour applications Web Mesh-Enabled: http://msdn.microsoft.com/en-us/library/dd199554.aspx

Questions connexes