none
Développement Windows compatible Mac RRS feed

  • Question

  • Bonjour,

    J'ai développé diverses applications (WinForm) à caractère scientifique à l'aide de Visual Studio (actuellement VS 2017 Community), en C# et VB.Net. Elles sont déployées avec ClickOnce.

    A la demande de certains utilisateurs, j'aimerais qu'elles puissent tourner aussi sur Mac, directement, hors VirtualBox.

    En particulier l'une d'elles qui gère tous les événements de la souris, le graphique et qui utilise les disques locaux.

    Je peux envisager la réécriture partielle de cette application, tout au moins son IHM.

    Quelle serait la solution technique la plus pérenne qui actuellement permette de faire ceci : Silverlight ? HTML ?

    Merci de vos conseils


    Alain

    mercredi 14 février 2018 10:56

Réponses

  • Bonjour,

    Il n'existe pas de solutions miracles.

    Silverlight, il faut oublier.

    Donc la seule techno qui soit multi plateforme, c'est le Html. Donc cela veut dire une application web hébergée sur un serveur.

    En restant dans les technos Microsoft, c'est une appli ASP .NET.

    On peut aussi avoir une application 'javascript' ou 'TypeScript' comme Angular pour la partie cliente (exécutée dans le navigateur) qui se connecte avec une application Web ASP .NET Web API pour récupérer les données.

    Enfin, une autre solution multiplateforme, c'est Electron (https://electronjs.org/). Mais c'est aussi du js.


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 14 février 2018 15:49
  • L'approche est différente. Par exemple pour votre histoire de suivi de tracé, cela se fait côté client (donc avec Angular). Ce n'est que quand vous voulez effectuer des sauvegardes & co que cela se fera côté serveur.

    Avant d'envisager cela, regardez les videos que j'ai fait sur ma chaine youtube.

    https://www.youtube.com/channel/UCJzbA1TXeWrtfftjDjpooYA


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    • Marqué comme réponse AchLog mardi 13 mars 2018 13:52
    jeudi 15 février 2018 09:05

Toutes les réponses

  • Bonjour,

    Il n'existe pas de solutions miracles.

    Silverlight, il faut oublier.

    Donc la seule techno qui soit multi plateforme, c'est le Html. Donc cela veut dire une application web hébergée sur un serveur.

    En restant dans les technos Microsoft, c'est une appli ASP .NET.

    On peut aussi avoir une application 'javascript' ou 'TypeScript' comme Angular pour la partie cliente (exécutée dans le navigateur) qui se connecte avec une application Web ASP .NET Web API pour récupérer les données.

    Enfin, une autre solution multiplateforme, c'est Electron (https://electronjs.org/). Mais c'est aussi du js.


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 14 février 2018 15:49
  • Merci de votre réponse,

    Et avec ASP .NET et Angular, l'appli peut-elle effectuer précisément des tracés graphiques et avoir accès aux événements souris, également lire et écrire sur le disque ?

    Mon appli actuelle utilise aussi la Registry, mais j'imagine qu'il n'y a rien d'équivalent accessible sur MAC.

    Cordialement


    Alain

    mercredi 14 février 2018 16:39
  • Tracés graphiques oui, event souris oui, disque non (pas complètement).

    Les accès disque, c'est pour quoi ? Si c'est pour sauvegarder temporairement des valeurs, y'a possibilité sans passer par l'accès disque. Si c'est pour sauvegarder par exemple l'image du graphe généré, y'a aussi des possibilités.


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 14 février 2018 17:05
  • Les accès disque concernent la lecture/écriture d'images jpg, bmp tif... ainsi que de fichiers textuels (txt).

    Quelles sont les restrictions d'accès auxquelles vous faites référence ? Est-il possible d'avoir accès en écriture au moins à l'ensemble du répertoire "Documents" ? Où peut-on stocker les données permanentes de l'appli qui sont actuellement dans la Registry ?

    Une application Web hébergée sur un serveur aura-t-elle la réactivité temps réel nécessaire ? Par exemple le suivi du tracé d'un segment de droite avec la souris (le segment est tracé sur le déplacement de la souris) ou l'effet de zoom sur une image affichée ?

    Quels supports, (de préférence en français) pouvez-vous me conseiller pour aborder la faisabilité de cette application en ASP + Angular ?

    Merci de vos conseils

    Cordialement


    Alain

    jeudi 15 février 2018 09:01
  • L'approche est différente. Par exemple pour votre histoire de suivi de tracé, cela se fait côté client (donc avec Angular). Ce n'est que quand vous voulez effectuer des sauvegardes & co que cela se fera côté serveur.

    Avant d'envisager cela, regardez les videos que j'ai fait sur ma chaine youtube.

    https://www.youtube.com/channel/UCJzbA1TXeWrtfftjDjpooYA


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    • Marqué comme réponse AchLog mardi 13 mars 2018 13:52
    jeudi 15 février 2018 09:05
  • Merci Richard pour votre aide sur mon problème.

    Je vois cette solution WEB compliquée pour moi à mettre en oeuvre et ne résolvant pas tous les problèmes. J'ai abandonné, au moins provisoirement, l'idée de compatibilité Windows-Mac de cette application qui est très complexe.

    Vos vidéos sont bien faites et didactiques. Merci encore.

    Cordialement


    Alain

    mardi 13 mars 2018 13:51