Y a-t-il un langage universel?

Nous concevons une application qui fonctionnera sous Windows, OSX, iOS et Androids. Ce serait vraiment bien d’avoir au moins la majeure partie du code dans une seule langue plutôt que d’utiliser Objective C pour les versions d’Apple, C # ou C ++ pour Windows et Java pour Android.

Nous nous sums penchés sur Flex (avec tous ses problèmes) pour éviter d’avoir à utiliser une langue différente pour chaque version, mais Adobe a jeté l’éponge et à long terme, elle ne fera pas le travail. Java promettait d’être universel, mais il semble que Apple ne le supporte plus dans le cadre du système d’exploitation dissortingbué, et pour autant que je sache, Microsoft ne l’a jamais supporté. Nous ne voulons pas que nos utilisateurs aient à télécharger et à installer quelque chose pour pouvoir utiliser notre application.

Y a-t-il une solution? Ou sums-nous coincés avec la création de l’application en plusieurs langues?

    les langages “globaux” sont les plus susceptibles d’utiliser des machines virtuelles, donc vous ne pouvez pas échapper aux “utilisateurs doivent télécharger et installer quelque chose pour pouvoir utiliser l’application” … Je pense que Java est votre meilleur choix si vous ne le faites pas ne voulez pas traiter des problèmes de langues qui se comstacknt en code machine natif.

    HTML + css + JavaScript!

    Exécutez votre application sur un serveur Web standard. Tous les logiciels ci-dessus utilisent des navigateurs Web conformes aux normes, tous ces éléments prenant en charge JavaScript et AJAX. La seule chose qui varie vraiment est la taille de l’écran et cela peut facilement être traité en utilisant un fichier .css personnalisé pour chaque navigateur cible.

    Vous pouvez héberger une application Web sur un serveur et utiliser les navigateurs de l’application pour interagir avec l’application.

    Bien que ce ne soit pas une application native, tous les périphériques pourraient l’utiliser.

    L’inconvénient est que la connectivité du serveur serait nécessaire, mais cela pourrait ne pas être un problème.

    Vous pouvez utiliser C # sur toutes ces plates-formes:

    • “Normal” .NET sous Windows
    • Mono sur OSX
    • MonoDroid sur Android
    • MonoTouch pour iOS

    (Si vous vouliez écrire une application pour Windows Phone 7, tout irait bien.)

    Bien sûr, la partie interface utilisateur devra changer de manière significative entre les différentes plates-formes, et je doute qu’elle soit particulièrement transparente , mais cela vaut la peine de le prendre en considération.

    Je ne suis pas très sûr, mais j’ai entendu dire que Python est un langage universel. Je l’ai essayé avec Mac et Windows, pas sûr des autres plactforms

    Je crois que le code C ++ peut être exécuté sur toutes ces plates-formes: Windows prend entièrement en charge ce code; Android a NDK; et vous pouvez utiliser Objective-C ++ sur iOS (et je suppose aussi OSX!).

    Je n’irais pas jusqu’à prétendre que c’est la meilleure option, mais je pensais que cela valait la peine d’être mentionné.

    En fin de compte, beaucoup dépendra de la nature de l’application que vous développez. Si c’est une application volumineuse, je suggère fortement de faire une consultation détaillée avec une personne expérimentée dans le domaine: en raison des caprices des différentes plates-formes, c’est un domaine où l’expérience compte énormément.

    Il existe plusieurs options, en fonction des exigences de votre application:

    Tout d’abord , l’application Web, comme beaucoup l’ont déjà dit. C’est le même que le plus grand diviseur commun – très petit

    Deuxièmement Construisez le kernel de votre application en c / c ++, et pour l’interface utilisez un framework qui répond à vos besoins. Ces suggestions sont vraiment vraiment géniales. Vous pouvez même développer l’interface séparément pour chaque plate-forme, en Java pour Android, en Objective C pour iOS, etc.

    N’oubliez pas que jamais, jamais vous ne pourrez exécuter le même code sur toutes les plateformes. Il y aura toujours une partie avec #define MAC ou #define ANDROID . Il est tout simplement impossible d’exécuter un code identique, même pour l’application la plus simple.

    À moins que

     void main(void){} 

    Même une application Web aura un code comme

     if(browser()==Safari) {} else {} 

    Je pense que la réponse dépend du type d’application que vous allez construire.

    Si c’est comme twitter, une bonne interface web est la solution. Chaque client doit simplement gérer le travail de l’interface graphique, avec la langue et la lib de la plate-forme.

    Si c’est un jeu, pas de communication avec le serveur. Je préfère C et un script tel que Lua pour construire le kernel de votre application.

    “Y at-il une solution? Ou sums-nous coincés avec la création de l’application en plusieurs langues?”

    Non, pas de solution pour cela. Nous utilisons des langues différentes car elles fonctionnent sur des plates-formes différentes. Les langages universels, tels que HTML, ont beaucoup de contraintes car pour être universel, vous devez couper toutes les différences. C’est l’intersection de toutes les plateformes, qui est très petite.

    Utiliser HTML et Javascript est probablement la meilleure approche. Java FX 2.0 est une autre option disponible sur ces plates-formes.