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é.
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
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