7
votes

Inconvénients de la commutation de JQuery à Dojo

J'envisage d'utiliser Dojo dans de nouveaux projets (ou du moins y compris celui-ci), partiellement à cause de La compatibilité avec le mode avancé de Google Fermeture Compiler qui (espérons-le) supprimer entièrement tout le code inutilisé.

Que ferais-je perdre? (outre la familiarité avec la syntaxe)

(aussi, généralement des conseils sur ce qui est différent serait probablement utile)


16 commentaires

La communauté de JQuery est plus grande que le Dojo One. Je suppose. (E.G. sur Stackoverflow Il y a des questions 69k + jQuery où Dojo n'a que 1200+)


Je ne suis pas sûr de comprendre le but ici. Si vous convertissez pour que vous puissiez utiliser des fonctionnalités à Dojo, alors super. Toutefois, si vous convertissez uniquement parce que vous souhaitez ajouter des options de compilateur, je ne vois pas le point ... À moins que vous ne sortez déjà chaque dernier octet de vos applications actuelles ... et sauvegardera quelques octets supplémentaires vous évitera 1 000 $ sur vos multi-millions de demandes ...


Partiellement, nous ne voulons pas que quiconque sache quelle bibliothèque nous utilisons. En outre, nous voulons qu'ils connaissent le moins possible sur la façon dont nous structurons notre code. Si le tout puisse dans un seul fichier JavaScript, ce serait mieux. Surtout s'il était encore plus difficile de savoir ce qui se passe. @scunliffe


Si quelqu'un veut vraiment savoir ces choses, ils pourront le comprendre tant que vous utilisez du code côté client. Compresser votre code JavaScript fait simplement un peu plus difficile, mais en aucun cas impossible.


@Chals: Je sais qu'il n'y a pas de solution absolue. Je ne veux tout simplement pas la rendre facile. Nous avons parcouru un long chemin et nous ressentons comme si nous avons une bonne idée de la façon de concevoir notre travail. Notre principale préoccupation est la concurrence locale.


@George mais pourquoi? Il sera assez simple pour que quelqu'un puisse copier la façon dont votre site fonctionne même sans déchirer le code directement. Si votre source JavaScript est essentielle pour transformer un profit, vous avez des problèmes plus gros que de la protéger!


Comme quelqu'un qui doit faire face à la fois, je suggère fortement JQuery. Je n'ai pas vraiment de raisons majeures qui ne sont pas répertoriées, mais si vous êtes déjà à l'aise avec JQuery, je serais en train de rester avec elle.


Pour ma valeur de 2 cents: je pense personnellement que le jeu de widget Dojo est un lot plus agréable que les widgets d'interface utilisateur JQuery. J'ai aussi énorme respect des capacités de localisation de Dojo.


@Hamish Source est essentiel pour transformer un profit Ce n'est pas le cas. directement en avant pour que quelqu'un puisse copier ce n'est pas (au moins cela ne fonctionnera pas).


@Georgebiley Security à travers l'obscurité est pas sécurité. Quel est votre site web? Je vais installer un clone d'ici la fin du week-end.


En outre, @george Bailey (Nom d'utilisateur génial BTW), pense-à-faire de cette façon: Si vous pensez que votre code vaut $ x, vous devriez vous attendre à ce que quiconque essayer de regarder il est prêt à dépenser $ X pour le faire. Vous ne pouvez vraiment pas masquer votre conception de l'application lorsqu'il est écrit en JavaScript et livré aux navigateurs d'utilisateurs.


@Pointy, vous pourriez bootstrap un compilateur à la langue "FOO" dans JavaScript, puis écrivez la langue entière dans "FOO". Si vous faites "FOO" vraiment obscurs, alors au moins, vous pouvez masquer complètement la conception du code.


@Pointy: J'apprécie que tout le monde me dise de ne pas perdre de temps à ce sujet, mais je pense que cela fonctionnera très bien pour notre configuration.


@Raynos: Ce n'est pas un site Web. Il utilise le code côté serveur. Je ne suis pas préoccupé par les clones exacts de toute façon parce que quiconque les utilisait devrait les modifier pour s'adapter à leur objectif.


@George Bailey - Il convient de noter que tout JavaScript généré ou autrement de toute bibliothèque envoyée au navigateur est 100% transparent, est copieux et totalement lisible / "désagréable" par quiconque ayant un intérêt. Cela dit, utilisez la bibliothèque JS que vous êtes le plus confortable et connu. Les économies de temps pour votre développement paieront plus que les idiosyncrasies d'une bibliothèque particulière.


Cela dépend beaucoup de ce que vous voulez faire et quelles extensions / plugins vous expliqueraient de chaque communauté. Dojo vient emballé avec des utilitaires qui n'appellent pas seulement des obscostateurs mais optimisent également la concaténation et l'inlinage.


3 Réponses :


9
votes

J'utilise JQuery moi-même, mais pour résumer, JQuery semble être mieux documentée et plus facile à faire des choses cooles "hors de la boîte". Dojo semble être plus facile à prolonger si vous savez ce que vous faites. J'ai eu cette info du wiki communautaire ici :

jQuery

  • rapide
  • bien documenté
  • Facile à utiliser
  • chaînage
  • contrairement à prototype Il n'exprime pas un objet si vous ne l'a pas demandé spécifiquement (essayez de boucler un tableau dans le prototype)
  • Ajax facile à utiliser (j'aime la fonction $ .AjaxSetUp ())
  • Beaux manipulateurs d'événements
  • Sélecteurs CSS
  • Filtrage de votre sélection
  • ai-je mentionné des chaînes?
  • petit (seulement 30 kb)
  • Nice peu d'effets de construction.
  • Plugins

    dojo

    "Être un développeur de dojo Je recommanderais dojo. Alors que mon choix n'est pas surprenant, je suis devenu un développeur de Dojo parce que j'ai trouvé des choses suivantes, qui sont mieux faites que dans d'autres cadres JavaScript:"

    • OOP (et d'autres paradigmes) est fait correctement.
    • Infrastructure de widget fait correctement.
    • Modules faites à droite avec toutes les friandises nécessaires:
      • Chargement paresseux de modules de manière dynamique.
      • Possibilité d'extraire uniquement des modules nécessaires et de construire un profil de fichier personnalisé.
      • Chargement asynchrone de modules si désiré.
      • Intégration simple avec CDNS pour applications Web robustes.
      • PLABRE PLADH DES MODULES DISPONIBLES À DOJOX, y compris les graphiques, la cartographie, les grilles, etc.
      • la possibilité de l'utiliser dans des environnements non navigateurs.
      • Attention aux détails des widgets:
        • Prise en charge de I18N (y compris les langages LTR et RTL),
        • Prise en charge de L10N (y compris la date standard, la monnaie, le formatage du numéro),
        • provisions pour les personnes ayant des besoins spéciaux (mode de contraste élevé automatique, support de clavier uniquement, etc.) - utile pour les utilisateurs réguliers et obligatoire pour la plupart des contrats gouvernementaux.
        • Personnes intelligentes de la communauté (dernier mais non le moindre) - autant que j'aime la main-d'œuvre pour les novices à un moment donné, chaque développeur devient «assaisonné» et a besoin de beaucoup plus que cela.

          "Personnes intelligentes de la communauté (dernier mais non le moindre) - autant que j'aime la tenue de la main pour les novices à un moment donné, chaque développeur devient" assaisonné "et a besoin de beaucoup plus que cela. Si tout ce que vous voulez, c'est écrire des doublures et ajouter des améliorations progressives simples aux applications Web existantes, vous pouvez le faire avec à peu près n'importe quel cadre, voire avec un pure JavaScript. Mais dès que votre application Web devient un bon emballage plus grand ou plus complexe, un bon soutien pour vos méthodologies préférées, de bons blocs de construction et la possibilité de rendre vos propres blocs de construction deviennent de plus en plus importants. C'est pourquoi je me suis installé sur Dojo et je n'ai jamais regardé en arrière. "


0 commentaires

1
votes

Pour ce que ça vaut la peine, la version source complète de Dojo est livrée avec ShrinkSafe. Je ne connais pas de comparaisons de performance entre cela et la complière de fermeture, mais je trouve que les outils de gestion et d'emballage du module de Dojo (y compris les produits de construction) sont très utiles.


1 commentaires

La communauté de Dojo a généralement changé de fermeture de son propre rétrécissement, qui était l'un des obscurcateurs d'origine basés sur le rhinocéros et peut-être l'inspiration de Yui et de la fermeture. La fermeture a des fonctionnalités beaucoup plus avancées. À ce stade, je ne pense pas que la fermeture d'exécution en mode avancé (élimination du code mort à l'aide de conseils, etc.) travaille Ootb, mais quelqu'un y travaille. Il y a un fil à ce sujet sur la liste de dojo-cotisants (OOPS ... Je vois que vous avez déjà référencé le travail de Stephen)



-1
votes

Eh bien, si je dois dire quelque chose maintenant, je dirais qu'il n'y a pas une différence pour moi entre JQuery et Dojo parce que je n'utilise pas les deux. J'utilise pur JavaScript que je suis allé plus profondément que je n'ai besoin d'aucune des bibliothèques que je crée mon propre cadre mes propres choses plus rapides, pures, guéries,

Et je dirais que j'ai détesté toutes les bibliothèques parce que cela me rendait plus déconcertant des choses comme la merveille de JavaScript et de sa beauté.

Je ne conseille pas d'utiliser une bibliothèque et si vous en avez besoin de le faire après que vous connaissiez JavaScript pour de vrai.


2 commentaires

J'ai poussé les limites de l'animation avant d'avoir utilisé JQuery. J'apprécie n'importe qui qui apprend à le faire manuellement et utilise ensuite un cadre. Je stresserais que quelqu'un ait une idée générale de la façon dont le cadre fait le travail, mais je voudrais pas dire qu'ils devraient apprendre à faire sans le cadre.


Vanilla JavaScript serait BELLE Si Les navigateurs sont mis en œuvre uniformément. Je suis une personne beaucoup plus heureuse quand une bibliothèque gère des idiosyncrasies de navigateur pour moi.