Tunneling e proxy server per Ajax e non solo

Lunedì 10 Dicembre, 2007

A causa della sua capacità di comunicare con il server, l’oggetto XmlHttpRequest (XHR), usato nella tecnologia Ajax (acronimo di Asynchronous JavaScript and XML, la cui pronuncia dovrebbe essere “egiacs” anche se noi italiani preferiamo “aiacs”), ha un blocco di protezione che gli impedisce di eseguire richieste esterne al dominio in cui opera. Questa protezione è necessaria per impedire Injection Javascript (tecniche di “iniezione” di codice estremamente pericoloso con lo scopo di violare il sistema) di svariato tipo, con l’obiettivo ultimo di “irrompere” nel sistema.
Questo limite è oggi tenuto in seria considerazione e si sta pensando, in qualche modo, di risolverlo - direttamente nell’oggetto XmlHttpRequest - senza pregiudicare la sicurezza (vedi anche: Third proposal for cross-site extensions to XMLHttpRequest ).

Comunque sia la situazione oggi è la seguente:

XHR 

Continua a leggere… »

Aptana IDE update: milestone 9

Giovedì 30 Agosto, 2007

È disponibile l’aggiornamento ad Aptana IDE, l’ambiente di sviluppo Web che supporta Adobe AIR e Apple iPhone. Tra le novità segnaliamo il miglioramento della sezione PHP con l’aggiornamento del Code Assist sia sulle funzioni che sui parametri. Migliorata anche la "colorazione" del codice. Aggiunto il supporto per gli ultimi framework Ajax tra cui Prototype.js e jQuery. Migliorata anche la gestione di Javascript.

image

Per la lista complete delle nuove funzionalità clicca qui.

Unobtrusive Flash Objects

Martedì 10 Aprile, 2007

L'inserimento di oggetti (in particolare Flash Objects) all'interno delle pagine Web è diventato ultimamente un'attività spesso stressante. In altri Post abbiamo già affrontato l'argomento di come rilevare Flash ed inserirlo nelle pagine in modo appropriato. Dato che abbiamo parlato di tecniche Unobtrusive, vi segnalo due noti script in grado di rilevare (ed eventualmente installare) ed inserire oggetti Flash in una pagina, in modo assai afficiente e poco intrusivo: SWFObject e UFO.
Entrambi gli script offrono in sostanza le stesse caratteristiche e un funzionamento identico. L'approccio è quello che sostituire tramite Javascript un determinato TAG con il contenuto Flash. Come sappiamo questo procedimento elimina il problema dell'attivazione dell'oggetto Flash imposto da Internet Explorer, tuttavia implica che Javascript sia attivato sul target-browser.
Entrambi gli script non fanno uso di librerie esterne, come Prototype.js ad esempio. La differenza più importante tra i due è che SWFObject va chiamato quando il TAG da sostituire è già stato caricato nella pagina, modalità non propriamente Unobtrusive. Ecco uno stralcio di codice che mostra la sequenza di chiamata:

HTML:
  1. <div id="flashcontent">
  2. <strong>You need to upgrade your Flash Player</strong>
  3. This is replaced by the Flash content.
  4. Place your alternate content here and users without the Flash plugin or with
  5. Javascript turned off will see this. Content here allows you to leave out <code>noscript</code>
  6. tags. Include a link to <a href="swfobject.html?detectflash=false">bypass the detection</a> if you wish.
  7. </div>
  8. <script type="text/javascript">
  9. // <![CDATA[
  10. var so = new SWFObject("so_tester.swf", "sotester", "300", "300", "9", "#FF6600");
  11. so.addVariable("flashVarText", "this is passed in via FlashVars for example only"); // this line is optional, but this example uses the variable and displays this text inside the flash movie
  12. so.write("flashcontent");
  13. // ]]>
  14. </script>

UFO, invece, permette un'approccio decisamente più in linea con i classici script Unobtrusive. La sostituzione del TAG avviene in modalità trasparente, senza abbligare sequenze di caricamento, come mostrato nell'esempio qui sotto:

HTML:
  1. <title>Unobtrusive Flash Objects (UFO) | Sample page</title>
  2. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  3. <script type="text/javascript" src="ufo.js"></script>
  4. <script type="text/javascript">
  5. var FO = { movie:"test8.swf", width:"300", height:"120", majorversion:"12", build:"0", xi:"true" };
  6. UFO.create(FO, "ufoDemo");
  7. </script>
  8. </head>
  9. <div id="ufoDemo">
  10. <p>Replacement content</p>
  11. <p><a href="http://www.macromedia.com/go/getflashplayer"><img src="http://www.macromedia.com/images/shared/download_buttons/get_flash_player.gif" alt="Get macromedia Flash Player" style="border: none;" /></a></p>
  12. </div>
  13. </body>

Nel codice sorgente dello script di UFO, infatti, si nota immediatamente l'uso - più appropriato - di un evento che attente il caricamento completo della pagina prima di eseguire la sostituizione; approccio quindi estremamente più consono a script non intrusivi.

Adobe Apollo Alpha Release

Lunedì 19 Marzo, 2007

Finalmente Adobe ha rilasciato la versione Alpha di Apollo. Siamo ancora lontani dalla versione finale, tuttavia è possibile verificare alcune delle sue funzionalità grazie ai Demo delle applicazioni (file .air) proposte online. L'installazione (Apollo runtime) di questa Alpha pesa circa 6Mb - per Windows. I Demo (Apollo sample applications) non arrivano a pesare nemmeno 600Kb. Dopo aver installato il runtime di Apollo nulla sembrerà cambiato sul vostro PC (non viene aggiunto nessun link sul desktop o sulla barra delle applicazioni), nonostante abbiate installato - di fatto - il nuovo browser di Adobe! Vedi Web2.0: Adobe ci prova con Apollo? 

Continua a leggere... »

Xopus: editor XML in WYSIWYG

Martedì 13 Marzo, 2007

Xopus è un editor XML (HTML) in WYSIWYG mode funzionante all'interno del browser. L'avevo già notato qualche tempo fa, grazie ad un articolo uscito su Ajaxian. Ne parlo ora in quanto rimane un'interessante proposta nel panorama web2.0/editor. È un'esperienza interessante! Xopus è sviluppato davvero bene (con supporto italiano), con un'ottima implementazione del menu contestuale, anche se ancora non pienamente cross-browser; alla attuale release 3.1 è supportato solo Microsoft Internet Explorer (versione 6 e 7) tuttavia gli sviluppatori hanno promesso quanto prima una versione compatibile almeno con Firefox (il 1 febbraio è stata rilasciata in alpha la versione 3.1.1 compatibile in Firefox 2.0+).

Come già discusso altrove, la questione della compatibilità (il cross browser) attraverso i browser, rallenta e penalizza lo sviluppo di strumenti che, anche non ricorrendo a tecnologie particolari come Applet Java o Adobe Flash, potrebbero portare un notevole contributo alla Comunità! Conttibuto impedito - alla fine - dalle inutili lotte interne degli attuali produttori di browser: IE, Firefox, Opera, Mozilla, Safari, ... !

Visionando i demo si intravede anche qualcosa in più del semplice editor HTML, per dirla in parola povere. Xopus propone infatti sia la struttura classica dell'editor, sia funzioni avanzate sullo stile di Microsoft Word. È possibile, infatti, inserire all'interno della pagina veri e propri oggetti intelligenti che rispondono a determinate caratteristiche, rendendo Xopus un caso particolare.

Come indicato sul sito:

Xopus is a good solution for any business that has a back-end content management system and a front-end publishing-system and therefore two systems which use the same information. To structure that information, to make both ends meet, is therefore a must.

Poete guardate il video dimostrativo che introduce le avanzate caratteristiche di editing. Inoltre potete provare direttamente una demo.

Web2.0: Gran Paradiso-Firefox 3.0 e Apollo

Lunedì 12 Marzo, 2007

È disponibile online la versione Alpha 2 di Firefox 3.0, nome in codice Gran Paradiso. Tra le novità annunciate (la versione definitiva è attesa per fine 2007) troviamo la possibilità di utilizzare il browser in modalità off-line. Tutto questo ricorda Adobe Apollo che, nonostante non si presenti come browser, ne evoca i tratti essenziali.

Continua a leggere... »