2009-05-16 10 views

Répondre

11

La considération la plus importante n'est pas de sur-ingénierie au point de gêner la construction et le lancement de quelque chose. La paralysie de l'analyse est le principal inhibiteur de la productivité, du progrès et des résultats.

Oui, faites un peu de planification. Choisissez un cadre. La perfection dans un cadre sera impossible à trouver parce qu'elle n'existe pas, en partie parce que vous ne savez pas ce dont vous avez besoin jusqu'à ce que vous le construisiez de toute façon. Les chances sont, si vous choisissez quelque chose, ce sera mieux que de ne rien cueillir.

Oui, essayez de choisir des outils flexibles et interopérables là où vous vous rendez.

Oui, recherchez un bon ensemble de fonctionnalités intégré où vous vous verrez dans les prochains 6-18 mois. Essayer de regarder au-delà de cela n'est pas vraiment réaliste de toute façon car la plupart des projets changent tellement de toute façon en allant vers la première version. Alors, choisissez ce que vous êtes à l'aise ou ce qui vous est familier. Ne pas suivre la foule, faire ce qui vous obtient les meilleurs résultats, le plus rapide, et souvent. Comprenez que vous devrez peut-être changer dans le futur. Donc, quoi que vous construisiez maintenant, essayez d'utiliser le test unitaire pour pouvoir le factoriser si vous en avez besoin. Si ce que vous construisez va être très efficace, ce sera un très bon problème, et facile à travailler une fois que vous gagnerez de l'argent, car vous pourrez obtenir d'autres talents pour vous aider. . Partagez ce que vous finissez par cueillir et pourquoi pour votre situation - cela nous aide aussi à apprendre de vous!

0

Cela dépend.

Démarrer en regardant vos besoins (fonctionnels ou définis par l'utilisateur) (non fonctionnelle - aspects qui décrivent votre système souhaité link text)

Ensuite, je préciserait ce que cela signifie d'avoir une application Web évolutive. Définissez-le comme des cas de test qui peuvent être clairement testés (doit prendre en charge X pages vues/seconde avec le temps de réponse < Y secondes). Une fois ces pièces en place, j'examinerais le type de compétences que mon équipe de développement peut soutenir (pour le projet initial et la maintenance continue). Ensuite, trouvez quelques études de cas d'applications dans la nature qui utilisent un langage ou un cadre similaire. Si quelqu'un d'autre a fait une échelle de langue/cadre spécifique, alors les chances sont bonnes que vous le pouvez aussi.

Enfin sortir et chercher des fournisseurs d'hébergement qui prennent en charge la langue, le cadre et les exigences de votre choix.

2

D'abord sur le langage, cela n'a pas d'importance. PHP, Java et .Net étant probablement les trois plus grands sont tous prouvés en ce sens qu'ils exécutent certains des plus grands sites sur le Web donc n'écoutez personne qui vous dit que l'un est plus adapté que les autres.

Certains pourraient également mettre Ruby et Django/Python dans cette liste. Je n'ai rien contre eux, mais je ne connais pas de grands sites (disons top 50) utilisant l'un ou l'autre.

considérations d'hébergement dépendent de la faible vous voulez commencer, mais essentiellement l'ordre est:

  1. partagée;
  2. Serveur privé virtuel;
  3. Dédié.

L'évolutivité dépendra largement de la conception de votre application par rapport à tout langage, framework ou fournisseur. Un schéma de base de données efficace, une livraison efficace et l'utilisation de Javascript/CSS et la mise en cache en mémoire sont des problèmes communs à tout langage ou cadre.

+0

Les sites Web écrits en Ruby: Twitter, Github, Amazon ... –

1

Langue - Je recommanderais quelque chose avec de bons frameworks et de bonnes bibliothèques de tests comme Perl ou Java.

Cadre - cela dépend de ce que vous prévoyez de faire. Si vous commencez avec un hébergement qui ne permet pas FastCGI, il est préférable d'éviter les frameworks tels que Catalyst ou Rails. C'est pourquoi j'aime CGI :: Application (principalement Perl, mais aussi porté vers d'autres langages) - il peut fonctionner en CGI, FastCGI ou mod_perl. Pour le développement, il peut être exécuté à partir de son propre serveur Web.

Hébergement - rien n'est meilleur que votre propre serveur. Il peut s'agir de votre propre serveur, serveur loué ou serveur virtuel. Mais vous pouvez commencer avec l'hébergement le moins cher et quand vous avez besoin de plus, vous devriez être en mesure de se le permettre.

+0

Ruby on Rails ne nécessite pas FastCGI, donc je ne sais pas pourquoi le support de FastCGI est pertinent ici. – Chuck

3

Ne vous mariez pas nécessairement à une langue ou un cadre. Il se peut que certaines parties de votre site fonctionnent mieux avec des langages et des frameworks différents que d'autres. Par exemple, tous les sites de 37signals sont basés sur Ruby on Rails, mais ils ont récemment écrit un billet sur la façon dont la technologie sous-jacente est écrite dans Erlang, car il est beaucoup plus facile de faire de la concurrence de cette façon.

Évidemment, il ya un niveau de complexité où les choses se transforment en méli-mélo, mais en utilisant le bon outil pour le travail - même si cela signifie différents outils pour différents travaux - peut simplifier les choses.