2009-05-06 9 views
7

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.

+0

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

+0

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

risposta

1

Django è una scelta eccellente. Ha una buona separazione delle preoccupazioni senza avere la curva di apprendimento di qualcosa come Zope.

1

Lift! È scritto in Scala, rappresenta una sorta di cambio di paradigma tra i framework web e un servizio di hosting con JVM è sufficiente.

2

Ramaze o Sinatra Microframework rubino, se si desidera iniziare rapidamente.

+0

Grazie. Mi piace quello che ho visto di Sinatra. – Travis

2

L'hosting condiviso è più forte in Ruby che in Java e, poiché è stato escluso PHP (che è molto popolare nell'hosting condiviso), uno si sposterà nella direzione di Ruby.

Framework: se si utilizza Ruby, RoR è la strada da percorrere. Se si decide su Java, vorrei (oltre agli ottimi consigli in altre risposte) guardare a Rife. Questo è un tipo di approccio (più guidato dal codice). Seam + IceFaces (o RichFaces se hai bisogno di un po 'della robustezza in cambio dei widget) è un tipo diverso di approccio, ma è anche efficace.

I plugin di Eclipse plus ti danno molto di quello che cerchi in termini di strumenti (gratuitamente). Puoi anche guardare Intellij, che è $ 249 per la licenza personale (personale significa solo che è concesso in licenza a tuo nome invece che alla tua azienda, senza limitazioni) o RubyMine per Ruby della stessa azienda, $ 99.

Integrazione continua, ho avuto un grande successo con TeamCity, ed è gratuita a livello di principianti.

(No, non lavoro per JetBrains, ho appena avuto esperienze positive con i loro prodotti).

So che non ho spuntato tutti quelli presenti nell'elenco, ma una volta aggiunti i plug-in disponibili per gli IDE, tutto quanto riportato nell'elenco è coperto da quanto sopra. Naturalmente ci sono molti altri quadri. La cosa bella delle soluzioni non Microsoft è che ci sono così tante opzioni. La cosa brutta delle soluzioni non Microsoft è che ci sono così tante opzioni ...

+0

Grazie, molto istruttivo – Travis

0

Avrei pensato che le edizioni esplicite di Visual Studio ti hanno praticamente coperto. Loro incontrano la tua esperienza e quando sono combinati con MYSql sul back-end e il milione e un componente gratuito sviluppato per .net potrebbe fare quello che vuoi.

C'è qualcosa di specifico che li preclude?

0

Completamento automatico per Ruby (e Rails)?

Jet Brain RubyMine funziona alla grande. Sono d'accordo che si tratta di scoprire API ...