41 votes

Pourquoi voudrais-je utiliser de la licorne ou mince au lieu de WEBrick à des fins de développement?

J'ai récemment découvert que certaines personnes préfèrent utiliser les unicorn_rails , au lieu de la valeur par défaut WEBrick comme un serveur web pour le développement des applications Rails.

Je comprends que si je voulais utiliser de la licorne dans la production, il pourrait faire de sorte de sens de l'essayer dans le développement, mais puisque la configuration est différente dans la production, est-il encore pertinent?

Est-il vrai, réel avantage que je voudrais obtenir de l'aide d' thin ou unicorn au lieu de WEBrick pour le développement d'une application Rails, comme la vitesse ou de quelques fonctionnalités supplémentaires? Ou est-ce juste une question de préférence personnelle?

18voto

mguymon Points 4527

Il est important de développer aussi près que possible de l'environnement de production. Il permet de s'assurer que l'application fonctionne comme prévu lors de la mise en production, au lieu de tomber sur des bugs lors de l'exécution.

Ce problème est atténué avec l'utilisation Continue de la Tester sur un serveur de Build qui reproduit l'environnement de production. Même si vous n'êtes pas activement le développement à l'identique de l'environnement, le contrôle Continu vous donne la couverture que l'application fonctionne de la manière prévue.

Comme pour la vitesse, la performance succès l'exécution d'une application Rails, le mode de développement réduit à néant tout avantage les différents serveurs web apporte.

5voto

emrass Points 3394

En plus des autres réponses à donner une assez bonne vue d'ensemble déjà, il y a aussi une raison d'ordre technique, vous pouvez envisager d'utiliser de la licorne sur WEBrick:

WEBrick ne prend pas en charge les sous-domaines. Soutien pour le HTTPS est plutôt hacky à mettre en œuvre.

Donc si vous avez une application SaaS à l'aide des sous-domaines, ou tout simplement si vous voulez avoir admin/api/... sous-domaine, puis WEBrick n'est pas une option. Il est POW pour Mac OS X, mais cela ne fonctionne pas pour les développeurs de Linux.

3voto

jmervine Points 390

Mon expérience personnelle est que la Licorne est beaucoup beaucoup plus rapide, puis WEBrick lors de l'utilisation d'une machine distante (ubuntu, 4 cœurs, 8 GO de mem, si la connexion VPN -> ssh) comme environnement de développement (comme je le fais), je vois sub-1 seconde de temps de chargement de page à la Licorne, alors que WEBrick prend de 3 à 5 secondes ou plus. Je ne suis pas sûr pourquoi, il peut avoir plus à voir avec mon réseau puis autre chose, mais c'est ce que je vois.

Je n'ai pas utilisé Mince pour le développement, que j'ai lu qu'il implique un joyau supplémentaire pour permettre à une classe de rechargement, le mode de développement (je ne peux pas personnellement de valider l'exactitude des que). Aussi, je suis plus familier avec la Licorne et de l'utiliser en production.

1voto

Agis Points 9838

Mon expérience personnelle est que WEBrick est plus rapide dans mon environnement de développement de Licorne et Mince (OS X) dans un assez grand application Rails (beaucoup de pierres précieuses, de routes, etc). Mais vous devez mesurer vous-même, avec votre application dans votre machine pour voir (je l'ai testé à l'aide de ab et de l'utilisation de Chrome developer tools).

Toutefois, en utilisant le même serveur dans la production et le développement est une très bonne idée.

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