Quelle est l'option la plus compatible avec tous les navigateurs / systèmes pour les graphiques 3D sur une page Web?


10

Je voudrais développer un peu de fonctionnalité pour un site Web qui implique un peu de 3D - l'utilisateur peut déplacer des objets, les faire pivoter et les texturer.

Jusqu'à présent, j'ai examiné:

  • WebGL (en particulier three.js) et il a fière allure, mais il n'est pas pris en charge dans IE ni IOS.

  • IOS prend en charge la <canvas>balise, mais seulement 2d. Il semble que three.js ait un hack non pris en charge pour faire en sorte qu'une chose en 3D utilise le canevas 2d sans textures, mais cela ressemble à un hack.

  • J'ai également envisagé de recourir à Flash qui fonctionne sur la plupart des navigateurs, mais cela ne fonctionnera pas sur IOS.

Quelle est ma meilleure option pour faire des graphiques Web 3D sur la vaste gamme de navigateurs et d'interfaces?

En ce moment, je pense à WebGL pour le Web (et demande aux gens d'utiliser Chrome ou Firefox, et de prendre le coup sur IE), puis d'écrire une application native pour IOS, mais je ne suis pas sûr qu'il existe de meilleures alternatives disponibles que je ne sais pas.


Je voudrais savoir pourquoi cette question a été rejetée et comment je peux la résoudre, je pense que c'est une question très utile et convient au q et au format.
Rocklan

4
Je ne demande pas quelle technologie est meilleure .. Je demande ce qui fonctionnera dans la majorité des cas pour les trucs 3D.
Rocklan

3
Voter pour rouvrir. LachlanB, son «meilleur» pour ne pas utiliser des mots tels que «meilleur» dans les questions. Mais sinon, je pense que c'est une question raisonnablement répondable. Vous pouvez le reformuler en quelque chose comme «quelle technologie serait utilisable sur la plupart des navigateurs».
GrandmasterB

1
@LachlanB J'ai modifié votre question pour essayer de clarifier que vous ne demandez pas la "meilleure" technologie à utiliser, mais plutôt la technologie la plus compatible avec les graphiques 3D sur les pages Web. J'ai voté pour rouvrir la question, mais elle a encore besoin de 3 autres votes communautaires pour être rouverte. S'il n'obtient pas l'attention dont il a besoin pour être rouvert dans quelques jours, vous pouvez également essayer de le signaler pour un modérateur et leur demander de rouvrir la question (assurez-vous d'expliquer qu'il a été modifié dans le message de drapeau). Bonne chance avec ça :)
Rachel

3
Il n'y a pas de bonne réponse. Il devrait être fermé. Un outil pourrait convenir à un projet et non à un autre. Ce n'est pas ainsi que vous posez cette question. Allez enquêter sur différentes bibliothèques, puis revenez et posez des questions spécifiques. Si vous avez demandé si la fonctionnalité XXX était prise en charge sur tous les navigateurs, alors il y a une bonne réponse.
Reactgular

Réponses:


2

Il n'y a pas, et il n'y aura probablement jamais aucune approche qui soit multi-navigateur et multi-système quand on considère plusieurs systèmes d'exploitation et navigateurs mobiles (taille de téléphone et taille de tablette) pour les systèmes de bureau.

Dans cette mesure, aucune réponse ne peut être donnée qui sera la bonne - il y a des avantages et des inconvénients à chaque approche.

La mesure la meilleure / la plus croisée est également celle qui est mal définie. S'agit-il de pages brutes par type de navigateur ? Est-ce un nombre considérable de navigateurs? ou tient-il compte des habitudes de navigation des personnes sur les différents systèmes ? Certaines zones géographiques doivent-elles être prioritaires par rapport à d'autres ?

Vous mentionnez WebGL - mais ce n'est pas non plus bien pris en charge sur Android - cela signifie-t-il qu'une version Android devrait également être envisagée? Flash est également un cadre «intéressant» à cibler lorsque l'on regarde des appareils mobiles.

Une approche courante adoptée par les entreprises consiste à créer un tableur - énumérer les critères et pondérer chacun d'eux. Si les numéros de navigation sont essentiels, pesez-les. Si la facilité d'utilisation du framework est la clé, pesez-le de cette façon, si variété de navigateurs actuels, etc ...

Une fois que vous avez identifié les cadres et les poids, recherchez chacun d'eux et ajoutez un nombre (0 - 10) dans chacune des cellules de ce cadre et voyez celui qui s'avère être le «meilleur».

En dehors de cela, les décisions commerciales sont mieux prises par la personne qui en est responsable et qui prend les risques. Demander à des personnes au hasard sur Internet de les fabriquer pour vous peut être problématique - nous ne sommes pas conscients de tous les facteurs qui sont pris en compte pour un ensemble de solutions particulier (le temps, les ressources).


0

J'ai eu de la chance dans le passé en utilisant ceci: https://code.google.com/p/jsc3d/ Cela a fonctionné sur tout ce que j'ai essayé, j'ai juste eu à changer du javascript pour le rendre interactif avec les appareils mobiles mais je pense maintenant qu'ils ont pris mes changements et cela devrait fonctionner pour les événements tactiles.

Cela est rendu avec Chrome, Safari, Firefox, IE <9, IE> = 9, téléphone Android, tablette Android, iPad, iPhone.

Cependant, les performances sont médiocres. Mais c'est cool j'ai créé un modèle dans google sketchup, exporté le fichier obj puis rendu multiplateforme avec des textures.


Les questions de recommandation d'outil sont hors sujet sur Programmers.SE. Répondre aux questions hors sujet, même avec des informations correctes, incitera les affiches à poser des questions hors sujet.
Adam Zuckerman

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.