Domanda

Sto lavorando a un progetto che attualmente ha zero utenti ma vorremmo scalare potenzialmente fino a centinaia. Attualmente stiamo eseguendo un database MySQL con AMFPHP che interagisce con Flex. Abbiamo usato Flex per le sue solide funzionalità grafiche (importanti per questo progetto) e perché lo sviluppatore iniziale (non io) conosceva già ActionScript. Attualmente stiamo utilizzando AIR, ma a un certo punto potremmo passare al Web-based Flash.

Le mie domande sono:

  1. Flex è un buon strumento per un progetto come questo?
  2. Quali sono i principali limiti di Flex che potremmo incontrare?
  3. Quali sono le altre piattaforme di sviluppo che potremmo prendere in considerazione?

Grazie. - Dave

È stato utile?

Soluzione

Risposta breve, Sì. Esistono già molte app in prima serata che utilizzano Flex come piattaforma di sviluppo dell'interfaccia utente. Se vai sul sito di Adobe ne mostrano parecchi.

Parlando personalmente, ho scelto Flex per due motivi, in primo luogo è stato, sebbene probabilmente tu possa fare molto di ciò che Flex fa in HTML o con un toolkit appropriato, Flex è progettato per un'esperienza utente accattivante e avvincente e ha a disposizione tutto Flash . Inoltre l'ambiente di sviluppo e i widget disponibili rendono la programmazione facile e divertente. Non voglio scatenare una guerra religiosa su HTML vs. Flex, quindi lo lascerò lì - funziona per me, per la mia applicazione e per i miei clienti.

In secondo luogo, e più importante, è stato quello di bilanciare maggiormente il carico di elaborazione verso il client, il che significa che la mia architettura del server può essere ottimizzata solo per servire il contenuto e conservare i dati. La maggior parte della mia logica aziendale è migrata al client. Avendo trascorso molti anni in architetture classiche, penso che questo sia un enorme passo avanti, ma posso già anche lei un coro di disaccordo su questo.

La mia parola di cautela riguardo Flex è la necessità di adottare l'architettura giusta per il codice client. È abbastanza facile creare un'app enorme e con prestazioni scarse con Flex se si sbaglia. Rendi tutto guidato dall'evento e apparentemente asincrono e dovresti essere OK ('apparentemente' perché Flash Player è a thread singolo). E questo è il rovescio della medaglia 1: il singolo thread player Flash a volte causa problemi.

Il rovescio della medaglia 2 è forse più serio e questo è bloccato sui desktop negli ambienti aziendali. Molto spesso il tuo pubblico di destinazione non avrà diritti amministrativi sul proprio computer e avrà il flash player sbagliato o nessuno. Ciò è particolarmente vero nelle organizzazioni del settore pubblico e nelle forze armate, quindi se ti stai dirigendo, testerei attentamente la presenza di Flash tra i tuoi utenti.

A parte questo, consiglio vivamente Flex. È anche un'ottima cosa avere nel tuo CV!

HTH

Altri suggerimenti

Flex non ha problemi di scalabilità intrinseca, tuttavia se si dispone di un'applicazione ad alta intensità grafica, la corretta pubblicazione di queste risorse potrebbe essere un problema, ma ciò ha poco a che fare con Flex.

L'unica piattaforma degna di nota e probabile su cui non sarai in grado di correre è l'iPhone (senza flash) e alcuni vecchi dispositivi mobili non flash (anche se la maggior parte supporta Flash-lite al giorno d'oggi)

Per quanto riguarda le alternative, se hai una grafica pesante e non ti preoccupi dell'iPhone, allora Flex è buona se non la migliore soluzione multipiattaforma oltre all'utilizzo di tecnologie HTML pure, il trucco qui è che solo l'HTML può fare il 99% di ciò che Flex puoi farlo, ma se la tua app richiede l'1% mancante, allora sei senza fortuna, anche Flex ridurrà la piattaforma incrociata e la maggior parte dei problemi di compatibilità del browser. Quindi potrebbe rendere il tuo lavoro più produttivo.

Silverlight 2 è un'alternativa da considerare. WPF se stai cercando qualcosa con supporto offline.

  1. Sì, la scala e il tipo di progetto si adatta.
  2. Immaturità di framework e librerie da cui potresti dipendere. Immaturità degli IDE.
  3. Silverlight, JavaFX.

Flex + AIR è probabilmente uno strumento valido come Visual Basic; può essere uno strumento migliore per avere un linguaggio di programmazione molto più flessibile e avere strumenti di sviluppo gratuiti, ma tieni a mente i limiti ....

La principale limitazione che ho visto lavorando con esso è la documentazione. Sembra che non ci sia abbastanza documentazione, documentazione insufficiente e lavoro ad alta visibilità nella comunità. (Questo proviene da anni in .NET; sono stato costantemente turbato da quanto poco dice MSDN sui metodi ma in generale sono in grado di affrontarlo trovando i post di blog più utili.)

Altre possibili piattaforme di sviluppo dipenderebbero fortemente dalle specifiche del progetto. Le piattaforme basate sul Web si impantanano in interazioni profonde e stateful con set di dati (anche con belle librerie AJAX), mentre mantenere installazioni lato client di qualsiasi programma client spesso (diciamo, Flex + AIR) potrebbe essere eccessivo se si tratta solo di alcuni moduli CRUD .

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