gtug-ita
TRANSCRIPT
-
8/9/2019 gtug-ITA
1/26
JRUBY ON RAILSSUGOOGLE APP ENGINE
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
2/26
CHI SIAMO
Rivello Vincenzo
Email: [email protected]: enzoriv
Alessandro De Simone
Email: [email protected]: alexdesi
Software Engineer & Developer
Software Engineer & Developer
domenica 11 luglio 2010
mailto:[email protected]:[email protected] -
8/9/2019 gtug-ITA
3/26
INDICE
JRuby on Rails su Google App Engine
Introduzione a Ruby/JRubyIntroduzione a Ruby on Rails
Pro/Contro di JRoR su GAE
Esempio di Applicazione
Conclusioni
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
4/26
JRUBY SU GOOGLE APPENGINE
Con il supporto per il linguaggio Java, adessopossibileeseguire codice Ruby su Google App Engine
Questo grazie ad progetto che ha come scopo quellorendere davvero semplice il l'uso di JRuby per lo
sviluppo su GAE (come attualmente usato succedeper Java e Python).
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
5/26
PERCHE USARE RUBY SUGAE?
Perche' gia' conosci Ruby
Perche' Ruby e' linguaggio potente e flessibile,"ottimizzato" per le persone piuttosto che per icomputer
Perche' ti permette di usare Ruby on Rails (v.2.3.5 eda breve v.3.0)
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
6/26
RUBY/JRUBY
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
7/26
COS RUBY
Creato nel 1993 da Yukihiro Matsumoto
Linguaggio di scripting general purpose
Completamente ad oggetti
Ispirato a Smalltalk, Lisp e Perl
Attualmente arrivato alla versione 1.8.7(stabile)
Con una comunit giovane e creativa
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
8/26
COS JRUBY
Creato da J.A. Petersen nel 2001
JRuby una implementazione Java del linguaggio di
programmazione Ruby
Permette lintreccio fra leleganza di Ruby elecosistema Java
Stabile e Production Ready (versione 1.5.1)
Attualmente limplementazione pi veloce di Ruby(dal200% al 500% pi veloce)
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
9/26
ESEMPIO RUBY/JAVA
La guerra dei linguaggi non ha senso.Ruby e' compatto, leggibile e flessibile.
Java e' ha delle ottime performance.
JRuby permette a Ruby e Java di convivere !
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
10/26
RUBY PER CHI CONOSCEJAVA
Ruby e' intepretato
>ruby my_program.rb
Java e' compilato>javac MyProgram.java
>java MyProgram
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
11/26
USO DEL TYPING DINAMICO
Le variabili non hanno un type associato.
Non bisogna dichiararle.Basta assegnare:a = [1,2,3]invece di
int[] a = {1,2,3};
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
12/26
RUBY CONCISO
Programma Vuoto
RubyJava
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
13/26
RUBY CONCISO
Java
Ruby
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
14/26
RUBY FRAMEWORKS
E' possibile scrivere codice Ruby ed eseguirlo conjRuby, questo ci permette di poter creare applicazioni
per GAE.Se pero' vogliamo scrivere una web app in brevetempo, bisogna usare un framework:
Ruby on Rails
Merb
Sinatra
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
15/26
RUBY ON RAILS
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
16/26
RUBY ON RAILS
RoR e' un framework open-source ottimizzato per la
felicita' dei programmatori, e per rendere lo sviluppodel codice sostenibile.Con RoR puoi programmare in maniera piu'immediata anche grazie al paradigma "Convention over
configuration"
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
17/26
RUBY ON RAILS
Creato da David Heinemeier Hesson (37 Signals)
Aderisce agli standard di Sviluppo AgileSistema di sviluppo completo (dalla prototipizzazioneal testing)
Favorisce la comunicazione allinterno del team
Moltissimi plugin esistenti che favoriscono unosviluppo veloce
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
18/26
FILOSOFIA
Meno codice e codice piu' leggibile
Nessun ciclo di compilazione
Convenzione su configurazione (quasi nessun file di configurazione,struttura di directory predefinita)
Best practices: MVC, DRY(partial, helper, ...), Testing
Quasi tutto e' Codice RoR (Activerecord per SQL e prototype perJavaScript)
Community molto attiva, e ottima documentazione (anche video).
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
19/26
JRUBY SU GAE
Progetto creato da John Woodell e mantenuto dallacomunit JRuby
Sfrutta la compatibilit di GAE con Java per portare iframework di sviluppo web per ruby su GAE
SET-UP molto semplice. Conversione di un sistema
esistente un p meno.
Ripensare lapplicazione sotto una prospettiva chiave/valore anzich relazionale
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
20/26
JRUBY ON GAE - PRO
SET UP veloce. Pochi comandi e hai gi un sistemabase pronto online.
Rails Hosting Gratuito (e altamente scalabile)
Integrazione con la whitelist delle classi Java su GAEIntegrazione con lecosistema dei servizi Google
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
21/26
JRUBY SU GAE - PRO 2
Ottimo esercizio per prendere dimestichezza con idatabase NoSql.
Bigtable infatti un database Chiave/Valore, simile a
Redis o a MongoDB, ma piu potente.
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
22/26
JRUBY ON GAE - CONTRO
Altissimo tempo di start up dellistanza (10-15secondi)
Un p ostico allinizio: bisogna abituarsi al concetto di
Cloud Computing e risorse decentralizzate.
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
23/26
ESEMPIO LIVE
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
24/26
CONCLUSIONI
Per noi sviluppatori Rails, GAE ancora lontanodallessere una soluzione stabile per i nostri problemidi hosting.
Ma senza alcun dubbio , qualcosa sulla quale si vuole
contare, sopratutto se ci si vuole avvicinare al mondodi JRuby, alle sue interazioni con Rails e GAE.
domenica 11 luglio 2010
-
8/9/2019 gtug-ITA
25/26
RISORSE E INFORMAZIONI
Tutorial live:
http://jror-example.appspot.comCodice sorgente:
http://github.com/enzor
Piu informazioni:
http://rails-primer.appspot.com/
domenica 11 luglio 2010
http://rails-primer.appspot.com/http://github.com/enzorhttp://jror-example.appspot.com/http://rails-primer.appspot.com/http://rails-primer.appspot.com/http://github.com/enzorhttp://github.com/enzorhttp://jror-example.appspot.com/http://jror-example.appspot.com/ -
8/9/2019 gtug-ITA
26/26
SI RINGRAZIA