2009-05-06 6 views
7

Je suis un développeur expérimenté qui travaille avec .Net depuis 5 ans environ. Comme j'ai assemblé une pile d'application pour une idée de démarrage que j'ai eue, j'ai remarqué que beaucoup d'outils de support que je voudrais utiliser sont soit floconneux ou sont devenus commerciaux. Comme je n'ai aucun revenu, et en tenant compte du coût pour Visual Studio, SQL Server (oui, je sais à propos de Biz Spark), etc, et j'ai soudainement réalisé que je devrais regarder ailleurs.Pouvez-vous recommander une pile d'applications Web alternative?

Donc, sans plus tarder, voici mes exigences et agréable à avoir. Les premiers sont évidemment Java et Ruby, mais je suis heureux d'entendre d'autres suggestions (orienté objet et compilé préféré mais pas obligatoire, PHP n'est pas le bienvenu ici).

Dans l'ensemble

  • obligatoire: pris en charge par l'hébergement partagé pour commencer
  • Souhaitable: Ne doit pas être trop Checklist pour faire fonctionner (travail juste au moment où les composants sont branchés)

cadre

  • Obligatoire: Cadre moderne en mvc
  • obligatoire: contrôle fin sur la sortie html

Code de qualité

  • obligatoire: cadre Logging
  • Souhaitable: Analyse statique (complexité, etc.)
  • Souhaitable: Générer des diagrammes UML de structure de code
  • Souhaitable: Rapports de couverture de test

POO Stuff

  • obligatoire: ORM qui gère les hiérarchies semi-profondes, y compris beaucoup à de nombreuses relations.
  • obligatoire: cadre Mock
  • obligatoire: conteneur du CIO (probablement sa propre catégorie)

IDE

  • obligatoire: Mise en forme d'assistance (retrait)
  • obligatoires: mise au point: points de rupture, variable inspection
  • Souhaitable: auto-complétion: l'intellisense de VS est vraiment sympa.Ce résultat est proche obligatoire
  • Souhaitable: mise au point: en place l'exécution de code (fenêtre immédiate), déplacer image courante en arrière
  • Souhaitable: Test d'intégration cadre

Code de qualité

  • obligatoire: Cadre de test
  • Souhaitable: Couverture de code
  • Souhaitable: Générer la documentation à partir des commentaires de code

Construire

  • Souhaitable: Un clic tirer de SVN, construire, tester, couverture de code, documentation du code
  • Souhaitable: L'intégration continue (pour plus tard quand nous, euh, vraiment conséquents)

D'autres notes: Je suis heureux d'utiliser Linux (serait très rafraîchissant!). Je suppose que MySQL pour DB, car je n'ai pas besoin de la conformité ACID (et c'est probablement ACID maintenant de toute façon), et SVN pour le contrôle de la source.

Toute aide ou suggestion serait grandement appréciée. Éditer: Actuellement penché vers Sinatra, car il semble très élégant, mais permet à l'utilisateur d'avoir autant ou aussi peu de contrôle qu'ils veulent. Et je vais sélectionner une réponse quand je pense que les réponses ont cessé.

+0

Quelques-unes des exigences semblent centrées sur MS, et pourraient étouffer vos choix. Vous pourriez en profiter plus en ouvrant un peu. Par exemple, IoC n'a pas beaucoup de sens dans Ruby en raison de la conception de la langue. Je sais que vous pensez que vous en avez besoin, mais les Rubyists expérimentés ont des solutions plus idiomatiques que IoC (croyez-moi, ou google Jamis Buck RubyConf et regarder la conversation). De même, l'auto-complétion n'est pas aussi importante dans Ruby ou Python car les LOC globaux sont beaucoup plus bas. – runako

+0

Je suis assez ouvert. C'est peut-être ce à quoi je suis habitué. Mais la saisie semi-automatique est intéressante ... il s'agit de découvrir des API plutôt que d'enregistrer des séquences de touches. C'est difficile à faire dans des langues dynamiques, cependant. – Travis

Répondre

1

Django est un excellent choix. Il a une bonne séparation des préoccupations sans avoir la courbe d'apprentissage de quelque chose comme Zope.

1

Lift! Il est écrit en Scala, représente une sorte de changement de paradigme parmi les frameworks web, et un service d'hébergement avec JVM est suffisant.

2

Le Ramaze ou Sinatra Ruby microframeworks, si vous voulez démarrer rapidement.

+0

Merci. J'aime ce que j'ai vu de Sinatra. – Travis

2

L'hébergement mutualisé est plus fort dans Ruby que Java, et puisque vous avez exclu PHP (qui est très populaire dans l'hébergement mutualisé), celui-ci va vous pencher dans la direction de Ruby. Cadre: Si vous utilisez Ruby, RoR est la voie à suivre. Si vous décidez sur Java, je voudrais (en plus des excellentes recommandations dans d'autres réponses) regarder Rife. C'est une sorte d'approche (plus axée sur le code). Seam + IceFaces (ou RichFaces si vous avez besoin d'une partie de la robustesse en échange des widgets) est une approche différente, mais est également efficace.

Eclipse plus plugins vous donne beaucoup de ce que vous cherchez en termes d'outils (gratuitement). Vous pouvez également regarder Intellij, qui est de 249 $ pour la licence personnelle (personnel signifie simplement qu'il est sous licence à votre nom au lieu de votre entreprise, pas de limitations), ou RubyMine pour Ruby de la même entreprise, 99 $.

Intégration continue, j'ai eu beaucoup de succès avec TeamCity, et c'est gratuit au niveau débutant.

(Non, je ne travaille pas pour JetBrains, je viens d'avoir de bonnes expériences avec leurs produits).

Je sais que je n'ai pas coché tout le monde sur votre liste, mais une fois que vous ajoutez dans les plugins disponibles pour les IDE, tout ce qui est sur votre liste est couvert sur ce qui précède. Bien sûr, il y a beaucoup d'autres cadres. La bonne chose à propos des solutions non-Microsoft est qu'il y a tellement d'options. La mauvaise chose à propos des solutions non-Microsoft, c'est qu'il y a tellement d'options ...

+0

Merci, très instructif – Travis

0

J'aurais pensé que les éditions express de Visual Studio vous ont pratiquement couvert. Ils répondent à votre expérience et lorsqu'ils sont combinés avec MYSql sur le back-end et le million et un des composants développés gratuitement pour .net pourraient bien faire ce que vous voulez.

Y at-il quelque chose de spécifique qui les empêche?

0

Auto-complétion pour Ruby (et Rails)? Le RubyMine de Jet Brain fonctionne très bien. Je suis d'accord que tout est sur la découverte d'API ....

Questions connexes