Your SlideShare is downloading. ×
Agile Development con Ruby
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Agile Development con Ruby

528
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
528
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. JugSicilia Meeting Ragusa, 21/06/2008 Agile Development Dalla filosofia alla produzione aziendale. Relatore: Giovanni Mazza Product Manager – Hgo informatca
  • 2. JugSicilia Meeting Ragusa, 21/06/2008
  • 3. JugSicilia Meeting Ragusa, 21/06/2008 Obiettivi Soddisfare in pieno il cliente Rispettare il contratto e... lasciarsi con un sorriso! Abbattere i costi di sviluppo Perché spendere 100 se possiamo fare meglio spendendo 1? Reagire velocemente alle richieste del mercato Non dire mai di NO! Ad un cliente.
  • 4. JugSicilia Meeting Ragusa, 21/06/2008 Principi Iterazione tra gli attori Divisione dei compiti in team Un software funzionante vale più di 1000 fogli Alta collaborazione tra clienti e sviluppatori. Un software a misura di cliente è un software migliore! Reattività nel soddisfare le richieste dei cliente personalizzazioni e modifiche
  • 5. JugSicilia Meeting Ragusa, 21/06/2008 I mezzi Parola d'ordine: Framework! Php: Selfmade Framework Ruby: Rails! Php SelfMadeFramework Ruby on Rails Pro Pro Supporto Ajax (selfmade) Supporto Ajax (Prototype e Scriptacoulus) Servizi CRUD Rapidità di sviluppo Connettività DB centralizzata Plugin – Engine - Componenti Attivazione Rapida Facilità di installazione e personalizzazione UNO per tutto e tutto con UNO! Contro Contro Tempi lunghi di sviluppo iniziale Meccanismo di centralizzazione difficile Necessità di ammortare i costi Deployment e aggiornamenti più complicati
  • 6. JugSicilia Meeting Ragusa, 21/06/2008 Plugin – Engine – Component Plugin Funzionalità aggiuntive Editor testuali – file upload – etc... Engine Mini applicazioni Gestione login – menu – etc... Component Proprio Codice da riusare e richiamare Scaffolding e generatori Generatori di codice per tutti i gusti Applicazioni senza una riga di codice!
  • 7. JugSicilia Meeting Ragusa, 21/06/2008 The best of both worlds... Clientela esigente Software ad alto costo
  • 8. JugSicilia Meeting Ragusa, 21/06/2008 Perchè Ruby (1)? Perché usa un paradigma ad oggetti puro Duck Typing Un oggetto non è definito dal tipo, ma dai messaggi a cui è in grado di rispondere def text_of(widget) if widget.respond_to? :caption widget.caption elsif widget.respond_to? :text widget.text else raise quot;no text associated to widget #{widget}quot; end end
  • 9. JugSicilia Meeting Ragusa, 21/06/2008 Perchè Ruby (2) ? Ogni oggetto può essere sovraccaricato Blocchi ed iteratori class Integer def times_header_and_footer puts quot;-- BEGIN --quot; times do yield end puts quot;-- END --quot; end end 5.times_header_and_footer do puts quot;Hello worldquot; end
  • 10. JugSicilia Meeting Ragusa, 21/06/2008 Perchè Ruby (3) ? Integrazione con Framework Rails Merb Camping Wuby Ramaze Halcyon Sproutcore ... Estensibile: Gems
  • 11. JugSicilia Meeting Ragusa, 21/06/2008 Verso il futuro... RESTful Web Services Servizi RESTful per altre applicazioni Abbattere la ridondanza del codice Comet – Shooting star Servizi push Ruby + Merb + SproutCore Abbattere il divario tra web e desktop

×