it-swarm.it

Quando Java è una buona scelta per lo sviluppo web?

Quando Java è una buona scelta per lo sviluppo web?

Per favore, non dire "Quando hai un team di sviluppo che conosce solo Java".

35
Gulshan

Dati i numerosi framework disponibili, la maturità della piattaforma ecc., Sono tentato di dire "quasi sempre". Quindi, ecco alcuni motivi per cui non dovresti usare Java:

  • come puro negozio MS, probabilmente preferisci farlo nel modo .net
  • se hai bisogno del webhoster più economico possibile, probabilmente hai solo PHP come tua scelta
  • se vuoi farlo il più rapidamente possibile, Ruby su Rails, Grails o Django sono probabilmente più adatti alle tue esigenze
  • se il tuo team di sviluppo conosce solo XYZ, dove XYZ! = Java, è meglio usare XYZ
35
user281377

Java is utilizzato in siti Web di piccole e medie dimensioni. Il punto cruciale è che esiste un hosting web molto meno gratuito per Java rispetto ad esempio a PHP, il che significa che a meno che non si disponga di risorse sufficienti per ospitare il proprio server Web, probabilmente non si sceglierà Java.

Si noti che con Java EE 6, in particolare il profilo Web, sono incluse molte tecnologie standard che possono creare applicazioni Web molto potenti senza dover codificare molto. Sfortunatamente non è ancora abbastanza mainstream.

Si noti che questo è cambiato un po 'di recente con Google Application Engine, che consente di distribuire standard Java (con alcune restrizioni) nel cloud gratuitamente per siti a traffico medio-basso.

19
user1249

Quando la tua piattaforma è UNIX/Linux e hai bisogno di un ricco set di strumenti, come Mappatura oggetti/relazionali, Sicurezza, Orchestrazione complessa di servizi Web, ecc.
(Non stiamo parlando di semplici siti Web, vero?)

12
Sorantis

Ogni volta che un altro team Java mi fa incazzare, faccio saltare Steam cercando domande come questa. Lasciami ripetere. Sono uno sviluppatore lato cliente e lo sono da quasi 5 anni. Ho lavorato su siti che vanno dai microscopi unici per lo più a contenuto, a siti enormi come Sears, a siti più sofisticati di tipo app in cui è richiesta una profonda esperienza dell'interfaccia utente. Ho avuto a che fare con Rails, PHP, .net web form (ew), .net MVC (molto meglio) e una disposizione bouquet di soluzioni Java per lo sviluppo web accompagnata da sviluppatori e team che sono stati tutti disastri completi da affrontare con. Scrivo anche un po 'di Python e sto iniziando a Dig Django.

La mia esperienza con i team Java è stata universalmente terribile. Gli strumenti sono sempre una PITA. Gli sviluppatori non vogliono mai credere di aver fatto qualcosa di sbagliato e indurli a reinvestigare il proprio territorio una volta che hai escluso un problema dalla tua parte è come tirare i denti. La mia prima vittima nel trattare con i team di Java nella mia esperienza è il tempo di sviluppo convertito in tempo di posta elettronica scrivendo molte lunghe spiegazioni del perché il problema è definitivamente risolto. L'HTML non è generalmente il loro problema a meno che tu non voglia effettivamente controllarlo. Quindi è probabile che tutto vada all'inferno perché in realtà vuoi spostare alcuni div di livello superiore.

Ci sono cose sulla lingua che non mi piacciono, ma penso che il vero problema sia la cultura e il fatto che l'accettazione sia così diffusa, hai una tonnellata di mediocrità nel mezzo. La cultura che sospetto scaturisce dal modo in cui Java è commercializzata. Scrivi una volta, distribuiscilo ovunque. Traduzione: "Devi solo imparare una cosa!" Le persone che trovano fondamentalmente attraente vogliono maneggiare Java come un martello gigantesco per ogni unghia con un minimo di affinamento del loro mestiere per quanto riguarda lo sviluppo del web.

Quindi se hai sviluppatori che conoscono Java e altre lingue ma che in realtà preferiscono Java, direi, sì, vai avanti se sembra la soluzione giusta. Ma se hai Java sviluppatori che conoscono Java e tutto il resto soddisfa a malapena i criteri per renderlo effettivamente un punto elenco sul loro curriculum, chiedi loro di costruire una semplice app con una varietà di semi-complessi le pagine in HTML terminano e prova questo semplice test. Rompi un po 'di HTML. Prova a convincerli a capire cosa c'è che non va. Se il problema immediato che iniziano a risolvere è deviare la colpa da loro stessi, tenerli lontani! @ # $ Dallo sviluppo web. Il web dev è multidisciplinare e richiede un interesse attivo nel settore per avere successo. Non è un posto per le persone che vogliono solo mantenere la conoscenza di una lingua e sono più inorridite dai problemi che interessate a risolverli.

Non sto affermando che Java stesso è la radice dell'incompetenza e ho sentito che la primavera è buona. Sono sicuro che ci sono squadre Java competenti là fuori. Non ne ho ancora incontrato uno e non penso che sia una coincidenza. Penso che Sun abbia molto a che fare con questo. Penso anche che gestire team web come o sotto dipartimenti IT abbia molto a che fare con questo.

9
Erik Reppen

Java è perfetto per i piccoli siti Web. Puoi far funzionare le pagine JSP molto rapidamente con un server web Java come Tomcat , ad esempio.

Sebbene nella mia esperienza Java sia più comune per i siti Web di grandi dimensioni in cui vi è una maggiore necessità di elaborazioni complesse sul lato server, in questo caso troverai framework Java più sofisticati utilizzati come JavaServer Faces (JSF).

È importante notare che un'installazione completa Java storicamente non era disponibile in molte configurazioni di web hosting a basso costo, quindi ciò potrebbe spiegare la prevalenza di altre lingue come PHP in questi ambienti.

5
mikera

I motivi principali per l'utilizzo di Java nello sviluppo web si riducono a quanto segue:

  • Il cliente lo richiede. Nel bene o nel male, alcuni clienti hanno "liste tecnologiche accettate" e se proponete qualcosa che non è in quella lista, è meglio che abbiate una spiegazione davvero valida sul perché - e sul perché qualcosa nell'elenco non potrebbe essere usato.
  • Sviluppa su Windows, distribuisci su Unix. La maggior parte delle macchine di sviluppo sono Windows, alcune sono Mac e pochissime sono Linux, proprio come ci si aspetterebbe dalle normali macchine client. Tuttavia sul server, hai la stessa probabilità di vedere una forma di Unix come sei un server Windows. Java è probabilmente il più vicino da scrivere una volta distribuito ovunque (non è perfetto, ma è meglio di alcune alternative).
  • Scelta gestionale. Ammettiamolo, scegliendo Java in un'altra lingua avrà più a che fare con la capacità di trovare programmatori e sostituire i membri del team che lasciano il progetto piuttosto che basarsi esclusivamente sui meriti della lingua.
2
Berin Loritsch

Parlando tecnicamente:

  • Se è possibile definire un'architettura suscettibile all'ottimizzatore hot-spot.
  • Se anticipi la necessità del massiccio OO overhead Java.

Se avessi avviato un'applicazione Web, avrei usato Ruby on Rails e progettato in modo tale che gli hotspot possano essere scambiati quando RoR raggiunge le sue prestazioni limite di ridimensionamento.

Java ha un odore definito di COBOL e "i programmatori di fascia bassa usano Java" in sospeso, e i fiaschi Oracle non stanno aiutando la reputazione. Se hai scelta, scegli una lingua che attiri i migliori sviluppatori.

2
Paul Nathan

È semplice: usa Java quando le prestazioni del back-end sono una delle principali preoccupazioni. C'è più sovraccarico durante la codifica ma il codice verrà eseguito letteralmente dal 1/200 al 1/500 del tempo. Php, Ruby e altri linguaggi tipizzati dinamicamente saranno sempre più lenti di Java o .net.

La maggior parte delle soluzioni per il web non avrà bisogno di questo. Twitter non ha abbandonato Rails fino a quando non hanno iniziato a raggiungere un picco di popolarità, ad esempio.

0
Rian Fowler