2010-11-10 33 views
0

Nous mettons en œuvre certaines fonctionnalités métier exposées par le biais du service Web asp.net. À l'étape actuelle, l'interface utilisateur est nécessaire pour une certaine tranquillité et nous allons l'implémenter dans une application de bureau déjà existante (c'est une application MFC C++, mais nous envisageons d'intégrer certains composants WinForms/Wpf). Dans un proche avenir, nous prévoyons de remplacer l'application de bureau actuelle par une version de site Web (ce sera le site Web asp.net ou l'application PROBABLY Silverlight). Par conséquent, je voudrais implémenter l'interface utilisateur une fois sur le site Web et la réutiliser d'une manière ou d'une autre à partir d'une application de bureau.Réutilisation des fonctionnalités des sites Web par l'application de bureau

Suis-je assez clair?

Y a-t-il un moyen de le faire? Bien sûr, je peux implémenter le service Web et l'utiliser à partir de l'application de bureau maintenant et le réutiliser de l'application Web quand il sera exigé ... Mais j'espère qu'il y a une meilleure manière de faire cela.

Toutes les pensées sont les bienvenues!

post-scriptum Une option peut être la page Web asp.net qui est affichée par notre application de bureau. L'application de bureau servira uniquement de navigateur (sans ajouter de fonctionnalité supplémentaire).

+0

"L'application de bureau servira uniquement de navigateur (sans ajouter de fonctionnalité supplémentaire)." Tu veux dire comme le navigateur gratuit et bien testé que j'utilise en ce moment? –

Répondre

0

Mon idée devrait parfaitement fonctionner avec une implémentation d'interface utilisateur HTML simple qui sera "parcourue" depuis l'application de bureau via le contrôle CHtmlView.

Pour être honnête, je n'ai pas essayé de l'implémenter (la tâche a été reportée depuis un certain temps).

1

Eh bien ... vous avez essentiellement déjà votre réponse. Si vous allez probablement utiliser Silverlight, si l'application de bureau actuelle est compilée en WPF et XAML, la conversion sera ridiculement rapide. Sinon, vous devrez tout construire comme vous le feriez pour n'importe quel autre site Web - divs et CSS tout le chemin pour le site, et resx designer pour le bureau.

+0

Silverlight est toujours optionnel. Pourriez-vous clarifier ce que vous entendez sous "designer resx pour le bureau"? S'il vous plaît noter que le 1er objectif actuel est d'avoir (en aucune façon) une version de bureau réalisable. – Budda

+0

Ce que je veux dire, c'est que vous allez soit concevoir la page Web et simultanément le bureau à la fois en XAML et utiliser Silverlight/WPF, ou vous utiliserez ASP.Net et Windows Forms. Si tout ce que vous allez faire est de faire en sorte que la partie Windows Forms du système agisse comme un navigateur pour l'application Web, je ne voudrais pas déranger. Comme l'a noté un autre intervenant, il existe déjà plusieurs navigateurs de haute qualité.Je recommanderais de ne pas créer une application de bureau pour agir comme un navigateur, c'est maladroit, moche et tout professionnel de l'informatique verra à travers elle. Seul Apple fait vraiment l'application "application web dans une application de bureau". –

1

À moins qu'un client vous paie pour écrire et maintenir des versions redondantes de votre application, alors ne le faites pas. Il suffit d'écrire les nouvelles pièces de l'application Web, les envelopper, et appelez ça bien.

Si vous pouvez le faire, je vous recommande d'ignorer simplement l'étape d'intégration. Si vous allez jeter le code de toute façon, c'est moins cher dans l'ensemble.

Utilisez la technologie de votre choix. Si vous l'implémentez sans utiliser de framework côté client, vous ne serez lié à aucune plate-forme particulière. D'un autre côté, si vous utilisez un framework côté client existant (tel que Silverlight) et que vous utilisez de bonnes pratiques de conception de code (comme MVVM), il sera peut-être plus facile d'effectuer un test unitaire.

+0

"raccourci d'application" ne pourra pas "revenir" du dialogue actuel à un autre ... Mais merci pour une idée. – Budda

+0

@Budda: J'ai relu votre question et compris que l'option "Make Application Shortcut" ne fonctionnerait pas, car vous intégrez une seule interface utilisateur Web dans une application existante. Déjà édité pour en tenir compte, cependant –