Domanda

Ho cercato ovunque un elenco conciso dei vantaggi e degli svantaggi dell'utilizzo di Flex vs. Flash.

Provenendo da un background di programmazione, adoro Flex. È facile da imparare e poiché può utilizzare le classi Flash, perché dovrei usare Flash senza flex?

Flex:

Pro:

  • buono per lo sviluppo di RIA
  • fornisce molte opzioni di input dell'utente pronte all'uso
  • Sistema di lay-out integrato
  • MXML è più facile per i non programmatori
  • Puoi combinare rapidamente i componenti per creare piccole applicazioni
  • I componenti
  • possono offrire un vantaggio nei progetti su larga scala grazie alla loro modularità la natura.
  • può essere sviluppato usando linux
  • ha un buon ciclo di vita dei componenti per la convalida, ecc.

Contro:

  • aumenta le dimensioni del tuo .swf
  • La personalizzazione dell'aspetto dei componenti può richiedere molto più tempo del previsto, a seconda dello stile visivo che stai cercando
  • quando scopri che hai bisogno di un componente personalizzato che non esiste, potresti dover tornare a Flash per fare il vero lavoro di programmazione e impacchettare il componente
  • La "flessibilità" di Flex significa che leggerai molta documentazione
  • Bug nel framework Flex
  • Alla fine dovrai scendere a compromessi con l'architettura del framework Flex

Flash

Pro:

  • buono per realizzare film / animazioni
  • La sequenza temporale può essere più semplice per i progettisti / animatori di concettualizzare
  • quando si lavora da zero, offre un grande controllo.
  • più facile per qualcuno con un background di programmazione
  • Puoi programmare quello che vuoi; nessun compromesso con i framework esistenti

Contro:

  • fornisce solo l'immissione dell'utente di base (casella di testo) pronta all'uso.
  • la sequenza temporale può essere scoraggiante per i programmatori (anche se puoi tranquillamente ignorarlo)
  • Lo sviluppo di alcuni tipi di applicazioni sarà più lento rispetto a Flex
  • non può essere sviluppato usando linux
  • la convalida dell'input dell'utente deve essere gestita nel codice. Nessuna convalida integrata.
  • è necessario implementare il proprio sistema di lay-out

Per favore, correggimi se ho perso qualcosa detto finora.

È stato utile?

Soluzione

Flash e Flex utilizzano entrambi lo stesso motore di rendering sottostante, solo con front-end diversi. Flash è più adatto per realizzare film e animazioni. Flex è meglio per lo sviluppo di applicazioni.

Altri suggerimenti

Dal punto di vista di un programmatore, la grande differenza tra Flash e Flex non è tanto l'IDE / l'applicazione che si utilizza per la programmazione, ma se si programma solo in ActionScript (AS) o se si utilizza il framework Flex e MXML per programmare le applicazioni .

Direi che ActionScript puro è migliore per la programmazione (se si utilizza Flash IDE o Flex IDE non è così rilevante) e MXML è meglio per i non programmatori combinare i componenti programmati in AS.

Aggiungerei alla tua lista questi pro / contro:

Flex:

Pro:

  • Più facile per i non programmatori entrare nello sviluppo di applicazioni
  • Puoi combinare rapidamente i componenti per creare piccole applicazioni
  • I componenti possono offrire un vantaggio nei progetti su larga scala

Contro:

  • La personalizzazione dell'aspetto dei componenti può richiedere lotto più a lungo del previsto, a seconda dello stile visivo che stai cercando
  • Quando scopri che hai bisogno di un componente personalizzato che non esiste, potresti dover tornare a Flash per fare il vero lavoro di programmazione e impacchettare il componente
  • La "flessibilità" di Flex significa che leggerai un lotto di documentazione
  • Bug nel framework Flex
  • Alla fine dovrai scendere a compromessi con l'architettura del framework Flex

Flash (o Flex IDE in modalità progetto ActionScript):

Pro:

  • Più facile per qualcuno con un background di programmazione;)
  • Puoi programmare quello che vuoi; nessun compromesso con i framework esistenti

Contro:

  • La sequenza temporale può essere scoraggiante per i programmatori (anche se puoi tranquillamente ignorarlo)
  • Lo sviluppo di alcuni tipi di applicazioni sarà più lento rispetto a Flex

In breve: scegli lo strumento giusto per l'attività giusta.

Flex è una libreria di codice scritta in ActionScript3, quindi aggiunge a Flash molte funzionalità e elementi simili a librerie standard. Il rovescio della medaglia è che si tratta di un codice di importo maggiore che viene incluso nella tua applicazione. Se usi qualsiasi Flex nella tua app, la dimensione del download del file SWF aumenta di 100 di K.

Se l'applicazione ha qualsiasi tipo di widget dell'interfaccia utente, allora devi quasi usare Flex poiché Flash stesso ha solo le cose più basilari come le caselle di testo. Flex ha un'intera GUI XML con layout, associazione dati e configurazione XML ecc.

Fallo in flash, finisci per dover scrivere da zero cose come caselle di riepilogo ...

A mio avviso, la caratteristica più importante del framework Flex è il ciclo di vita dei componenti, che fornisce un modello davvero elegante per la validazione / invalidazione di proprietà, dimensioni dei componenti e rendering gerarchico.

Il vantaggio per gli sviluppatori è che crea fasi applicative discrete per la logica aziendale e il rendering, evitando costose geometrie e amp; rendering del codice fino all'ultimo momento possibile prima di disegnare una cornice.

Ecco un'ottima presentazione, che spiega come funziona:

http://tv.adobe.com/#vi+f15384v1002

Il modello è così ben progettato che il ciclo di vita dei componenti rimane quasi completamente invisibile durante la maggior parte dello sviluppo di Flex, quando si utilizzano i componenti e i contenitori predefiniti del framework. Devi solo imparare il funzionamento interno quando inizi a sviluppare i tuoi componenti.

Sviluppando in ambiente Flash o in puro Actionscript, non ottieni nulla di tutto ciò. Chiunque sviluppi applicazioni AS3 pure deve codificare molto con attenzione per separare la logica aziendale dal rendering o subirà una riduzione delle prestazioni.

  

[...] perché dovrei usare Flash senza flex?

Flex è un nuovo prodotto, mentre Flash esisteva dai tempi di Macromedia. Designer, animatori e quasi tutti coloro che non sono cresciuti con una dieta base dell'educazione alla programmazione probabilmente troveranno Flash più facile da padroneggiare rispetto alla maggior parte delle altre soluzioni simili.

Il target è diverso. Flex è più dedicato al programmatore mentre Flash è più amichevole con l'artista / web designer.

Flash è l'IDE utilizzato (in genere) per creare animazioni e cose che funzionano bene su una linea temporale.

Flex funziona meglio per la creazione di applicazioni Internet che hanno interazioni più simili a un desktop.

Perché usare Flash? Bene, se hai bisogno di fare qualcosa di più specificamente collegato a una linea temporale, ovviamente!

Vedo Flex come una soluzione per fare applicazioni RIA in cui è necessario sviluppare soluzioni basate su applicazioni. Ci sono molte cose che puoi usare subito con Flex, ma hanno anche un prezzo in termini di dimensioni del file, granularità, ecc.

Se invece stai lavorando a una soluzione totalmente personalizzata come un gioco, forse Flash è la strada da percorrere perché puoi ricominciare da capo con una tela bianca. Molte persone usano ancora Flash perché non hanno bisogno di tutte le campane e fischietti basati su app della piattaforma Flex.

Mi piace la libertà di Flash, ed è davvero semplice incorporare risorse in Flash, un po 'più confuso da fare in Flex.

Una cosa che adoro del flex è la capacità di fare un'applicazione fluida con il minimo sforzo. Il che richiederebbe per sempre in Flash.

Qualunque cosa tu possa fare in flex, puoi farlo in flash, potrebbe richiedere molto più tempo. Tuttavia, non puoi fare tutto in modo flessibile come in flash.

Flex si occupa di tutta la programmazione dell'interfaccia utente per te e ti consente di concentrarti sulla logica aziendale, con il flash passerai la maggior parte del tempo a programmare l'interfaccia utente.

Puoi sviluppare facilmente applicazioni Flex su Linux ma con Flash semplicemente non puoi.

Un'altra soluzione che non è stata suggerita qui sarà quella di usarli entrambi. Puoi aggiungere componenti flessibili ai filmati flash usando ContainerMovieClip . E puoi aggiungere filmati flash per flettere i componenti usando SpriteVisualElement . Un'altra cosa che non è stata menzionata è stata la presentazione della domanda. Saranno i professionisti della flessione contro lo svantaggio del flash, perché hai costruito un sistema di lay-out flessibile. Ma ancora una volta quando li usi entrambi, puoi disporre i tuoi filmati con il sistema di lay-out flessibile.

Anche la flessibilità diventa Progetto di alto livello Apache . E ora diventa sempre più escluso dalla community.

Flash e Flex sono 2 cose completamente diverse, uno è uno strumento di progettazione con supporto per lo script di azione, l'altro è un framework che ha anche uno script di azione ma è costruito principalmente attorno a MXML che è una definizione dell'interfaccia utente basata su XML " Lingua " ;.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top