65 votes

Réagir - à l'aide de la Machine vs Flux de vs?

Je suis actuellement en apprentissage de Réagir et je pense que je le comprends assez bien. Cependant, il y a une chose qui me préoccupe concernant le développement de solides Réagir applications - quels sont les outils que les développeurs utilisent pour vérifier le type statique?

J'aime vraiment Tapuscrit. Je pense qu'il réduit la douleur de développement d'applications JavaScript beaucoup, grâce à la vérification de type et d'autres caractéristiques intéressantes. Le Code de Visual Studio offre également un très beau complétion de code. Et je sais que je peux le faire fonctionner avec Réagissent en utilisant typings + DenifitelyTyped.

La chose est, il n'y a pas beaucoup de tutoriels sur l'utilisation de Réagir + Tapuscrit. Il ne semble pas y avoir beaucoup d'articles sur le développement de l'utilisation de ce combo. D'autre part, beaucoup de gens semblent à l'aide de Flux, qui est un projet soutenu par Facebook (et je suppose qu'ils ont aussi l'utiliser).

J'ai réussi à trouver une discussion sur Reddit avec les avantages et les inconvénients d'aller le Réagissent + Tapuscrit / Réagir + Débit moyen. Cependant, pour moi, il semble être tout à fait obsolète comme il est d'environ 10 mois maintenant. Je pense que beaucoup de choses ont changé depuis.

J'ai aussi trouvé deux articles sur l'utilisation de Réagir + de Flux et de Réagir + Tapuscrit. L'auteur précise certaines questions qu'il a lors de l'utilisation à la fois des options et conclut que la Machine est "le meilleur pari en ce moment" (novembre 2015), en particulier parce que l'Écoulement de projet a beaucoup de questions et reçoit faible développeur de l'activité de Facebook. Il mentionne aussi qu'il ne joue pas bien avec Babel?

Donc, je suppose que la question serait: Est-il sécuritaire d'utiliser l'Réagissent + Tapuscrit combo, ou vais-je avoir quelques difficultés? Ce qui concerne le Flux? Y a t'il d'autres outils similaires que je doit vérifier? L'approche qui recommanderiez-vous?

Mise À Jour Septembre 2017:

Ayant plus d'un an d'expérience avec l'utilisation quotidienne de la Machine, et de jouer avec un Débit pendant un moment, je suis venu à la conclusion suivante:

  • Tapuscrit est toujours pénible à utiliser à ce jour. Le problème est que le JavaScript de la planète se déplace si vite que la Machine continue à la traîne. La réflexion sur l'utilisation de cette nouvelle fantaisie ES7 étape 3? Non, vous ne pouvez pas. Désireux d'obtenir des préconisations pour la dernière version de bibliothèque? Attendre un mois ou deux, peut-être plus...
  • Flux a parcouru un long chemin, il a beaucoup été amélioré, il peut attraper quelques choses que TS ne le peuvent pas. Le meilleur de tous, il fonctionne enfin sur Windows. Aussi, il y a un super plugin pour VS Code (aucune idée de pourquoi il a seulement 3/5 de notation). Et ça marche à 100 % avec Réagissent Natif, Tapuscrit est même pas à 50 %, il y encore.
  • La plupart du temps, vous n'avez pas besoin de types à tous. Le typage est rarement la peine. JS est un typées dynamiquement de la langue, de s'en remettre :)

TL;DR: Si vous prévoyez d'utiliser n'importe quel type de contrôleur, je recommande l'utilisation de Flux.

22voto

VinTem Points 1114

Je vais commencer cette réponse en disant que je n'ai jamais utilisé de Flux, donc je ne peux pas en dire beaucoup à ce sujet. Mais, nous sommes à l'aide de Réagir et Tapuscrit au travail et il fonctionne très bien.

Nous avons tous les avantages que j'imagine que vous connaissez déjà, comme le remaniement, type de sécurité, l'auto-complétion, etc.

Bien sûr, pour ce que j'ai vu, le Flux de la syntaxe est plus propre que le texte tapé à la Machine, mais vous pouvez ajouter vos types à l'aide de la Machine de manière incrémentale. Je pense que c'est plus une question de goût. Certaines personnes préfèrent avoir le code explicitement tapé, d'autres préfèrent type moins et ont une plus forte inférence de type.

À propos, les technologies, je dirais que la Machine est un pari sûr, Microsoft pousse la langue (il y aura une version 2 bientôt), Angulaire est de l'utiliser et il y a beaucoup de Angulaire développeurs. Même ici, et le tag de la Machine a plus de 4K disciples et il est rare d'avoir une question sans réponse.

Le gros problème avec les caractères d'imprimerie, au moins pour nous, c'est que de temps en temps, nous décidons d'utiliser un composant ou d'une bibliothèque qui n'a pas de définitions de type, de sorte que nous devons créer nous-mêmes. Mais je pense que c'est une façon de contribuer à la communauté.

8voto

Spritely Points 167

Je viens de me suis posé la même question (mais pas à Réagir) et trouve les articles suivants utiles pour évaluer les deux:

L'approche adoptée par le flux de designers se sent plus fonctionnelle avec une meilleure inférence de type et une meilleure approche pour les valeurs null. Cependant, la Machine a un meilleur soutien de la communauté en particulier à l'égard de traction dans les types de bibliothèques tierces via http://definitelytyped.org/ ce qui est important pour avoir des types de flux à travers tout votre code pour un maximum de sécurité de type. Tapuscrit est créé par Microsoft qui a une riche histoire dans l'écriture de compilateurs et de l'évolution de la technologie dans les directions favorables - notable ici est le C# et le fait qu'ils sont déjà ajoutant des non-null types (2016-07-11): https://blogs.msdn.microsoft.com/typescript/2016/07/11/announcing-typescript-2-0-beta/

La machine semble être le plus sûr pari aujourd'hui.

Et pour ceux qui essaient de fichier d'enregistrement dans une base de code que j'ai trouvé les paramètres suivants dans mon tsconfig.fichier json vraiment utile en permettant à la Machine à co-exister bien avec JavaScript (ce qui permet la transition d'un fichier à la fois):

{
    "compilerOptions": {
        "allowJs": true,
        "isolatedModules": true,
        ...
    }
}

0voto

Dans mon Réagir de développement, j'ai tout un complexe de Babel / Webpack / Flux / Moka ensemble des outils mis en place et n'a jamais eu de problèmes avec le Flux. Faut un certain effort pour mettre tout en place (Webpack peut être intimidant au premier abord), mais par la suite, il fonctionne, tout simplement. Le flux est certainement le chemin à parcourir car il est plus étroit et plus axée sur la technologie et à ce titre plus de chances de bien jouer avec d'autres outils. En revanche, Tapuscrit essaie d'être un beaucoup plus que juste une inférence de type / type statique de l'outil de vérification et de sorte qu'il apporte de bagages supplémentaire et à des hypothèses. Afin de Réagir est un outil spécialisé qui ne fait qu'une chose bien alors que la Machine est effectivement une langue couches sur le dessus de JavaScript. Pour assurez-vous que Microsoft lecteurs de son point de départ, Tapuscrit fichiers ont traditionnellement une extension différente (en.ts au lieu de .js) parce que vous êtes maintenant à l'aide d'une autre langue, vous l'avez?

La machine utilise la génération de code à cracher JavaScript tandis que dans le Flux les annotations sont tout simplement dépouillé, il n'y a pas de génération de code en tant que tel. Dans le passé, les gens de Microsoft promotion de caractères d'imprimerie utilisés pour faire une déclaration à l'effet que la génération de code est "fichier local" (je ne me souviens pas exactement de la terminologie utilisée). C'était censé fournir un réconfort apaisant que le Tapuscrit compilateur n'est pas de faire quelque chose de trop magique. En tout cas je ne trouve pas que la déclaration en bonne place s'affiche plus. Avec le Flux, vous n'avez pas besoin de telles assurances, comme vous l'écrivez dans la plaine du JavaScript (ou quel que soit l'ECMA version que vous avez configuré Babel) et les annotations sont, comme je l'ai dit, tout simplement dépouillé.

Ne pas oublier que la Machine est à venir à partir d'une entreprise qui se spécialise dans la et contraire à l'éthique douteuse techniques pratiques (je n'ai pas exclure que la Machine peut éventuellement bien être la Mère de tous les bras-Étendre-Éteindre les stratagèmes). N'oublions pas que Microsoft a tout fait en leur pouvoir pour cause de Javascript à l'échec car ils (à juste titre, si tardivement) prévoyait qu'une menace qu'il représentait, et représente toujours, pour leur merde système d'exploitation et leurs gonflé de la suite office.

En outre, le Débit du type de système était beaucoup plus puissante dernière fois que j'ai pris la peine d'évaluer Tapuscrit (vers 2015) et c'était beaucoup plus facile de l'appliquer de manière incrémentielle ou même de façon sporadique dans les sources. Pour l'intégration de bibliothèques tierces je suis en utilisant flowtyped et il est très rare que j'ai besoin de complément de ceux qui ont trouvé là avec mes propres définitions.

Enfin, le fait que Angulaires utilise Tapuscrit signifie absolument rien comme Angulaire n'est pas vraiment pertinent pour les nouveaux projets. Réagir a gagné haut la main, le temps de se déplacer sur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X