Flash è davvero superiore alle applet Java? [chiuso]


14

Sono ancora uno studente, senza molta esperienza di vita reale nella programmazione. Non ho mai scritto nulla di più grande di ~ 5k righe di codice. Ho scritto codice sia in Flash che in Java e non riesco proprio a capire perché le persone stiano scrivendo applicazioni Web come lettori video (YouTube ecc.) In Flash e non come applet Java. Quindi voglio chiedere a voi, programmatori con esperienza pratica, alcune sagge parole sull'argomento.

Non vedo alcun vantaggio reale di Flash su applet, mentre d'altra parte, almeno per me, sembra buggy da morire. Capisco che è più veloce creare qualcosa in Flash e posso capire perché sarebbe una buona cosa per la prototipazione veloce, ma in generale ne vale la pena? Ogni volta che un YouTube impazzisce, maledico gli sviluppatori per averlo scritto in Flash. E se stai usando Linux con Opera, questo succede sempre.

Quindi, in sostanza, perché le persone usano il flash e non le applet?


4
Applet Java, ugh ...
Anto,

Risposte:


34

Flash offre un'esperienza più fluida per l'utente. Le applet Java sono piuttosto lente, poiché la VM Java deve essere avviata prima di poter essere eseguita. Come visitatore del sito Web, lo odio quando le cose si bloccano per alcuni istanti mentre la VM Java si risolve da sola. Se non sbaglio, inoltre, non si scarica una volta che mi allontano dal sito Web che lo ha utilizzato, lasciandolo in giro quando non volevo davvero che funzionasse in primo luogo.

La mia esperienza (certamente limitata) con Flash e lo sviluppo di applet mi dice anche che lo sviluppo di un'animazione in Flash è più semplice.

E poi c'è la storia. Microsoft non ha fatto alcun favore alle applet Java sviluppando la propria JVM e facendola comportare in modo diverso da quella di Sun. Di conseguenza, lo stesso applet potrebbe funzionare in un browser e non in un altro, rendendo la creazione di applet Java meno praticabile.

Java ha strumenti gratuiti che possono essere utilizzati rispetto agli editor Flash proprietari necessari per realizzare video Flash, ma alla fine il suo approccio pesante lo rende inferiore.


4
D'accordo, il tempo di riscaldamento di JVM è molto probabilmente il motivo per cui Flash ha mangiato il pranzo

1
Inoltre, Flash è stato creato principalmente per creare fantastiche esperienze interattive con molti contenuti grafici, audio e animazioni. Java è un linguaggio generico non necessariamente la scelta migliore per la creazione di contenuti Web.
Martin Wickman,

3
Sun ha combattuto con successo contro il tentativo degli Stati membri di rendere le applet meno responsabili in tribunale. Non c'è più MS-Java in giro, era proibito.
utente sconosciuto il

1
Si potrebbe dire che il successo legale di Sun abbia causato il fallimento tecnico in quell'arena. Senza JVM di default in Windows (il sistema operativo per l'utente finale più distribuito sul mercato), Flash ha avuto l'opportunità di diventare lo standard di fatto e colto al volo. Microsoft scrollò le spalle e creò .NET in risposta alla sentenza JVM e quindi Silverlight in risposta a Flash. Ora l'HTML 5 è destinato a obsolete la maggior parte di quelle soluzioni lato client. Il cerchio della vita.
Jesse C. Slicer,

4

La riproduzione audio e video Flash è buggy come l'inferno, ma Java non è sempre migliore. Ho avuto alcuni problemi immensamente frustranti con i giochi Java quando Sun ha introdotto un bug tra le versioni minori che ha rovinato il ciclo di vita dell'applet. Hanno iniziato davvero a recitare insieme alle applet circa un anno fa, e anche allora non è stato perfettamente fluido.

Per quanto riguarda i giochi, i maggiori vantaggi di Flash sono stati probabilmente un ambiente di sviluppo più specializzato e un buon supporto delle librerie per la grafica vettoriale. Il più grande vantaggio di Java era probabilmente la possibilità di realizzare un vero 3D con un'applet firmata e JOGL / LWJGL.


2

Il sovraccarico di runtime per le applet Java (almeno in Windows) è molto più clunkier e più lento di quello di Flash (nella mia esperienza), e credo che il linguaggio Actionscript sia di livello superiore a quello di Java, quindi questo rende le cose come animazioni e gestione delle risorse (come musica / video) più facile da sviluppare.


3
ActionScript è solo JavaScript con un nome diverso. Sono sicuro che le persone che volevano potrebbero discutere a lungo se si tratta di un livello superiore rispetto a Java, ma a livello linguistico la differenza più grande tra IMO è dinamica e tipizzazione statica.
Peter Taylor,

2
In questi giorni "Actionscript" significa generalmente AS3, che è più simile a Java che a JavaScript, e si comporta in modo più simile a Java perché i JIT VM (a differenza della VM AS2, che interpreta solo).
fenomas,

2

Java non ha mai avuto un'interfaccia utente molto accattivante. Ci vollero anni anche per avere l'anti-aliasing, rendendo il testo difficilmente leggibile. Il rendering / interazione multithread non viene mai implementato nelle principali librerie dell'interfaccia utente Java. Ciò aggiunge alla già lenta sensazione che hanno quelle lib dell'interfaccia utente.

Poiché java è progettato per grandi progetti, ha un vantaggio significativo nell'utilizzare il codice esistente nel browser.

Le funzionalità HTML sono state notevolmente aumentate negli ultimi anni. Le compatibilità tra browser sono state eliminate e sono state aggiunte alcune funzionalità come l'archiviazione sul lato client e il canvas.

GWT offre una bella API per creare l'interfaccia utente con classi di alto livello e interfacce per pannelli e widget. Lo traduce in javascript, creando un feroce comeptitor per applet java e flash.


2
L'antialiasing è in Java dall'1.2. Penso che sia più un caso che la gente non abbia avuto il tempo di imparare ad accenderlo.
Peter Taylor,

E Java 1.2 risale al 1998. Cos'è questa assurdità sul rendering / interazione multithread? Java è il linguaggio generalmente utilizzato per insegnare i thread. Vale a dire, oggi ha il modello di threading più conveniente ed evoluto di tutte le lingue. (Tuttavia, quasi sicuramente non è il modello di threading più conveniente possibile ...) Che "sensazione lenta"? È lento caricare un'applet, ma una volta caricato, ha la sensazione più reattiva che puoi ottenere in un browser.
Evgeni Sergeev,

2

Gli sviluppatori Flash sono più economici degli sviluppatori Java nel loro complesso. E puoi trovare grafici in grado di lavorare con o con il flash. In questo modo puoi ottenere un prodotto più grazioso più economico.


2
Nessuno vale il loro sale. Un buon sviluppatore fa pagare buoni prezzi per gli sviluppatori.
MaxSan

1

la semplice risposta è ... flash è per i progettisti. e java è per i programmatori non c'è niente di più facile di così .. non uno migliore dell'altro .. sono solo strumenti diversi per lavori diversi .. quindi supporre che flash o java siano superiori l'uno all'altro ... è solo un pregiudizio .. sono solo strumenti diversi entrambi svolgono il proprio lavoro in contesti diversi .. per quanto riguarda il downvote .. non vedo il tuo punto .. è rilevante dire queste cose .. e non lasciare che il pregiudizio entri la via..

hai lasciato un voto negativo? che ne dici di dirci perché in modo costruttivo? :)


+1 perché hai ragione: flash è per i web designer che si evolvono in programmatori web. Java è per programmatori che si evolvono in siti Web.
Kris Van Bael,

che ne dici di votare la mia risposta se pensi che meriti un +1 :) hehe
marc-andre benoit

1
L'ho fatto, naturalmente.
Kris Van Bael
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.