Apache Flex mobile app performance tuning articles

Hi all,

i’ve spent a while reading this docs but, it’s worth the price i paid for them: FREEE!!!

If you have flex mobile app performance problems try with this simple tuning information…. you’ll see.

http://flexponential.com/2011/10/05/performance-tuning-mobile-flex-applications/

Apache Flex: Open a PDF? how to show you app in action sheet “Open in…”!

Hi all,

if you want your app to  be showed into the action sheet while you hold an mail attachment (like PDF or DOC or XML or your personal file format)… you have to manipulate the [your app]-app.xml file.

By simply adding the following information in the right section starting  in <iPhone> or  <android> (if you haven’t modified the file yet they should be commented and to make them working delete the comment tags):

<iPhone>
<!– A list of plist key/value pairs to be added to the application Info.plist –>
<InfoAdditions>
            <![CDATA[
                <key>UIDeviceFamily</key>
                <array>
                    <string>1</string>
                    <string>2</string>
                </array>
                <key>UIStatusBarStyle</key>
                <string>UIStatusBarStyleBlackOpaque</string>
                <key>UIRequiresPersistentWiFi</key>
                <string>YES</string>
                <key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>LSItemContentTypes</key>
<array>
<string>com.adobe.pdf</string>
</array>
<key>CFBundleTypeName</key>
<string>PDF</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
</dict>
</array>
            ]]>
        </InfoAdditions>
        <!– A list of plist key/value pairs to be added to the application Entitlements.plist –>
<!– <Entitlements>
            <![CDATA[
                <key>keychain-access-groups</key>
                <array>
                    <string></string>
                    <string></string>
                </array>
            ]]>
        </Entitlements> –>
<!– Display Resolution for the app (either “standard” or “high”). Optional. Default “standard” –>
<!– <requestedDisplayResolution></requestedDisplayResolution> –>
</iPhone>
 

In orange the code to specify the PDF handling, if you want the DOC file type you should change the CFBundleTypeName & LSItemContentTypes with the correct values. You can find the LSItemContentTypes values in the previous article

I0S 6: How to open a pdf (or anything else) with your app

Hi all,

if you’re trying to show your ios app in the action sheet like the pic:

you must modify your info.plist app file by following this informations:

This link teach you how  http://mobiforge.com/developing/story/importing-exporting-documents-ios

and this is how your plist section appears after:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>PDF</string>
        <key>LSHandlerRank</key>
        <string>Alternate</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.adobe.pdf</string>
        </array>
    </dict>
</array>

you can obviously add all the file types you want by looking up in the link i posted in this previous tutorial here.

Bye bye!! Angelo

 

Apache Flex o HTML5? La Flex community vibra di energia!

Ciao a tutti,

ri-eccomi qui con una entusiasmante ricerca (fatta per un mio caro amico) per aiutarci a capire e meglio intuire, come sta il nostro buon vecchio amico Adobe Flex che, dopo anni di crescita indefessa, si è ritrovato lasciato in disparte da Adobe e sopratutto quale sia il suo futuro.

Dopo la conferenza avvenuta in occasione della donazione Adobe ad Apache dei sorgenti Flex (prima parte, seconda parte), dando vita all’incubator per Flex [incubator site], ad oggi si conferma che attorno a questo incubatore c’e’ ancora vita: è stata appena rilasciata la prima release sotto l’incubatore di Apache Flex  4.8.0 (Settembre 2012).

Come viene comunicato durante la conference di Dicembre 2011 la creazione di un incubatore Apache per un progetto non è una banalità, e non si tratta sicuramente solo di questioni puramente informatiche ma, sopratutto, legali ed etiche;

Di fatto è necessario, prima di iniziare a creare un team su un incubatore, verificare che l’acquisizione del sorgente non comporti problemi legali e che sopratutto il software e le aziende che gravitano attorno ad esso rispettino il regolamento e statuto di Apache: tutto questo si traduce in un ritardo della partenza degli sviluppi. Così è stato per tutti i progetti (ormai consolidati) sostenuti da apache, come ad esempio OpenOffice, che è ancora in incubato, ma gode di una community iper-attiva.

In definitiva Roy Fielding, Chief Scientist di Adobe/Apache, dice che un incubatore VIVE solo se la community continua a vivere e si allarga sempre di più: “…. è molto più importante la community che il codice”, dice Roy, : ” …ma la community ha bisogno del codice per sussistere e per porsi nuovi commitments…”.

Per capire quindi se la comunity Flex è viva mi sono iscritto alle mailing list qui (dev, commits e user) di flex incubator in attesa di avere qualche news, beh, dopo alcuni minuti iniziavano già ad arrivare mail del dev team, users, richiesta di assitenz, nuove sezioni flex…etc…etc.. tutto questo 24h ore al giorno dato che nel flex team ci sono collaboratori da tutto il mondo… più di 40 persone che, come ogni sviluppatore di apache, lavorano VOLONTARIAMENTE e PART TIME a flex .

C’e’ addirittura un questionario che aiuterà il team di sviluppatori ad orientare gli sviluppi ed a far crescere la community di apache flex.

THE ADOBE WHITE PAPER

Tutto il progetto Apache Flex è stato aperto basandosi a quanto riportato nel documento Adobe Flex white paper (del 02/2012) (link)  (e per chi non sa come me cosa è un white paper ) dove si leggono i seguenti accordi che Adobe intende seguire:

NB: A fianco pongo VERO/FALSO/NESSUNA NOTIZIA aggiornato con le info ad oggi

1) Flex diventa parte di una community open per garantire vita di questo progetto negli anni che verranno. VERO, il progetto è già in incubazione.

2) Adobe darà al team Apache Flex un team di ingenieri software adobe per contribuire allo sviluppo del codice VERO, sono presenti ingegneri Adobe che ogni giorni scambiano info con il resto del devTeam, sembra che non vogliano mollare il loro flex.

3) E’ attualmente in creazione il nuovo compilatore Falcon (altra donazione di Adobe a Apache) che contribuirà a rendere molto più veloci le compilazioni del codice flex, la prima versione ufficiale dovrebbe uscire nel Q4 2012. VERO, la sezione falcon del dev team sta lavorando sodo.

4) Adobe contribuirà al mantenimento di Mustella un software utilizzato da Adobe per i test dei suo FLEX SDK: VERO.

5) Adobe contribuirà anche in BlazeDS per favorire lo sviluppo in ambiente open. VERO, anche se come abbiamo visto GraniteDS sta aprendo un tavolo di lavoro con Apache Flex dev team.

6) Adobe non contribuirà a AIR for Linux SDK, LCDS, o LCCS per apache. Adobe sta ancora investigando sulla possibilità di contribuire  TLF, BlazeDS.NET, Gravity, FXG, Squiggles, e OSMF. VERO, nella USER mailing list, ci sono utilizzatori di Flex in Linux che chiedono supporto e la community risponde e da supporto!

7) Adobe continuerà a dare supporto e compatibilità per le sue versioni di flex per altri 5 anni, poi sarà compito di apache offrire supporto per le versioni che verranno. VERO PARZIALE,  nel senso che non possiamo prevedere il futuro, per ora Adobe sta dando il supporto.

8) Adobe continua a sviluppare prossime versioni di FLASH PLAYER; Per i browser uscirà con nuove funzionalità (anche in telemetria) e intende sviluppare nuovi tipi dato actionscript3 (per dettagli leggere il white paper): VERO

9) IMPORTANTE RSLs (cosa sono qui), non saranno più “cachate” totalmente da flash player ma lo saranno piuttosto nel dominio del web browser. La versione Apache non avrà le RSL ma gli sviluppatori dicono che non ci saranno problemi (come si legge qui).

10)Adobe continuerà a supportare attivamente FLASH PLAYER applications per desktop browser. VERO.

11) Adobe conferma che NON svilupperà niente di nuovo per il FLASH PLAYER MOBILE. VERO.

12) Adobe conferma che continuerà ad espandere le funzionalità AIR per desktop e mobile. VERO, l’ultima versione AIR 3.4 ha novità riguardanti le notifiche push IOS 6  (flash.notifications) e gestione delle flash.notifications IOS 6. (link AIR white paper).

13) Anche per WINDOWS 8 Adobe garantisce il proseguo delle attività per FLASH PLAYER e AIR. Per avere ulteriori info guardare il white paper qui. VERO

14) Lo sviluppo di Flash Builder continua per assicurare che la versione di Apache Flex possano funzionare sotto FB. Adobe valuterà di poter implementare una interfaccia a Falcon compiler quando Apache Flex farà uscire una prima versione. Con l’obiettivo di supportare al meglio le prossime versioni SDK di Apache Adobe provvederà a togliere dalla distribuzione FB 4.x: Design View, Data centric Dev Tools, Catalyst. VERO PARZIALE, Design view continua ad esserci nella 4.6. Catalyst è utilizzabile ma non vrà più supporto.

15) Nelle prossime versioni di FLASH PROFESSIONAL non ci sono al momento intenzioni di supportare Apache Flex SDK. NO NOTIZIE.

il finale del white paper ve lo lascio scritto in inglese perchè è bello così, fa sperare…:

….”Summary

Adobe believes that Flex is the best solution for enterprise and data-centric application development today and is moving Flex into a community-driven open source project to ensure the continued development and success of Flex for years to come. We are currently in the process of contributing the core Flex SDK, automation libraries, AIR SDK binaries, and documentation to the Apache Flex Project. We will also be contributing Falcon, Falcon JS, Mustella, and BlazeDS.

In addition to these contributions, Adobe is providing a team of full-time Flex SDK engineers who will contribute to and support the Apache Flex Project. These Adobe engineers will work directly with the highly skilled Flex developer community to maintain, support, and evolve the Flex SDK. We remain committed to enabling the success of all existing and new Flex projects…..”

CHE COMMUNITY!!

White paper o non white paper, da quando sono iscritto alle mailing list di Apache Flex, sono già partite nuove ed entusiasmanti iniziative e progressi, come:

Integrazione GraniteDS: (site) Il team di GraniteDS forniva una forma più avanzata di BlazeDS, appunto i GraniteDS) già ai tempi di Adobe, proprio una settimana fa, il CEO di GraniteDS a nome di tutto il team ha proposto al team Apache di poter iniziare il porting di GraniteDS verso Apache Flex. Proprio in questi istanti i due team stanno lavorando a stretto contatto (lo si vede dalle mail che si scambiano in mailing list) per raggiungere questo obiettivo. Per gli smanettoni ho chiesto direttamente al CTO (franck.wolff@graniteds.org) di GraniteDS di dirmi il perchè uno sviluppatore dovrebbe scegliere Granite al posto di Blaze… lui mi ha inviato questo link.

Apache Flex Release Candidate 6: tutti i giorni a tutte le ore si vedono commit software in svn che vanno a ampliare, aggiornare e correggere la nuova versione in arrivo.

– Creazione di nuova IDE o Design View : Questa è una proposta arrivata proprio questa settimana e non vi dico che cosa ha scatenato nel gruppo di sviluppatori, tra entusiasmo e voglia di avere un IDE e UI per Flex,  ciascuno di loro ha iniziato a rispolverare vecchi progetti e, in una vera e propria guerra di sigle, accronimi, e termini ultra nerd, ora sembra che si possa indagare su una possibile strada.

– Falcon 1.0: Anche qui grossi progressi e nuove novità, per terminare questo super compilatore . C’e’ in cantienre anche una versione che si stacchera dal Flash Runtime per andare su javascript: Falcon JS . Tutto, come si dice qui in Spagna, “patarriba” (gambe all’aria)… ma comunque molto lavoro.

Integrazione con Mustella (link): non poteva certo mancare una piattaforma per il testing automatico delle modifiche portate al Flex SDK.

Ma c’e’ ancora qualcuno che utilizza Flex? Certo!

Nonostante il “fermo” momentaneo di Flex, persistono realtà che continuano a produrre software e, oggi, contribuiscono alla community, portando il loro knowhow e suggerendo nuove realizzazioni:

http://altoros.com/adobe_flex_application.html?p=g&gclid=CM2iitWbwrICFc93fAod_W0A8Q

http://www.nuxeo.com/en/products/education

http://code.google.com/p/orsacms/

http://openwms2005.sourceforge.net/index.html

http://www.flex-tutorial.fr

http://www.neotys.com/product/technologies-flex-load-testing.html

http://www.codeoscopic.com/productos/

http://lab.kapit.fr/default/Kalileo/

http://blog.flower-platform.com/blog_index?btng%5Bpost%5D%5Btags%5D=gantt4flex

http://www.fusioncharts.com/extensions/adobe-flex/version-history/

http://lab.kapit.fr/default/kolbert/

http://www.esri.com/software/arcgis/viewer-for-flex

https://www.flextras.com/

http://lab.kapit.fr/media/demo/kolbert/prod/index.html#/Radar+Chart

http://lab.kapit.fr/media/demo/kolbert/prod/index.html#/Ring+Chart

http://lab.kapit.fr/media/demo/kolbert/prod/index.html#/Pictogram+Chart

http://www.flexmonster.com

http://flex.ammap.com

http://www.spicefactory.org/

http://www.flex-component.com

http://www.openwms.org

Ed il resto del mondo? Dove sta andando? 

Purtroppo o per fortuna, se no non saremmo informatici, esistono anche altre realtà oltre a Flex: il mondo dell’HTML5 che sembra si stia mangiando la concorrenza. In questi giorni ho cercato di capire cosa questa parte del mondo IT ha da dire: “Beh, ha da dire molto e lo dice bene! ” … 

Ci sono una miriade di progetti (qui sotto i principali):

http://www.coronalabs.com/products/corona-sdk/

http://haxe.org

http://jquerymobile.com

http://www.springsource.org/features

http://www.lungojs.com

http://dojotoolkit.org

http://www.kendoui.com

http://phonegap.com

http://www.jqmobi.com

http://joapp.com

http://framework.joshfire.com

http://www.sencha.com/products/touch/

http://ripple.tinyhippos.com

http://framework.gregbabula.info

http://html5boilerplate.com

http://gravityframework.com

http://lessframework.com

http://thatcoolguy.github.com/gridless-boilerplate/

http://www.limejs.com

Con HTML5 si possono effettivamente creare app e siti molto appariscenti e con molte caratteristiche professionali e tecnicamente avanzate (Mobile API, advanced graphics works…), sta di fatto che si tratta di un coding non ancora certificato e non terminato e per i quali gli esperti W3C dicono non emetteranno certificazione fino al 2016.

Inoltre per HTML5 si riscontrano problemi sull’accessibilità (Link)

Si tratta di una tecnologia ancora in development anche se alcune sezioni possono essere considerate concluse (canvas).

Lo stesso Mr. Zuckemberg (Facebook) ora sta ritornando sui suoi passi nei riguardi di HTML5, inizialmente super supportato, ed ora snobbato per problemi vari.

in definitiva si tratta comunque di una tecnologia che promette bene ma che, come ogni nuova tecnologia, risente  delle problematiche di gioventù, ma diciamo, che sta ricevendo una ottima educazione… 🙂

Ho provato lungojs.com ma il fatto che si debba scrivere in un editor html, senza hinting, senza assistenza automatica, senza design view…. insomma, è un poco scoraggiante… 😦

Ma una grande come ADOBE che fa?

Beh, rilascia il 24/09/2012 una serie di tool FANTASTICI, per la manipolazione di HTML5, se avete tempo guardatevi questa presentazione su solupedia.

Praticamente senza scrivere codice si possono creare siti HTML5 FANTASTICI e incentrare il lavoro effettivamente su quello che è la parte grafica e la comunication!

Io ho provato EDGE ANIMATION ….e si fanno cose da paura!!

IL TUTTO INCREDIBILMENTE FREEEEEE !!! 

Conclusioni?

C’e’ confusione attorno a HTML5, Flex ed il resto del mondo, altrimenti non staremmo parlando di informatica.

Sta di fatto che se entrate in uno qualsiasi dei progetti HTML5 qui sopra riportati troverete frasi del tipo “Il migliore framework HTML5”, “il #1 nell HTML5”.

In sintesi, chi sta cercando di effettuare una scelta, si trova nelle stesse condizioni di dover scegliere se proseguire con Flex oppure andare in HTML5, in quando tale decisione è effettivamente quasi “di sangue“: una volta che decidi di stare con me….and you’re done!

E’ un po’ come ai tempi nei quali nasceva Flex c’erano già ottimi “avversari”, Ruby on Rails, ASP.NET,PHP, e altri fedeli seguaci del RIA….

Ho scritto a vari “grandi” del settore, sia Adobe e sia responsabili di sviluppi HTML5, e le risposte non sono ne belle ne brutte: tutti stanno scommettendo.

Vi riporto la mail che mi ha scritto Luca Mezzalira (Adobe Community Professional & Abode Evangelist, e scrittore per svariate testate a livello internazionale – site: lucamezzalira.com – ):

“Ciao Angelo,
 
grazie mille per i complimenti, sempre ben accetti.
Ti capisco benissimo perchè io avevo un’azienda incentrata nello sviluppo di soluzioni con Flash Platform 😀
Diciamo che ci son 2 versioni a mio parere da dipingere, entrambe corrette a mio avviso.
 
La prima è da imprenditore, quando lavori con clienti finali e non agenzie, l’utilizzo della tecnologia è abbastanza relativo anche perchè se riesci a fargli capire le potenzialità di una tecnologia e risolvi loro un problema, la tecnologia passa in secondo piano.
 
Da developer invece ti dico che si sta avviando ad una nuova vita per la Flash Platform, molto + orientata a mobile e desktop o embedded systems (touchscreen, installazioni…) piuttosto che su web.
Per fortuna come azienda noi lavoravamo già da tempo con flash “out of browser” perciò ci è cambiato veramente poco, anche se moltissime aziende son passate ad HTML 5, non vuol dire che altre tecnologie moriranno immediatamente, sicuramente il mio consiglio è: iniziate a guardarvi intorno, io mi son orientato per ora su Corona SDK e Haxe, però anche C# potrebbe essere interessante come alternativa visto l’ecosistema che sta nascendo con windows 8.
Poi chiaramente ogni scelta taglia delle strade però purtroppo la vita da developer richiede questo…
 
spero di esser stato abbastanza esaustivo, se hai altre domande sentiti libero di scrivermi quando vuoi.
a presto e buon lavoro”

In definitiva, è necessario prendere una decisione guardandosi dentro, rendendosi conto che niente è per sempre specialmente quando si parla di informatica: un tempo pensavamo che flash fosse irremovibile ed in rete si parla già di morte annunciata….

Qualche esperto dice tutte le tecnologie possono coesistere in quanto una, flex, effettivamente più orientata all’enterprise, e l’altra, più orientata al site building, gaming & presentation app building, ma si sa, ognuno di noi ha una propria interpretazione dei messaggi che gli arrivano.

Io personalmente credo che se qualcuno riconoscesse in un linguaggio di programmazione una corretta rappresentazione di quello che intendesse realizzare e di come lo intende realizzare – parlo di architettura, di interconnessione fra i vari layer  e di similitudine con il proprio ordine mentale –  e che pensa che con un tale approccio la qualità del lavoro creato possa essere impeccabile, beh, che scelga quel linguaggio.
Certo non è facile fare una scelta del genere ma si sà: cosa è la vita se non ci si mette un po’ in gioco?
Quindi cari miei lettori se speravate di trovare una soluzione all’enigma, credo di non potervela dare, ma vi do il mio parere: Flex per enterprise works  sia desktop che mobile e  HTML5 per siti e presentation sia desktop che mobile!!
Un abbraccio, Angelo

LINK UTILI E INFO

SITI DOVE REPERIRE LE ULTIME INFO SU APACHE FLEX

http://www.spoon.as (http://www.spoon.as/2012/apache-flex-community-revue-september-2012/)

https://cwiki.apache.org/confluence/display/FLEX/Apache+Flex+(incubating)+Wiki

INSTALLAZIONE ULTIMA VERSIONE APACHE FLEX

http://lucamezzalira.com/about/ manuale installazione prima release flex apache da parte di uno specialista flex al quale ho scritto per capire il futuro di flex:

GESTIONE NOTIFICHE PUSH

http://urbanairship.com

http://www.adobe.com/devnet/air/native-extensions-for-air/extensions/notification.html

Experience using Google App Engine, Spring MVC and Flex

I had a look at Google App engine and some of the new features in Spring 3 (MVC).

I decided to create a platform for city ratings and –rankings. I polished the whole thing a bit in the hope to attract some visitors. I wonder if I can get some peaks in traffic to see how this service will perform in GAE under load outside of a stress test.

To see what I’m talking abput, a first version is up and running at CityClash.org. To read about my experience with Google App Engine read on after the screenshot….see more on http://www.hulstkamp.com/2011/04/12/experience-with-google-app-engine-spring-mvc-and-flex/613

 

Free Up Inactive Memory in Mac OS X with Purge Command

Mac OS X has fairly good memory management but it’s not perfect, and sometimes RAM can be held unnecessarily in the “inactive” state despite the contents no longer being needed. If you’ve been participating in memory heavy activities or you just need to free up some available RAM you can actually force Mac OS X to clear out inactive memory.

but, if you really want to free up your inactive memory try the terminal command: purge.

1.Open a terminal session on you mac

2.type the command “purge” and press enter….

a few seconds later  your free RAM will be cleaned!