Quando Java è una buona scelta per lo sviluppo web? [chiuso]

34

Quando Java è una buona scelta per lo sviluppo web?

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

    
posta Gulshan 29.04.2012 - 23:07
fonte

14 risposte

36

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 di MS, probabilmente preferisci farlo nel modo .net
  • se hai bisogno del webhoster più economico possibile, probabilmente hai solo PHP come scelta
  • se vuoi farlo nel modo più rapido possibile, Ruby on 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
risposta data 30.03.2016 - 18:04
fonte
20

Java è utilizzato nei siti web di piccole e medie dimensioni. Il punto cruciale è che c'è molto meno web hosting gratuito per i siti web Java che per es. PHP, il che significa che a meno che tu non abbia abbastanza risorse per ospitare il tuo server web probabilmente non sceglierai 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. Purtroppo non è ancora abbastanza mainstream.

Tieni presente che questo è cambiato in qualche modo di recente con Google Application Engine che ti consente di distribuire gratuitamente applicazioni Web Java standard (con alcune restrizioni) nel cloud per siti con traffico medio-basso.

    
risposta data 03.07.2011 - 08:43
fonte
13

Quando la tua piattaforma è UNIX / Linux e hai bisogno di un ricco set di strumenti, come Object / Relational Mapping, Security, orchestrazione complessa di servizi Web, ecc.
(Non stiamo parlando di semplici siti web, vero?)

    
risposta data 18.01.2011 - 15:59
fonte
9

Ogni volta che un altro team di Java mi fa incazzare, mi dilungo sfogliando domande come questa. Permettetemi di reiterare. Sono un dev del lato client e sono stato per quasi 5 anni. Ho lavorato su siti che spaziano da micrositi per la maggior parte dei contenuti, a siti di dimensioni massicce come Sears, a siti di tipo app più sofisticati in cui è necessaria una profonda conoscenza dell'interfaccia utente. Mi sono occupato di Rails, PHP, .net web forms (ew), .net MVC (molto meglio) e un bouquet di soluzioni Java per lo sviluppo web accompagnate da sviluppatori e team che sono stati tutti disastri completi da affrontare. Scrivo anche un po 'di Python e sto iniziando a scavare Django.

La mia esperienza con i team Java è stata universalmente terribile. Gli strumenti sono sempre un PITA. Gli sviluppatori non vogliono mai credere di aver fatto qualcosa di sbagliato e convincerli a reinvestigare il loro stesso terreno una volta che hai escluso un problema alla tua estremità è come tirare i denti. La prima vittima di trattare con team Java nella mia esperienza è il tempo di sviluppo convertito in tempo di e-mail scrivendo più lunghe spiegazioni sul perché il problema sia definitivamente alla loro fine. L'HTML non è generalmente il loro problema, a meno che tu non voglia realmente controllarlo. Quindi è probabile che tutto vada all'inferno dalla loro parte perché in realtà vuoi spostare alcuni livelli di alto livello intorno.

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, nel mezzo ci sia una tonnellata di mediocrità. La cultura che sospetto proviene dal modo in cui Java viene commercializzato. Scrivi una volta, distribuisci ovunque. Traduzione: "Devi solo imparare una cosa!" Le persone che trovano interessante questo tipo di attività vogliono praticamente maneggiare Java come un gigantesco martello per ogni unghia con un minimo di affinamento del proprio mestiere rispetto allo sviluppo del web.

Quindi, se hai sviluppatori che conoscono Java e altre lingue ma preferiscono ancora Java, direi di sì, se la soluzione sembra la soluzione giusta. Ma se hai degli sviluppatori Java che conoscono Java e tutto il resto soddisfa appena i criteri per renderlo effettivamente un punto elenco sul loro curriculum, fagli costruire una semplice app con una varietà di pagine semi-complesse sul terminale HTML e prova questo semplice test. Rompere un po 'di HTML. Cerca di indurli a capire cosa c'è che non va. Se il problema immediato che iniziano a risolversi è deviare la colpa da loro stessi, tieni loro il! @ # $ Lontano dallo sviluppo web. Lo sviluppo Web è multidisciplinare e richiede un interesse attivo nel campo per avere successo. Non è un posto per persone che vogliono solo mantenere la conoscenza di una lingua e sono più inorriditi dai problemi che interessati a risolverli.

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

    
risposta data 12.04.2012 - 17:34
fonte
5

Java è perfettamente adatto per siti Web di piccole dimensioni, È possibile ottenere pagine JSP che funzionano molto rapidamente con un server Web Java come Tomcat , per esempio.

Sebbene in base alla mia esperienza, Java è più comune per i siti di grandi dimensioni dove c'è una maggiore necessità di elaborazione complessa lato server - in questo caso si troveranno più sofisticati framework Java usati come JavaServer Faces (JSF).

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

    
risposta data 02.07.2011 - 20:44
fonte
2

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

  • Il cliente lo richiede. Nel bene e nel male, alcuni clienti hanno "accettato elenchi di tecnologie" e se proponi qualcosa non in quella lista, è meglio avere una spiegazione molto buona perché - e perché qualcosa sulla lista non può 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 con le normali macchine client. Tuttavia sul server, è più probabile vedere qualche forma di Unix come se si trattasse di un server Windows. Java è probabilmente il più vicino da scrivere una volta distribuito ovunque (non è perfetto, ma migliore di alcune alternative).
  • Scelta della direzione. Ammettiamolo, scegliere Java su un'altra lingua avrà più a che fare con la possibilità di trovare programmatori e sostituire i membri del team che abbandonano il progetto piuttosto che basarsi esclusivamente sul merito della lingua.
risposta data 18.01.2011 - 16:11
fonte
2

Tecnicamente parlando:

  • Se è possibile definire un'architettura adatta allo ottimizzatore di hot spot.
  • Se si anticipa la necessità dell'imponente overhead OO di Java, impone.

Se avessi avviato un'applicazione web, avrei usato Ruby on Rails e progettato in modo tale che gli hotspot potessero essere scambiati quando RoR raggiunge il limite di ridimensionamento delle prestazioni.

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

    
risposta data 18.01.2011 - 18:19
fonte
0

È semplice: usa Java quando le prestazioni back end sono un problema serio. C'è un sovraccarico durante la codifica, ma il codice verrà eseguito in 1 / 200th / 1 / 500th time - letteralmente. Php, Ruby e altre lingue digitate dinamicamente saranno sempre molto più lente dei server 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.

    
risposta data 30.03.2013 - 15:50
fonte
-1

Non è l'unica ragione, ma con la crescente popolarità della creazione di siti Web con sofisticati front-end simili alle applicazioni, mentre la logica sta ancora facendo "roba" sul server - nessuna ragione dovrebbe essere necessaria per spiegare perché Java è almeno uguale di qualsiasi altra opzione sul lato server. Ma alla fine del client, se qualche javascript sta per trasformarsi rapidamente in un incubo di manutenzione del codice e facendo uso di GWT per mantenere quella roba a portata di mano in modo da poter programmare in Java, puoi avere il meglio di entrambi i mondi con il tuo server fare il sollevamento pesante e il processore di un cliente dando loro l'esperienza. Impara ad integrarlo con qualcosa come jQuery e puoi avere tutto il piacere per gli occhi che desideri.

Non tutti i tipi di esperti sulle alternative, ma se qualcun altro può proporre uno con lo stesso tipo di flessibilità e ampiezza, felice di sentirne parlare.

    
risposta data 18.01.2011 - 11:33
fonte
-1

Il motivo principale per cui scegliere java è se è necessario utilizzare transazioni distribuite, che possono essere una grande preoccupazione per molte aziende. Tuttavia puoi ancora utilizzare il tuo linguaggio di scripting preferito per lo sviluppo web e delegare il lavoro a java solo quando hai bisogno di transazioni veloci / distribuite.

    
risposta data 18.01.2011 - 17:06
fonte
-1

Credo che sarebbe quando la tua applicazione sarà molto complessa, con molte persone che la sviluppano, con molti moduli complessi, una complessa logica di business e deve comunicare con molte altre applicazioni aziendali.

Ad ogni modo, potresti anche sviluppare in Grails, che offre molte funzioni interessanti, facilita notevolmente lo sviluppo e sta maturando molto velocemente.

    
risposta data 18.01.2011 - 18:40
fonte
-1

Java è ok, ma se le prestazioni non sono di fondamentale importanza, puoi ottenere gli stessi risultati con meno sforzo in altre lingue.

    
risposta data 03.07.2011 - 00:36
fonte
-1

Java è un linguaggio tipizzato staticamente ed è più economico rispetto agli altri linguaggi tipizzati staticamente utilizzati per lo sviluppo web, ovvero C # e VB.net, se la tua azienda non ha un abbonamento MSDN. Le lingue tipizzate in modo statico sono utili per progetti di dimensioni medio-grandi, regole di dominio complesse e molto codice back-end, perché puoi organizzare meglio le tue classi e gli IDE ti aiuteranno a trovare errori nel codice.

Con linguaggi tipizzati dinamicamente, come PHP, Python, Ruby, lo sviluppo sarà molto più veloce, ma dovrai testare molto meglio il tuo codice. Se non hai molto tempo e denaro e le tue esigenze cambiano molto rapidamente e non devi fare calcoli molto complessi, i linguaggi dinamici sono molto migliori.

    
risposta data 29.04.2012 - 23:53
fonte
-2

Sicurezza

Il motivo principale per cui le grandi aziende scelgono Java rispetto ad altre soluzioni è perché è considerato molto più sicuro.

Questo è principalmente perché è supportato da un'azienda così grande (ora oracle).

Va tenuto presente che Java offre un livello molto alto di sicurezza e supporto e analisi eccellenti (sebbene abbia un prezzo).

    
risposta data 18.01.2011 - 10:16
fonte

Leggi altre domande sui tag