giovedì 13 marzo 2014

La roadmap di Delphi ed il nuovo Appmethod

Tempo di novità in Embarcadero: dopo aver annunciato la nuova roadmap di Delphi per il 2014 e oltre, un po' a sorpresa è arrivato l'annuncio di un nuovo prodotto, Appmethod.
Appmethod è un tool dedicato agli sviluppatori per generare applicazioni multi-piattaforma: Windows, Mac OS X, iOS, Android. Vi ricorda qualcosa? :-)

Vediamo nel dettaglio queste due novità.


Delphi (e C++ Builder) Roadmap

La nuova roadmap di Delphi pubblicata in marzo 2014 comincia con il consueto disclaimer:

Le funzionalità presentate nella roadmap non sono da considerare vincolanti per Embarcadero da sviluppare o inserire nel prodotto, il momento in cui appariranno nel prodotto può essere diverso da quanto riportato nella roadmap. Infine, Embarcadero si riserva il diritto di cambiare la roadmap in qualsiasi momento.

Funzionalità e tecnologie inserite nel prodotto nel 2013

Nel 2013 l'obbiettivo primario del team di RAD Studio è stato quello di inserire i processori ARM (e i sistemi operativi iOS e Android) come target per i compilatori e le librerie di supporto. In questo momento Delphi supporta sia iOS sia Android mentre C++ Builder solo iOS (Update 2). Le librerie includono FireMonkey (FMX), la libreria RTL, i componenti per l'accesso ai database (FireDAC), ecco l'elenco:
  • Supporto Delphi e C++ per iOS su processore ARM (compiler, linker, debugger)
  • Supporto Delphi per Android su processore ARM (compiler, linker, debugger)
  • Framework FMX per Android e iOS, incluse: RTL, database library e supporto per l'interazione con le API dei sensori mobile
  • Embedded InterBase per le piattaforme mobile (iOS e Android) in due versioni: IBLite free edition e l'avanzato InterBase ToGo edition
  • Nuova libreria FireDAC per l'accesso universale ai dati che supporta tutti i maggiori RDBMS
  • La nuova libreria REST client per connettersi con i servizi REST e le librerie cloud (sia per FMX che per VCL)
  • Supporto ad iOS 7

Funzionalità e tecnologie previste per il 2014

Il tema principale per RAD Studio nel 2014 è l'aggiunta del supporto ad Android per C++ Builder ed in generale una forte spinta per la qualità, le performance e la stabilità del prodotto (QPS), un continuo avanzamento del supporto multi-piattaforma sia del designer sia del runtime, migliorie sulle librerie di remoting e architetture multi-tier e, ultimo ma non ultimo, nuovi componenti e nuove funzionalità nella VCL, vediamo l'elenco:
  • Supporto per Android di C++ Builder
  • QPS (Quality, Performance, Stability)
  • Componenti per Advertising and Payments per le piattaforme Android e iOS
  • Miglioramenti per la libreria middleware DataSnap (performance, REST mapping, architectural improvements)
  • Ulteriori migliorie per supportare il paradigma del singolo sorgente su piattaforme multiple con un nuovo visual designer multi-device e nuovi componenti per l'interfacia utente
  • Componenti per il "Mobile Backend as a Service" (MBaaS), che si interfacciano con alcuni provider di questi servizi, ad esempio Parse and Kinvey
  • Interoperabilità tra applicazioni mobile e desktop!
  • Supporto specifico per Android KitKat (4.4)
  • Nuovo componente VCL per la Windows taskbar
  • Miglioramenti sugli stili VCL e sul supporto delle applicazioni VCL sui tablet Windows Intel con componenti specifici per gli stili e per i sensori
  • Supporto per i dispositivi indossabili Android (wearable devices) con particolari fattori di forma (vedi Google Glass)
  • Supporto ai moduli Apache HTTP server per WebBroker e DataSnap, mantenendo ovviamente il supoprto ISAPI IIS
  • Numerosi miglioramenti alla Run Time Library (RTL) implementati per tutte le piattaforme suportate, soprattutto nelle librerie XML, JSON e altre
  • Nuovi driver database per FireDAC e miglioramenti in quelli esistenti, supporto per nuove versione dei database già supportati
  • Supporto per le versioni future di Android e iOS che saranno annunciate da Google e Apple nel corso del 2014
  • Supporto Bluetooth per i dispositivi mobile
  • Una nuova release del compilatore C++ per Win32, con pieno supporto alle specifiche C++ 11
Il mio commento

Se Embarcadero conferma i due rilasci annuali, anche nel 2014 possiamo aspettarci 2 release di Delphi (RAD Studio) una in primavera e l'altra in autunno (le ipotizzo in base ai rilasci nel 2013 di XE4 e XE5) e quindi le features saranno spalmate sulle due release. Le mie preferite:
  • QPS! Una release focalizzata sulla qualità, sulle performance (soprattutto relative alla nuova piattaforma FireMonkey) e sulla stabilità generale del prodotto non può che far piacere
  • Migliorie per DataSnap sia come funzionalità che come performance
  • Gestione semplifcata per dispositivi con diversi fattori di forma / risoluzioni
  • Il supporto per dispositivi indossabili (Android) soprattutto per i Google Glass (è comunque già possibile compilare app per i GG anche con XE5)

Funzionalità e tecnologie previste dopo il 2014

  • Supporto per le versioni future di Android e iOS
  • Supporto per Linux (server-side) delle librerie DataSnap, WebBroker, RTL e database
  • Dispositivi indossabili e HUDs (Head-up Displays), quando diverranno disponibili, incluso dispositivi Android con fattori di forma particolari e relative API
  • Integrazione nativa e diretta con le nuove REST API, focalizzate in diverse aree dai sistemi automatizzati ai database NOSQL
  • Compilatore Mac OS X 64bit
  • Supporto per Windows 8 ARM/WinRT (Windows Phone e/o Windows RT desktop)
  • Avamzamenti e aggiunte ai componenti BAAS e Cloud
  • Supporto per le versioni future di Windows desktop che saranno annunciate nel 2014
  • Completa e semplificata libreria per la programmazione multi-thread (parallel computing library) per sfruttare completamente le moderne architetture multi-core
  • Android per la piattafroma Intel
Il mio commento

Le aree più interessanti (per me) sono il supporto a Linux (solo server-side) che include la libreria RTL ma anche WebBroker, FireDAC e soprattutto DataSnap, il supporto ai database NOSQL. Interessante anche la libreria per uno sviluppo multi-thread semplificato.
Altra piattaforma che seguo on interesse e che quindi vorrei veder supportata da Delphi è Android per Intel.

Non ci resta che aspettare il 2015 per vedere il futuro dello sviluppo cosa ci riserva!

Embarcadero Appmethod


Appmethod è un nuovo prodotto venduto (prossimamente) da Embarcadero che promette "Build Fast Apps Fast for Android, iOS, Windows and Mac". Se vi sembra che già esista uno strumento Embarcadero che fa esattamente queste cose, avete ragione ed il tool è RAD Studio (Delphi e C++ Builder).

Tecnicamente Appmethod condivide lo stesso IDE di Delphi e C++ Builder, la stessa libreria FM (FireMonkey), la stessa libreria di accesso ai dati, ecc... 
Sarà però possibile in Appmethod costruire solo applicazioni FireMonkey (FM) quindi non sarà presente il framework VCL e pertanto non sarà in alcun modo possibile ricompilare vecchie applicazioni Delphi basate, appunto, sulla VCL. Allo stesso modo non saranno presenti i framework COM, ActiveX il BDE e dbExpress.
Appmethod quindi si pone come soluzione per tutti quelli che devono costruire nuove applicazioni che sfruttino ad esempio le nuove tecnologie REST, SOAP e connettendosi a server middle-tier scritti con diversi strumenti.

Anche il modello di vendita si discosta nettamente da quello di Delphi, infatti oltre ad un'interessante versione free per singoli sviluppatori (con alcune limitazioni) è affiancata una versione individual/small team e una versione business che costeranno rispettivamente ($299/anno/sviluppatore/piattaforma) e ($999/anno/sviluppatore/piattaforma). La differenza tra le ultime due dovrebbero essere i servizi enterprise (Appmethod Enterprise Mobility Services). I servizi enterpise di appmethod possono essere classificati come MEAP, una serie di librerie che includono API Hosting, Data Access e Data Storage che possono servire per applicazioni mobile, desktop e web.


La mia personale opinione è che Appmethod non è solo una "ripacchettizazione" di RAD Studio, invece nell'ottica di nuovo sviluppo davvero multi-piattaforma (e soprattutto mobile) rappresenta un'offerta rivolta a tutti gli sviluppatori (al di fuori del mondo Delphi/C++ Builder) interessati a costruire in modo rapido e semplice applicazioni business per le diverse piattaforme (che ormai per noi utenti Delphi è una cosa normale!)

Links su Appmethod


Conclusioni

Di sicuro in Embarcadero non stanno con le mani in mano! Oltre ad inserire nuove funzionalità e supportare nuove piattaforme nel nostro Delphi e C++ Builder, cercano di allargare a tutti gli sviluppatori mondiali le tecnologie per la costruzione rapida di applicazioni multi-piattaforma creando nuove offerte e nuovi prodotti.



Nessun commento:

Posta un commento