mar 24

Ultimamente nel web, grazie al recente rilascio di Safari 3.1 ed al prossimo di Firefox 3, si è sentito dibattere molto su quale fosse il browser migliore (per velocità ed aderenza agli standard)… dibattiti portati avanti a colpi di benchmark! 

Chi sono io per non fare i miei bravi test? In fin dei conti “lo fan tutti”! Quindi eccomi qua con gli esiti dei miei test fatti utilizzando Safari 3.1, Firefox 2.0.0.12, Firefox 3 beta 4 e Opera 9.26 su un iMac 24” Aluminium con CPU Intel C2D Extreme 2.8 Ghz e 2 GB di RAM e Mac OSX 10.5.2.  

Il primo test è il SunSpider benchmark i cui risultati sono (minore è il tempo maggiori sono le performance):

I risultati dell’Acid Test 3 sono (maggiore è la percentuale maggiore è l’aderenza agli standard):
I risultati del Benchmark - W3C DOM vs. innerHTML sono (minori sono i tempi maggiori sono le performance):
I risultati del rendering di scragz.org sono (minore è il tempo e maggiore è la performance):
Dai grafici risulta evidente che il miglior browser al momento disponibile dal punto della velocità e dell’aderenza agli standard per Mac OS X sia Safari 3.1 seguito a ruota da Firefox 3 (che però essendo ancora in beta ha la possibilità di migliorare ed eventualmente sorpassare safari). A sorpresa, a fondo classifica, troviamo invece Opera 9.26 che ha perso in tutti i test effettuati, a volte anche di parecchie lunghezze!

A questa sfida ne seguiranno un’altra su Linux ed un’altra su Windows XP… quindi restate “sintonizzati”!

nov 15

shapeimage_2Dopo l’articolo “12 giorni con Leopard”, che descriveva la mia user-experience con il nuovo felino di Apple, ho deciso di scrivere questo per parlare della mia developer-experience. 

Con Leopard si sono rinnovati XCode (che giunge alla versione 3.0) ed Interface Builder, in particolare quest’ultimo ha subito migliorie radicali che lo rendono finalmente un’ottimo software di sviluppo per OS X (prima, per quanto fosse utile, aveva qualche grossa mancanza come l’impossibilità di inserire NSToolBar con un semplice drag & drop), e sono arrivati anche nuove utilities come Instruments che permette di passare ai “Raggi X” la propria esecuzione monitorandone praticamente ogni aspetto… dell’utilizzo delle risorse al singolo accesso a dati tramite Core Data.

Interface Builder, tra le varie, ha ampliato tantissimo l’elenco di oggetti che è possibile utilizzare (giò per i bottoni è possibile scegliere almeno tra 5 o 6 modelli differenti), è ora inoltre possibile creare finestre HUD (quelle nere semitrasparenti) semplicemente selezionandole dal menu e la ToolBar può essere aggiunta alle finestre e modificata semplicemente trascinandole dal menu laterale fin sulla finestra. Le modifiche sono anche altre ma non è mia intenzione fare una lista una per una di tutte le sue nuove feature (tra l’altro c’è anche il nuovo pannello per le impostazioni Core Animation). In assoluto è migliorato molto dal punto di vista sia dell’immediatezza che della completezza!

XCode ha avuto “improvement” minori (anche perché era già buono com’era) ma qualcuno c’è stato… ad esempio adesso spostando il mouse su aree di codice racchiuse da parentesi queste vengono evidenziate rispetto al resto del sorgente.

Parlando invece delle tecnologie messe a disposizione per lo sviluppatore le novità che ci sono state sono notevoli… tanto per cominciare è stato introdotto Objective-C 2.0 con Garbage Collector! Per chi non lo sapesse il Garbage Collector (che è abilitabile opzionalmente sulle proprie applicazioni… quindi non è bbligatorio usarlo) è un sistema che si occupa di gestire la memoria dell’applicazione al posto del programmatore: Garbage Collector (tecnologia che tra l’altro è già utilizzata in Java) viene avviato come un thread secondario dell’applicazione e si occupa di deallocare gli oggetti non più utilizzati liberando così memoria (capitava spesso di trovare applicazioni che di per se non avrebbero dovuto avere grosse richieste di memoria occupare megabyte su megabyte inutilmente a causa di una cattiva gestione).

Non è stato solo il linguaggio ad essere aggiornato… ma anche la libreria… tanto per dirne una adesso per chi volesse cambiare l’icona dell’applicazione nel dock, o volesse aggiungervi una badge, invece che “perdere” tempo prezioso a scriversi classi apposite può limitarsi a scrivere il seguente codice usando la classe NSDockTile:

NSDockTile *dock = [NSApp dockTile];
[dock setBadgeLabel: @"Quello che vuoi"];
[dock display];

Le novità sono ancora moltissime e per avere una panoramica più completa vi invito a visitare http://developer.apple.com

Mi scuso con i miei lettori per l’essenzialità del post ma purtroppo l’imminenza delle prime sessioni d’esami (prove in itinere) mi tengono molto occupato!