Articoli con Tag ‘Sviluppo’
Ajax, per qualcuno, è stata una rivoluzione. Per alcuni programmatori “navigati” è stato solo un modo diverso di fare quello che prima si realizzava sfruttando il TAG HTML IFRAME (o i FRAME stessi nascosti). Evidentemente hanno tutti ragione. Ajax è stata una rivoluzione perchè è capitato in un momento particolare, dove la diffusione della banda-larga e la maturità del Web (web 2.0?) hanno permesso un approccio completamente diverso rispetto al passato.
La proliferazione delle Web Applications da parte di grandi gruppi come Microsoft, Yahoo, Google ed altri, dimostra quanto si stia investendo in questo nuovo approccio. Il futuro – prossimo venturo – di Ajax è quindi luminoso, denso di novità e colpi di scena.
I browser e gli scripting server (come PHP) potranno dare ausilio a questo nuovo modo di vedere il Web e le sue risorse! Applick.com ne è una dimostrazione lampante!
Continua...
A Redmond devono avere qualche grosso problema di comprendonio! Risulta magnificamente assurdo che sul finire dell’anno 2006 ancora non ci siano le basi per una – anche – approssimata compatibilità tra IE7 e Firefox! Nonostante il rilascio ufficiale – anche se con un set limitato di localizzazioni – di Internet Explorer 7, l’engine di rendering delle pagine soffre ancora di evidenti difetti di programmazione! Senza infierire entrando in numerosi dettagli elenco solo due clamorosi bachi ancora presenti in questo rilascio ufficiale!!
Prima di tutto i PNG vengono resi differentemente dai GIF… e, peggio ancora, in position absolute subiscono strani contorni a seconda di come gira a IE!! Evidente baco? O follia di qualche junior-developer?
Sul fronte CSS la pseudo classe :hover continua a non essere supportata su tutti i TAG, nonostante molti blog la diano per funzionante! Ma su quale sistema? Vedi W3C…
Un semplice p:last-child è praticamente ignorato! Giustamente Microsoft ha supportato p:first-child. Ora, se implementi il first che cosa ti costa implementare anche last? Mistero…
L’apice dell’assurdo, poi, lo si ottiene con le liste puntate! Udite udite! IE7 si comporta esattamente come IE6! Della serie: vi siete portati appresso codice fallato? Troppi copia e incolla evidentemente! Se definitie una lista con i canonici UL LI e un’immagine personalizzata come list-point, non provate ad usare un float sull’elemento LI, l’immagine scomparirà misteriosamente, esattamente come accadeva su IE6!! L’unico, manco a dirlo, a rendere il tutto corretto è il solito – vecchio – FireFox!
Sul blog di IE7 sono numerose le lamentale. Nonostante sia apprezzato lo sforzo del pachiderma Microsoft di aprire un blog durante lo sviluppo di un software come IE7, rimane tuttavia il dubbio dell’efficacia di questa mossa. Hanno davvero ascoltato le richieste degli utenti-sviluppatori? Il blog di IE7 è stato aperto con troppo ritardo?
Ancora una volta non ci resta che attendere una service-pack prossima ventura…
Continua...
Dopo aver acquisito Macromedia, Adobe crea i suoi Labs, laboratori di sviluppo! Sulla scia del successo ottenuto da Microsoft con il suo Blog su Internet Explorer 7 – che gli ha (e ci ha) risparmiato un bel po di services pack – anche Adobe adotta la tecnica della beta version. In effetti, ed era ora, invece di attendere gli ormai lunghissimi tempi di sviluppo di un software (sia esso tradizione, sia una Web Application) perchè non proporre agli utente la versione ancora in sviluppo? In questo modo si ha un feedback in tempo reale sulle effettive qualità del software che si sta sviluppando.
Tuttavia, per onestà, le software haouse dovrebbero abbassare un po’ i prezzi dei loro software, visto che il beta testing – che si paga o si pagava – lo facciamo noi utenti!!
Con Adobe Soundbooth beta si va a sovrascrivere il noto SoundEdit. Adobe Photoshop Lightroom è un nuovo prodotto rivolto ai fotografi professionisti, con tanto di demo video online. Flash 9 con ActioneScript 3 compare anch’esso in versione alpha da scaricare! Nonostante sia indicato preview! Per il mobile troviamo Flash Lite 2.1 Authoring Update, che tuttavia sembra un rilascio definitivo più che un’anticipazione. A parte questa piccola miscellanea di beta, alfa e upgrade credo che l’iniziativa sia buona, se non ottima.
Insomma per i curiosi che vogliono anticipare i tempi e non vedono l’ora di assaporare una nuova versione di un software, Adobe Labs è un luogo di sicuro divertimento! Sottolineo nuovamente la tendenza a far partecipare gli utenti finali alle fasi di sviluppo, tendenza che deve la sua diffusione alla Web 2.0 generation. Molto probabilmente sarà una modalità che nel prossimo futuro si diffonderà a macchia d’olio ovunque è possibile. Si potrebbe provare un’appartamente o un’autombile prima che venga rilasciata, ad esempio…
Continua...
La versione 7 del browser Microsoft è stata (finalemente) rilasciata in lingua inglese (quasi contemporaneamente è stata rilasciata la release 2 di FireFox). A breve – tramite il servizio di aggiornamenti automatici di Windows – sarà installata su milioni di macchine, come patch del sistema. Qualcuno ha già criticato questa mossa di Microsoft gridando all’ennesimo comportamento scorretto. Agli sviluppatori Web, tuttavia, interessa più sapere che fine farà Internet Explorer 6 (IE6) e come dovranno comportarso nello sviluppo di siti Web.
Il rilascio tramite Windows Update è previsto per l’inizio di novembre! Ne deriva che nel giro di una settimana IE6 sarà bello che sepolto. Gli sviluppatori Web dovranno ovviamente aggiornare il proprio PC, ritrovandosi quindi sprovvisti di una versione 6 su cui effettuare le canoniche prove di compatibilità.
Risulta infatti evidente che chi – come noi – è maniaco degli aggiornamenti e deve assolutamente possedere l’ultima release di un software, si trova tra l’incudine e il martello. Inoltre – come è ovvio – IE6 è morto! Ed era anche ora! Un browser candidato ad essere sicuro – se mai ce ne sarà uno – nel prossimo futuro (prossimi giorni) è sicuramente IE7, visto che sarà quest’ultimo a subire patch (service pack) di sicurezza.
Da sviluppatori comprendiamo che IE6 è ormai abbandonato! Inoltre Microsoft ha esplicitamente consigliato di passare urgentemente alla versione 7, se ci fosse bisogno di ribadirlo. Gli sviluppatori Web dovranno dotarsi di una macchina con IE6 per eseguire i test? Evitando di aggiornarla? Subendo così possibili attacchi da tutte le parti o evitando di andare in rete?
La soluzione più ovvia – e vantaggiosa per Microsoft – è che sviluppatori ed end user passino immediatamente a IE7, che lo vogliano o no!
Continua...
C’è un motivo molto importante per preferire l’inserimento dei contenuti via PHP – lato server – in una pagina Web rispetto all’uso di Javascript – lato client. Nello sviluppo degli strumenti di outing services del CMS getmePage utilizzato su applick.com era possibile sfruttare Ajax come engine di recupero HTTP dei dati server. Il problema, in questo caso, era che si aveva a che fare con i contenuti di un sito, contenuti che vengono indicizzati dai crawler di ricerca come googlebot! I crawler non eseguono Javascript, rendendo così vuota una pagina agli occhi di googlebot. Oggi sono i contenuti a fare la differenza nelle indicizzazioni nei motori di ricerca, quindi bisogna fare attenzione a come vengono generati i contenuti in una pagina. Quello che vede l’enduser non è quello che vede un tool come googlebot. Questo è uno dei motivi che hanno determinato la scelta di PHP nell’engine di recupero dati dell’applick getmePage. PHP, infatti, viene eseguito dal Web Server prima di inviare la pagina al client. Ne deriva, così, che quello che vede un crawler è quello che vede l’enduser.
Continua...
Come già affrontato su “Javascript vs PHP” (o altro: ASP, CFM, …), la questione di inserire o meno un kernel Web2.0 negli script Javascript, invece di lasciarlo – in maggiornaza – lato server, può creare confusione se non sconcerto. Tuttavia ci sono degli ottimi motivi per favorire il server rispetto al client, motivi che non hanno niente a che fare con il Web2.0 che, al contrario, punta i riflettori proprio sugli script Javascript.
Continua...
Per chi sviluppa moduli e FORM di contatti, esiste la necessità di verificare l’immisione di un indirizzo di posta elettronica. Oggi più che mai, con demoni pronti ad eseguire SPAM ovunque, è bene tutelarsi da “furbetti” pronti a sfruttare i moduli HTML per inviare mail illegali o eseguire hack per SPAM e quant’altro.
Continua...
Ecco alcuni brevi consigli su come usare class e id nei fogli di stile. Tenete subito in considerazione che l’uso di tecniche Javascript avanzate, come lo stesso uso di motori Ajax, può entrare in conflitto con i consigli esposti qui! E vedremo alla fine il perchè.
Continua...
A causa forse delle incompatibilità stilistiche e di output – ancora presenti – tra i vari browser, non tutti conoscono le innumerevoli potenzialità dei fogli di stile. Vogliamo mostrare, quindi, alcune caratteristiche della sintassi CSS sconosciute ai più e per ricordarci quanto poco – spesso – sfruttiamo a pieno gli strumenti che abbiamo a disposizione.
Nota: tutti gli esempio sono stati provati su Firefox 1.5.0.5
Selezione per attributi
1 2 3 4 5
| <div id="myInput">
<input type="submit" value="invia" />
<input type="button" value="Pulisci" />
<input type="button" value="Annulla" />
</div> |
1 2 3
| div#myInput input[type=submit] {color:#f00}
div#myInput input[type=button] {color:#0f0}
div#myInput input[value=Annulla] {color:#00f} |
Questa caratteristica, spesso indicata cone CSS2 avanzata, permette cose strabiglianti, se ci riflettiamo un attimo. Il maggior vantaggio lo si ottinene lato HTML, dove non sono necessarie classi o id per distinguere i TAG nel CSS. Sono proprio gli attributi – comunque presenti – nel TAG ad indicare quale stile associare. Inoltre qualsiasi attributo del TAG può essere preso come selettore: alt, title, accesskey, ecc…
Selezione per profondità
Questo tipo di selezione è a dir poco spettacolare, se considerate che può essere sommata a quella precedente. Essa permette di definire la gerarchia degli elementi. Guardando l’esempio qui sotto ci si rendo subito conto della straordinaria portata di questo tipo di selezione, che mantiene il codice HTML pulito e senza indicatori superflui.
1 2 3 4 5 6 7
| <div id="myBox">
<p>Paragrafo 1 </p>
<p>Paragrafo 2 </p>
<p>Paragrafo 3 </p>
<p>Paragrafo 4 </p>
<p>Paragrafo 5 </p>
</div> |
1 2 3
| div#myBox > p {color:#f00}
div#myBox > p + p {color:#0f0}
div#myBox > p:last-child {color:#00f} |
Addirittura, giusto per concludere questo sorvolo, oltre a last-child esiste first-child e – fantastico – first-letter! Provate voi.
Abbiamo ovviamente appena sfiorato l’argomento, alquanto vasto a dire il vero, che vede i CSS come strumento evoluto per la definizione del layput di pagine. Esistono altri selettori e comportamenti e grandi novità per le specifiche dei file CSS di futura generazione.
Continua...
Lo sviluppo di web application con tecnologie di tipo Ajax ha messo in luce tutte le limitazione del protocollo di connessione Internet HTTP. Presto o trardi qualsiasi programmatore si scontra con l’esigenza – ad esempio – di avere una connessione permanete con il client. L’invio verso i client di un broadcast message è tutt’oggi impossibile senza ricorrere a qualche rischioso artifizio!
Nello scenario Internet, tuttavia, l’uso di componenti speciali come ActiveX Object, Flash o Java Applet, permettono di aggirare ottimamente il problema. Spesso, infatti, ci si chiede se l’oggetto HTTPRequest (mattone base per esperienze Ajax) non sia sostituibile da un componente ActiveX o utilizzando un filmato Flash casomai invisibile!
Questa è una delle questioni più struggenti nell’ambito dello sviluppo di web application di nuova generazione. A dimostrarlo, infatti, ci sono tutta una serie di “beta” web application che utilizzano tecnologie miste per risolvere le varie problematiche che si presentano – e che l’HTTPRequest non è in grado di svolgere. Lo stesso FlickR, uno dei photo-blog di maggior successo, ricorre all’uso di filmati Flash in alcune sezioni del sito. Ci sono poi realtà ancora più articolate dove sono presenti Applet Java o controlli ActiveX per arrivare li dove nessuno – Ajax – era mai giunto prima!
Quello che andrebbe fatto, a breve termine, è un nuovo standard per l’HTTPRequest, chiamandolo addirittura in un altro modo. Riuscire ad ottenere un oggetto, presente in tutti i browser, capace di realizzare connessioni permaneti e in grado di manipolare più protocolli. Tuttavia ciò sarebbe una fantasticheria per gli sviluppatori ma, ragionandoci bene, potrebbe portare alla morte di Internet come la conosciamo.
Quando l’HTTP fu ideato la rete globale come la conosciamo oggi aveva velocità e utenti ben differenti. I punti importanti dell’HTTP sono:
- Connessione al Web Server
- Richiesta di un file
- Disconnessione
L’HTTP nasce proprio con l’idea di base di non gravare sulla trasmissione via rete; minimo supporto di handshake! Ancora oggi quando il browser richiede una pagina ad un Web Server, svolge proprio i tre passi indicati sopra. E’ importante notare come Google abbia sviluppato un software come Google Earth per poter superare gli ostacoli di connessione e altre cosine. Internet è pronta a sopportare connessioni permaneti? Noi pensiamo che sia prematuro. La maggior parte degli hosting crollerebbe in pochi secondi. Banda e CPU dovrebbero essere ben più capaci per sopportare la mole di traffico che si produce oggigiorno.
Le realtà che supportano connessioni permaneti sono ben circoscritte e fanno sempre uso di componenti e tecnologie specifiche e sofisticate.
Continua...
Ultimi Commenti
Giovambattista Fazioli: @Nik: Sono contento! In bocca al lupo dunque!!
Nik: Lunedì ho l’esame di informatica su java, grazie mi sei stato utilissimo, il libro che ho era poco chiaro...
Marco: Ti ringrazio moltissimo, mi hai illuminato
ho risolto impostando [cc_objc] //OptionViewController.m -...
Giovambattista Fazioli: @Marco: Ti consiglio un approccio credo più corretto. Se hai eseguito il subclass del tab...
luigi: molto chiaro e semplice devo ammettere che anche scrivendo da un pà difficilmente uso delegati creati da...