Sono uno sviluppatore esperto che ha lavorato con .Net negli ultimi 5 anni circa. Mentre stavo assemblando uno stack di applicazioni per un'idea di avvio che ho avuto, ho notato che molti degli strumenti di supporto che vorrei utilizzare sono screzi o sono diventati commerciali. Dato che non ho entrate e sto prendendo in considerazione il costo per Visual Studio, SQL Server (sì, so di Biz Spark), ecc. E ho improvvisamente capito che dovrei cercare altrove.Potete raccomandare uno stack di applicazioni Web alternativo?
Quindi, senza ulteriori indugi, ecco le mie esigenze e simpatiche. Gli ovvi front-runner sono Java e Ruby, ma sono felice di sentire qualsiasi altro suggerimento (orientato agli oggetti e compilato preferito ma non richiesto. PHP non benvenuto qui).
complesso
- obbligatoria: Supportato da hosting per iniziare condiviso
- Auspicabile: Non dovrebbe essere troppo poco pratici da far funzionare (solo di lavoro quando i componenti sono collegati)
quadro
- Obbligatorio: quadro moderno in mvc
- obbligatorio: il controllo a grana fine su output HTML
Quality Code
- obbligatorio: quadro di registrazione
- Auspicabile: Analisi statica (complessità, ecc)
- Auspicabile: Generare diagrammi UML di struttura del codice
- Desiderabile: Rapporti di copertura del test
OOP Stuff
- obbligatorio: ORM che gestisce le gerarchie semi-profonde, incluso molti-a-molti.
- obbligatorio: quadro Mock
- obbligatorio: contenitore CIO (probabilmente la sua propria categoria)
IDE
- obbligatorio: assistenza Formattazione (indentazione)
- obbligatori: debug: punti di rottura, ispezione variabile
- Desiderabile: completamento automatico: l'intellisense di VS è veramente bello.Questo è vicino a obbligatoria
- Auspicabile: debug: sul posto l'esecuzione di codice (finestra immediata), spostare frame corrente all'indietro
- Auspicabile: test di integrazione quadro
Quality Code
- obbligatoria: Struttura di prova
- Desiderabile: copertura del codice
- Desiderabile: generare documentazione dai commenti del codice
Corporatura
- Auspicabile: Un clic tiro da SVN, costruire, testare, copertura del codice, la documentazione del codice
- desiderabile: continua integrazione (per dopo, quando abbiamo, ehm, otteniamo davvero grande)
Altre note: Sono contento di usare Linux (sarebbe piuttosto rinfrescante!). Sto presupponendo MySQL per DB, in quanto non richiede la conformità ACID (ed è probabilmente ACID ormai), e SVN per il controllo del codice sorgente.
Qualsiasi aiuto o suggerimento sarebbe molto apprezzato.
Modifica: Attualmente si sta inclinando verso Sinatra, in quanto sembra molto elegante, ma consente all'utente di avere il controllo quanto più o meno possibile. E selezionerò una risposta quando penso che le risposte si siano fermate.
Alcuni dei requisiti sembrano MS-centric e potrebbero soffocare le tue scelte. Potresti beneficiare di più aprendo un po '. Ad esempio, IoC non ha molto senso in Ruby a causa del design del linguaggio. So che pensi di averne bisogno, ma i Rubyisti esperti hanno più soluzioni idiomatiche di IoC (fidati di me, o google Jamis Buck RubyConf e guarda il discorso). Allo stesso modo, il completamento automatico non è un grosso problema in Ruby o Python perché le LOC complessive sono molto più basse. – runako
Sono abbastanza aperto. Forse è quello a cui sono abituato. Ma l'autocomplete è bello ... si tratta di scoprire le API piuttosto che salvare le battiture. È difficile da fare in lingue dinamiche, però. – Travis