38 votes

Développeurs Web - Est-il préférable de faire du développement sur votre ordinateur local ou sur un hôte distant?

Quelles sont les pro/cons de faire du développement web sur votre machine locale plutôt que sur un développement centralisé serveur? Pour ceux qui ne le dev en local sur votre machine, comment voulez-vous maintenir à jour la db architecture pour le développement local lorsque plusieurs développeurs sont impliqués?

En particulier, je suis actuellement à l'essai avec XAMPP pour PHP et était curieux de savoir comment j'ai garder la DB MySQL exemple sur ma machine locale dans la synchro quand d'autres développeurs sont à changer régulièrement de données/db structure.

Est le développement local seulement pratique lorsque l'on travaille seul?

56voto

Stewart Johnson Points 7632
  • Toujours, toujours se développer sur une installation locale.
  • Toujours utiliser de contrôle de source.
  • Toujours mettre le tout sous contrôle de code source, y compris le schéma de base de données.

Il semble y avoir beaucoup de gens qui aiment avoir un serveur central que tout le monde utilise pour le développement, je ne comprends vraiment pas pourquoi vous préférez être dans un environnement où les gens à faire des changements peuvent interrompre votre processus de développement.

Dans mon atelier, tout le monde a son propre serveur web de développement et de leur propre développement de la base de données (souvent installés au même endroit sur la même base de données du serveur, mais de leur propre base de données). De cette façon, ils sont complètement isolés l'un de l'autre, les développeurs et ne peut pas interrompre les uns les autres.

Lorsqu'ils mettent en œuvre une fonction ou d'une correction d'un bug de vérifier dans leur code et de la correspondance de schéma de base de données pour qu'elle soit accessible à d'autres développeurs comme une unité complète. Les rejets vers le serveur de test ou le serveur de déploiement sont fait à partir d'un étiquetés version dans le référentiel de code source.

Stable et sain d'esprit! Je ne vois pas pourquoi vous feriez de toute autre manière lors de l'élaboration des serveurs sont gratuits!

7voto

Codebeef Points 17084

Je pense qu'il est préférable d'avoir un local d'installation qui est entièrement sous votre contrôle en cours de développement afin de s'assurer que les modifications apportées par les autres développeurs ne pas interférer avec votre propre. J'ai un développement et test de la configuration de l'environnement au niveau local afin que je puisse effectuer les deux tâches, sans avoir besoin de prendre d'autres développeurs en compte. Je ne cesse de courir mes tests que j'ai le code à l'aide de l'autotest, ce qui signifie que je peux être sûr que mon code est correct et répond à la spécification correcte.

Après le code de base est en ordre, je le déployer sur un serveur de test (qui est un environnement qui est aussi proche de la production que possible), et de relancer les tests. Nous utilisons également notre scène pour exécuter des tests de charge et de faire des tests utilisateurs.

7voto

noob source Points 305

Aussi loin que de garder votre DB "synchronisé" quand les autres sont à l'éditer. Une façon de contourner ce problème est d'obtenir votre DB schéma sous contrôle de version. Ce n'est pas aussi simple que de mettre votre code source est sous contrôle de version, et il y a différentes façons de les gérer.

Lire ce post sur le code de l'Horreur:

http://www.codinghorror.com/blog/archives/001050.html

Pas tellement le post lui-même, mais les six articles il y a des liens par K. Scott Allen.

Fondamentalement, ce qui est décrit dans ces articles est une méthode de référence du schéma de base de données, vérification de la dans un .fichier sql de la base, et à partir de là à vous écrire incrémentielle .sql "modifier des scripts" à chaque fois que vous modifiez le schéma. Maintenant a chaque fois qu'un développeur récupère ou met à jour une copie de travail, les montants de modifier les scripts seront exécutés. Vous aurez besoin de mettre en place des scripts/outils pour le faire vous-même, sauf si vous utilisez un cadre qui fait cela pour vous.

6voto

David Arno Points 15499

J'ai constaté que faire fonctionner un serveur Web local avec une base de données distante fonctionnait mieux. La réplication / synchronisation de base de données est une tâche ardue, je ne travaillerais donc qu'avec une base de données locale si je le devais vraiment .

Travailler avec un serveur Web local supprime toutefois tout le désagrément et la lenteur liés au téléchargement de pages / codes entre les modifications.

5voto

warren Points 12172

Des Pros au local:

  • fonctionne même si le réseau tombe en panne
  • vous le savez, chaque outil sur la machine

Cons au local:

  • synchronisez tout pour le serveur de déploiement
  • sans contrôle de version, vous pouvez neutraliser le travail des autres

Des Pros et centrale:

  • tout le monde possède les mêmes outils
  • toujours à travailler sur le "vrai" contenu

Des inconvénients à la centrale:

  • ne peut pas fonctionner si le réseau est en panne
  • votre "favoris" de l'outil(s) peut être manquant

Je suis sûr qu'il ya plus, mais ceux-ci viennent à l'esprit-off.

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