Blog | All

23/04/13

Drupal vs Joomla vs WordPress

cms-logos

Con questo post cercherò di analizzare i punti di forza e di debolezza di alcuni dei CMS più diffusi come Drupal, Joomla/Mambo e WordPress.

Drupal
Vantaggi

  • codice molto pulito
  • buon controllo del progetto da parte di Aquia
  • ottimi sviluppatori
  • è strutturato in modo che sia quasi impossibile programmarlo male
  • è piuttosto scalabile e quindi efficiente lato server

Svantaggi

  • meno plugin già pronti che in altri CMS (relativamente)
  • interfaccia di default piuttosto vasta
  • pochi sviluppatori
  • sviluppatori più costosi

Joomla/Mambo
Vantaggi

  • buon sistema di menu
  • struttura fortemente statica delle pagine
  • offre nativamente il supporto per membri e community
  • è da molto tempo sul mercato

Svantaggi

  • performace piuttosto scadenti
  • url predefiniti orribili
  • debole sezione weblog
  • è difficile applicare temi (tutti i siti fatti con Joomla/Mambo tendono ad assomigliarsi tra loro)
  • caratteritiche SEO poco curate
  • pessimo codice, difficile da riparare
  • comunità divisa (dopo la separazione tra Joomla e Mambo nel 2006)
  • molti dei plugin migliori sono a pagamento
  • sviluppatori piuttosto mediocri

WordPress
Vantaggi

  • enorme comunità
  • le performanche possono essere ottimizzate facilmente grazie ad appositi plugin
  • è molto facile applicare dei temi personalizzati
  • ottima architettura a plugin
  • ci sono plugin di ogni tipo
  • molti sviluppatori professionali
  • ciclo di sviluppo veloce, ci sono cambiamenti ogni anno
  • leadership attiva e buona gestione del team grazie a Mark Jaquith

Svantaggi

  • codice non all’altezza di Drupal, ma migliore di Joomla e in costante miglioramento
  • molti sviluppatori improvvisati
  • molti plugin popolari con performanche piuttosto scadenti
  • diversi temi commerciali scadenti che possono anche compromettere le performanche del sito
  • debole gestione delle pagine statiche, che però può essere compensata dai plugin
  • ciclo di aggiornamenti molto rapido, occorre prestare attenzione in caso di aggiornamenti

Quindi Drupal risulta essere la piattaforma ideale per progetti ampi e strutturati, per la sua stabilità, ottimizzabilità e programmbilità. Le funzionalità base possono essere estese praticamente senza limiti grazie ai moduli. I costi di gestione possono essere superiori, ma questo di solito non è un problema per le grandi aziende. WordPress si adatta bene alle realtà piccole e medie (o anche grandi) e ad una grande varietà di progetti (weblog, corporate site, ecommerce ecc ecc) per la sua facilità d’uso e la ricca dotazione di plugin. In genere invece la principale ragione per utilizzare Joomla/Mambo risulta la semplicità o l’esistenza di progetti legacy difficili da migrare verso altre piattaforme.

Leggi anche gli articoli originali: 1 e 2

14/04/13

Tutto su Java 8

Una carrellata di tutte le novità attese in Java 8. E sono davvero tante!

  • Miglioramento nelle interacce
  • Interfacce funzionali
  • Espressioni Lambda
  • Miglioramento nei tipi generici
  • Aggiunte alla Collections API
  • Aggiunte alla Concurrency API
  • Aggiunte alle IO/NIO API
  • Cambiamenti a Reflection ed Annotation
  • Nashorn JavaScript Engine
  • Miglioramenti delle performance

Leggi anche l’articolo originale.

05/03/13

PhoneSat: i mini satelliti Android della NASA

PhoneSat2Un budget di 3500$ e un vecchio smartphone, più del semplice materiale del commercio: così nasce il progetto PhoneSat prodotto da un team di ingegneri del NASA’s Ames Research Center. Lo scopo è quello di produrre un sistema di controllo per satelliti a basso costo, il cui componente principale è appunto uno smartphone usato con cpu da 1Ghz, un processore più potente di quelli utilizzati in molti progetti spaziali precedenti.

Ne sono state prodotte due versioni, PhoneSat 1.0 e PhoneSat 2.0, entrambi di forma cubica di soli 10cm per lato e con budget molto ridotti, soprattutto se riferiti al campo aero-spaziale!

PhoneSat 1.0 è equipaggiato con uno smartphone Google Nexus One, al quale sono state disabilitate tutte le funzionalità telefoniche (in pratica è stato settato in “airplane mode”), mentre il PhoneSat 2.0 usa un Samsung Nexus S, dotato di giroscopio e GPS.

I primi esperimenti, che sono partiti nel 2010, hanno avuto discreto successo sia in ambiente simulato, sia in ambiente aperto (salvo la rottura iniziale di uno smartphone) con la permanenza di 10-14 giorni nell’atmosfera, prima del rientro sulla terra. Grazie al budget ridotto e ai materiali costruttivi facilmente reperibili, il team ritiene di poter effettuare numerosi test in breve tempo prima di ottenere la piattaforma completa.
Il prossimo lancio è atteso per l’estate del 2013…

Leggi anche l’articolo originale.

27/02/13

Lo smartphone può trasformarsi in un pc

android-phonePC, smartphone o… entrambi? Ora è possibile, dal momento che gli smartphone spesso sono dotati di cpu con 2 o più core e di ram in abbondanza.  Ubuntu for Android consente a questi smartphone di “fascia alta” di trasformarsi in un pc a tutti gli effetti, equipaggiati del sistema operativo Ubuntu, la più celebre tra le distro Linux e tra i sistemi operativi free ed open-source.

Una volta che lo smartphone viene inserito nell’apposito dock e quindi collegato a monitor, tastiera e mouse il gioco è fatto. E poichè sia Android, sia Ubuntu condividono lo stesso kernel Linux le funzionalità di telefono e desktop pc risultano disponibili nello stesso momento e, naturalmente, non è necessario nessun software di sincronizzazione dati dal momento che la memoria di archiviazione è condivisa.

Ciò può rappresentare sia un vantaggio per gli operatori di rete, sia per le aziende che vogliono dotare i propri dipendenti di una postazione pc e di un dispositivo mobile utilizzando un unico prodotto. Naturalmente poi bisognerà vedere se saprà accogliere i favori del mercato… sicuramente non rivoluzionario, ma interessante!

Leggi anche l’articolo originale.

10/10/12

L’iPhone compie 5 anni: come ha cambiato il mondo

Non sono mai stato un grande estimatore di Apple, ma devo tuttavia riconoscerne il merito. Non si può discutere che l’iPhone sia e sia stato uno dei prodotti più rilevanti e rivoluzionari nel mondo tecnologico, avendo aperto di fatto il mercato di smartphone e tablet come lo conosciamo ora.

Per il resto, fatti e numeri parlano da sè:

  • Appena 5 anni fa l’iPhone non esisteva ed ora genera un fatturato di 100 miliardi di dollari all’anno, più di molte grandi aziende
  • Da solo genera un volume di affari superiore a Microsoft stessa, azienda che esiste da 30 anni ed è stata a lungo leader nel mondo IT
  • Genera un profitto annuale di almeno 30 miliardi di dollari (più di Microsoft, più di Google, più di Walmart)
  • Ha distrutto o indebolito molte grandi compagnie negli ultimi 5 anni (Palm, Research in Motion, Nokia, Microsoft, HP e Dell)
  • Ha creato una nuova industria e un nuovo ecosistema (le apps) che hanno portato nuovo lavoro per aziende e sviluppatori
  • Ha inspirato una mezza dozzina di competitori diretti (primo fra tutti Samsung) con i quali la sfida è attualmente aperta
  • Ha reso Apple l’azienda di maggior valore e profitto del mondo

Decisamente, preferenze personali a parte, non mi sembra poco!

Leggi anche l’articolo originale.

19/09/12

Il buono e il cattivo programmatore

Per rimanere in tema, una lunga e accurata classificazione (con caratteristiche e sintomi) del buon programmatore e, ovviamente, per contro anche del cattivo programmatore. Gli articoli sono lunghissimi, ne riassumo solo i punti principali.

Segni distintivi del buon programmatore

  1. Instinto di sperimentare le cose (verificare che funzionino)
  2. Distacco emotivo dal codice e dal progetto
  3. Desiderio di riparare ciò che non funziona
  4. Fascino per l’incomprensibile
  5. E’ costretto a insegnare

Segni distintivi del “fantastico” programmatore

  1. Pazienza incorruttibile
  2. Ricerca distruttiva della perfezione
  3. Conoscenza enciclopedica della piattaforma
  4. Pensiero in codice
  5. A Roma, si comporta da romano (per ogni linguaggio e ogni progetto sa scegliere il giusto approccio)
  6. Creazione dei propri tool

Segni distintivi di chi è destinato a compiti superiori

  1. Indifferenza alla gerarchia
  2. Eccitazione per i fallimenti
  3. Indifferenza alle circostanze
  4. Ininfluenza agli obblighi
  5. Dedizione all’impegno
  6. E’ guidato dall’esperienza

E per continuare, c’è anche l’altra faccia della medaglia:

Segni distintivi del cattivo programmatore

  1. Incapacità di ragionare sul codice
  2. Scarsa comprensione del modello di programmazione del linguaggio
  3. Scarsa conoscenza della piattaforma e capacità di ricerca
  4. Incapacità di comprendere i puntatori
  5. Difficoltà a ragionare sulla ricorsione
  6. Creazione di codice “fuorviante”

Segni distintivi del programmatore mediocre

  1. Incapacità di pensare per insiemi o blocchi
  2. Mancanza di spirito critico
  3. Programmazione “flipper” (un colpo a destra e un colpo a sinistra finchè le cose funzionano)
  4. Scarsa familiarità con i principi di sicurezza
  5. Creazione di codice “incasinato”

Segni distintivi di chi non avrebbe mai dovuto programmare

  1. Incapacità di determinare l’ordine di esecuzione di un programma
  2. Insufficiente capacità di pensare in modo astratto
  3. Sindrome dei “Collyer brothers” (accaparramento compulsivo)
  4. Senso di causalità non funzionante
  5. Indifferenza ai risultati

Leggi anche gli articoli originali: good e bad.

error: