Tuesday, November 29, 2005

BDNtv: Borland Developer Studio 2006 Presentation, 2005 Borland Developer Conference

Per chi (come me) non ha avuto il piacere di essere presente alla BDC, ecco un interessante filmato.

Thursday, November 24, 2005

Estensioni all'IDE di Delphi

- CNPACK
- GExpert
Sono due estensioni per l'IDE di Delphi molto produttive.

Wednesday, November 23, 2005

Remote Access Software :: Remote Desktop for Mobiles :: Test Server

Client RDP (Terminal Server) per BlackBerry. I consigli per il test con il riferimento all'accesso da attivare.
Remote Access Software :: Remote Desktop for Mobiles

Sunday, November 20, 2005

Sviluppo con BlackBerry. Puntata 2

Ho ricevuto ed installato i files .csi utili per la firma degli applicativi per l'installazione sul palmare. I passi da seguire sono semplici e prevedono:
1. la creazione di una chiave privata (doppio click su uno dei files ed indicazione della password per la creazione della chiave privata)
2. Firma del programma. E' necessario eseguire il Build dell'applicativo e richiamare Request Signatures. Verranno indicati i moduli che devono essere firmati.
3. Creazione del file ALX per la installazione sul palmare.
4. Installazione con il programma Desktop Manager.

Unica "pecca" della procedura sopra è che ad ogni compilazione è necessario richiedere nuovamente la firma del compilato. Questo implica che è necessario un collegamento ad Internet attivo ad ogni richiesta di firma.

Comunque. L'ambiente di sviluppo è robusto. Java è molto produttivo ed aiuta a pensare con una logica diversa (ad oggetti).

Gli applicativi sviluppati per il BB usano alcuni packages appositi per questo ambiente (per lo sfruttamento delle caratteristiche + evolute). Di fatto non so quanto sia possibile il porting verso altri palmari Java-enabled.

Wednesday, October 19, 2005

Sviluppo con BlackBerry. Puntata 1

Blackberry è una sorta di Palmare.
E' + piccolo di un palmare, non ha touchscreen, ma ha una "rotellina" tutto fare. Si può usare con una mano sola ed offer una incredibile produttività.
Per realizzare applicazioni è necessario:
1. scaricare l'ambiente di sviluppo (JDE) dal sito della Blackberry
2. formalizzare il problema in Java ed adattare le modalità di interfacciamento e di uso dell'applicazione al dispositivo
3. fare il Build dell'applicazione e realizzare un file ALX.
4. installare l'applicazione (Desktop Manager) sul PC fornita con il Blackberry (su CD) e lanciarla.
5. aprire il Desktop Manager e lanciare Application Loader
6. ricercare il file ALX ed installarlo sul palmare.

---

Seguendo i passi sopra otterrete sicuramente un errore all'atto del lancio dell'applicazione sul Palmare:
Module ' ' attemps to access a secure API.

Per risolvere il problema è necessario "autorizzare" l'applicazione ad accedere alle API del Blackberry.
Per questo è necessario collegarsi al sito e registrarsi per ottenere via mail i files necessari a firmare il programma.

Sunday, October 16, 2005

Java e gli ambienti di sviluppo

In questo ultimo periodo sono stato (e lo sono ancora) impegnato nello scrivere una applicazione per un dispositivo mobile (BlackBerry). Sfruttando l'ambiente di sviluppo messo a disposizione sul sito ho iniziato il programma.
L'ambiente di sviluppo è ben fatto ed usa Java come linguaggio di programmazione. Le mie esperienze con Java si erano limitate a cose molto semplici. Con questa nuova esperienza comincio ad entrare maggiormente nello spirito di questo linguaggio.
In qualunque altro ambiente sarei partito dalla definizione della base dati. Con Java NO. Ho iniziato a lavorare con gli oggetti ed ho scoperto le incredibili doti della persistenza degli oggetti. Ho realizzato una prima bozza dell'applicazione con una certa fatica poichè in Java si improvvisa poco ed anche la semplice attività di implementare un menù risulta più complessa del semplice click-and-code cui gli ambienti più evoluti ci hanno insegnato. E così tra un oggetto ed un altro ho capito meglio il pattern MVC e pur non implementando a fondo l'information hiding (nel senso che molti campi delle classi sono public), devo dire che sono riuscito nell'intento.
A volte l'essere obbligati a muoversi in ambienti limitati offre il vantaggio di toccare con mano certi meccanismi che molti ambienti di sviluppo tendono a nascondere.
Quindi per una volta dimentichiamo i potenti ed iper produttivi ambienti per ricercare il "basso livello".
Ma allora dove sta la produttività di Java?
Java è produttivo per l'insieme di librerie e classi che sono implementate, ma la curva di apprendimento può risultare più lunga di quella di altri linguaggi.

Wednesday, September 14, 2005

Sviluppo o Wizard?

Ogni volta che trovo strumenti come questo, svilisco nel vedere il mio stile di programmazione fatto di piccole scoperte quotidiane comprese nella loro efficacia dopo lunga fatica. Veramente siamo in grado di comprendere i nuovi Framework così approfonditamente da sfruttarli con efficacia, oppure dobbiamo reinventare la ruota ogni volta per avere qualcosa di più maneggevole? Molte volte si perde un sacco di tempo per capire il funzionamento di un componente o di una libreria per poi scoprire che la mega funzionalità promessa va bene ma non completamente; si veda anche questo post realmente interessante.

Usare Access

Da anni sto utilizzando questo strumento (ed in generale VBA) per realizzare applicazioni. Ultimamente ho avuto un po' di problemi con le modifiche ad una applicazione realizzata da me (usando Access in Italiano) ed usata con Access in Francese. A questo punto mi sento di dare alcuni consigli:
- Access è un tool fenomenale per il reporting e per "piccoli" programmi di inserimento dati
- Access diventa complesso se si devono riferire degli ActiveX esterni (anche se è un Ole client ottimo): questi devono essere installati sul sistema ospite (naturale) e devono, se riferiti da codice essere inclusi nelle reference (e ciò non sempre è legato alla maschera ma va tutte le volte aggiornato)
- Access è spettacolare per la gestione delle query Cross DB
- Nel caso si desideri utilizzare Access per un accesso veloce ad un sorgente dati esterna è preferibiel usare una query di passthrough.
- Access è molto più potente se usato con DAO invece che con ADO (vedremo cosa succederà con ADO.NET)
- Access non offre una gestione centralizzata dei dati (no trigger o stored procedure)
Qual'è l'altenativa ad Access?
Per sostiutire Access con qualcosa di più scalabile servono:
- Un linguaggio di programmazione
- Un DBMS (MSDE per esempio)
- Un tool per il reporting
Anche avendo a disposizione quanto sopra non sarà comunque semplice gestire modifiche "al volo" via telefono.

Ma dove andrà Access? Esisterà un VBA.NET inserito in Office oppure Office sarà un ambiente a sè?

Wednesday, August 10, 2005

Tutte le patch di Delphi 2005

Delphi 2005, nato circa un anno fa, ha evidenziato una serie di falle più o meno gravi che hanno portato a 3 Update direttamente rilasciati da Borland:
Update 1 Per tutti gli utenti
Update 2 Solo per gli utenti registrati
Update 3 Solo per gli utenti registrati
Sono seguite poi una serie di Patch fino ad ora non inserite in un Update (sarebbe il 4°!). Nell'ordine:
- Rimpiazzamento del gestore della memoria
- Sostituzione di porzioni del Core di Delphi pubblicate nel BLOG di Allen Bauer: (vclide90, boreitu e coreide90)
A questo punto DELPHI 2005 dovrebbe essere un prodotto più stabile.
Non dimentichiamo le vicende di Delphi 4, affetto da una serie di Bugs, definitivamente risolti con Delphi 5. D'altro canto Delphi 2005 è il più grosso salto in avanti sia del linguaggio sia dell'IDE fatto da Delphi.
E allora Patchiamo!!!

Wednesday, August 03, 2005

Visual Studio.Net 2005 beta 2

Dopo 2 giorni dall'ordini ho ricevuto ed installato VS 2005 Beta 2.
Al riavvio di Delphi 2005 ho ricevuto un errore sul sistema di Help che poi da Delphi non va più.
Ho trovato questo Blog:
Fun with Visual Studio.Net 2005 beta 2

Spero sia utile anche ad altri

Tuesday, July 26, 2005

.NET e DELPHI VCL.

Che .NET sia il futuro per lo sviluppo Windows è ormai assodato. Il fatto che Microsoft abbia tagliato i ponti con i vecchi ambienti di sviluppo ed abbia introdotto linguaggi per lo strato .NET (VB e C#) conferma una tendenza evolutiva che può solo andare avanti e che tante discussioni ha provocato tra i delusi sviluppatori VB6.
Il framework .NET è una indiscussa novità per chi non ha mai avuto una libreria di componenti all'interno del proprio ambiente di sviluppo. Chi invece proviene da un ambiente come DELPHI si scontra con una serie di domande: devo sviluppare per Win32 o per .NET? e se devo sviluppare per .NET sfrutto la VCL (appositamente riscritta per .NET) oppure uso le WinForm del framework?
La mia esperienza mi ha insegnato che lo sviluppatore deve trovare il sistema più veloce ed indolore per andare incontro alle esigenze del cliente. Allora, se si desidera sviluppare velocemente, lo strato VCL è necessario. Se si desidera avere una accettabile velocità di esecuzione le applicazioni WIN32 hanno ancora una marcia in più (soprattuto in avvio). Usare Delphi per sviluppare applicazioni WinForm non ha senso se si considera che in questo caso si deve rinunciare ai componenti della VCL: meglio realizzare un progetto .NET VCL.
E allora?
Allora Delphi + VCL ancora per molto.

Monday, July 18, 2005

Quale linguaggio è più leggibile?

Si stanno avendo delle discussioni su quale linguaggio sia più leggibile tra Delphi e C++:
What is more readable?

La mia opinione è questa:
si deve distinguere tra leggibilità sintattica che è una proprietà del linguaggio e di come questo è stato studiato e strutturato e leggibilità semantica che riguarda invece il modo con cui un linguaggio (ed un programmatore) riesce ad esprimere una certa soluzione.
Il Pascal è nato con scopi didattici ed è sicuramente più sintatticamente leggibile del C++.
Del resto sebbene chiunque, con qualunque linguaggio, possa scrivere del codice difficilmente comprensibile, il Pascal risulta comunque maggiormente Strutturato, obbigando chi scrive codice a suddividere i programmi in maniera più organica.
Solo a titolo di esempio il fatto che una Unit abbia una sezione di interfaccia ed una di implementazione garantisce una più immediata comprensione delle funzionalità implementate in quella Unit.
Questo argomente contribuisce a far si che pure da un punto di vista semantico il Pascal sia migliore del C++.

Wednesday, July 13, 2005

Borland Delphi Partner CD

Un elenco di varie componenti per Delphi incluse nel CD. Alcune sono FW ed OpenSource
Borland Delphi Partner CD

Thursday, June 30, 2005

Design Patterns e Delphi

Questo link mostra come implementare alcuni DP in Delphi < 2005.
Introduction to Design Patterns in Delphi
Come si vede la soluzione proposta per alcuni pattern (ad esempio Singleton) è forzata: in effetti l'uso di una variabile globale per memorizzare il puntatore all'istanza della classe è una soluzione non corretta da un punto di vista formale. La variabile globale rappresentava l'unico modo per simulare le variabili di classe (le static di C#) prima dell'avvento di Delphi 2005: quest'ultimo introduce le variabili statiche (class var) consentendo di incapsulare il riferimento all'oggetto direttamente a livello di classe anche in maniera più protetta di quanto avveniva prima (strict private).

Monday, June 27, 2005

Computer Architecture

Da alcuni dubbi nati durante una discussione ho preso spunto per ripassare un po' di architettura dei processori
Computer Architecture