2010-03-29 11 views
5

http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworksCome scegliere il giusto framework per applicazioni web?

Poiché puntiamo ambiziosamente ad essere grandi, la scalabilità è importante e lo sono anche le funzioni di globalizzazione. Dal momento che stiamo iniziando senza finanziamenti, il rapporto prezzo/prestazioni e il costo delle licenze/hardware sono importanti. Vogliamo assolutamente portare AJAX ben presente nell'interfaccia web. Ma a prescindere da questi, non ci sono altri criteri che riesco a trovare.

Sono più esperto con C#/ASP.net, PHP e Java, in questo ordine, ma non rifiutare altre lingue (Ruby, Python, Scala, ecc.).

Come possiamo determinare dalla giungla delle strutture quello che si adatta meglio al nostro obiettivo?

Quali altre domande dovremmo porci?

Materiale di riferimento: articoli, consigli su libri, siti Web, ecc.?

risposta

2

Per me, le cose più importanti da considerare Were:

  • sviluppatori di piombo fantastici che mi fido di continuare a lavorare sul progetto.
  • Googling una domanda porta molte buone risposte.
  • Ancora più importante, mi piace il modo in cui scorre il codice.
  • Modifica: Inoltre devono essere analizzati sugli standard di codifica. Se c'è incoerenza, mi arrabbio molto.

Questi 3 punti mi hanno portato a Symfony. Utilizza sempre le ultime funzionalità all'avanguardia dell'ultima versione di PHP. Symfony 2.0 sta usando namespace prima di qualsiasi altro framework.

Due dei tuoi punti erano:

  • i18n - c'è grande supporto per esso (aiuta che la società che sta dietro è francese, quindi i18n è un primo cittadino di classe).
  • Scales - Yahoo Answers e Vimeo utilizzano Symfony e contribuiscono con il codice. Se quei ragazzi possono ridimensionare Symfony a 100 milioni di utenti, puoi farlo anche tu :)
+0

Sono d'accordo soprattutto con il tuo ultimo punto. Se Yahoo adotta un framework, è una nozione abbastanza grande in merito alla sua qualità. – alex

-2

IMHO, per qualcosa che avrà molti utenti, scegli un linguaggio compilato.

Se non lo provi, non lo saprai. Quindi, direi di fare un piccolo progetto in ciascuno dei quadri su cui stai seriamente pensando. Mi preparerei a fare molti test se è qualcosa che conserverò per alcuni anni. È meglio iniziare con il giusto obiettivo piuttosto che arrivare a metà del progetto solo per rendersi conto di aver preso la strada sbagliata. Potrebbero esserci alcuni requisiti che terminano la tua ricerca. Ad esempio, il sistema operativo del tuo server, una funzione di framework o scalabilità. Se esponi i tuoi piani e requisiti software, probabilmente avrai pochissimo da scegliere, a meno che il tuo progetto sia davvero generico o semplice.

+2

"vai per un linguaggio compilato" - Perché? Alcuni dei siti Web più popolari sul Web sono scritti in lingue di alto livello. Non dovrebbe fare molta differenza a meno che tu non stia facendo calcoli pesanti nell'applicazione. –

+1

D'accordo con musicfreak. Inoltre, se stai usando PHP e hai bisogno dei requisiti di velocità di qualcosa compilato, puoi scrivere un modulo per questo in C. – alex

+0

Commento di Yup @ alex. Ho un'app che ha bisogno di applicare un algoritmo di immagine (sobel) a centinaia di immagini. PHP ha impiegato 10 secondi per immagine. L'ho riscritto in C e ha funzionato così velocemente che non ho nemmeno avuto bisogno di misurare il tempo. –

0

Tutto dipende dal tipo di progetto che si svilupperà. Stai costruendo un'applicazione web o un sito Web di contenuti pesanti o qualcos'altro?

Si confondono anche i linguaggi di programmazione con i framework. I framework per PHP che conosco sono: CakePHP, CodeIgnitor, Zend e Symfony.Per un sito di contenuti pesanti pronto all'uso suggerire Drupal o Expression Engine.

Sembra che non ti stia sviluppando. In tal caso, determinerei il costo e la disponibilità dei programmatori e quanto è ampiamente supportato il framework e da chi è supportato. Il framework Zend è supportato dai ragazzi dietro PHP, mentre CodeIgnitor è supportato dai ragazzi dietro a Expression Engine. Drupal ha pacchetti di supporto professionale, ...

Problemi correlati