-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy path01-introduction.md.erb
103 lines (57 loc) · 8.08 KB
/
01-introduction.md.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
---
title: Introduzione
slug: introduction
date: 0001/01/01
number: 1
contents: Cosa rende Meteor straordinario.|La storia di questo libro.|L'organizzazione del libro.
paragraphs: 35
---
Facciamo un esperimento concettuale assieme. Immagina di aprire la stessa cartella in due finestre separate del tuo computer.
Ora cancella un documento da una delle due finestre. Il documento è scomparso anche nell'altra finestra?
Non serve che tu faccia veramente quanto detto sopra per sapere che è scomparso. Quando modifichiamo qualcosa nel nostro filesystem locale, il cambiamento viene applicato ovunque senza la necessità di refresh o callbacks. É così.
Ora prova a pensare come lo stesso scenario si presenterebbe sul web. Ad esempio, diciamo che hai aperto la pagina di amministrazione dello stesso sito WordPress in due browser diversi e creato un nuovo post da uno dei due. Diversamente da quel che succede sul filesystem, non importa quanto attendi, sull'altra finestra non vedrai i cambiamenti fin quando non ricaricherai la pagina deliberatamente.
Nel corso degli anni, ci siamo fatti l'idea che un sito web è un qualcosa con cui si comunica solamente in brevi e separate riprese.
Ma Meteor è parte di una nuova classe di framework e tecnologie che stanno cercando di mettere in discussione lo status quo rendendo il web real-time e reattivo.
### Che cosa è Meteor?
Meteor è una piattaforma basata su Node.js che permette di costruire applicazioni web real-time. È la parte che sta tra il database della tua app e la sua interfaccia utente e garantisce che entrambe le cose siano mantenute sincronizzate.
Visto che si basa su Node.js, Meteor utilizza JavaScript sia lato client che lato server. In più, Meteor permette di condividere codice tra le due parti.
Il risultato complessivo è una piattaforma che riesce ad essere molto potente e veramente semplice astraendo e nascondendo molte delle scocciature e insidie caratteristiche dello sviluppo per il web.
### Perché Meteor?
Dunque perché dovresti investire tempo per imparare Meteor anziché un altro framework per il web? Lasciando da parte tutte le varie caratteristiche di Meteor, crediamo ci sia un'unica ragione: Meteor è semplice da imparare.
Più di ogni altro framework, Meteor permette di avere un'applicazione web pronta e funzionante in poche ore. E se in passato hai già fatto sviluppo di front-end, sarai già pratico di JavaScript e non dovrai nemmeno imparare un nuovo linguaggio.
Meteor potrebbe essere il framework ideale per le tue necessità, come potrebbe non esserlo. Ma visto che puoi fartene una buona idea nel corso di poche serate o di un fine settimana, perché non provarlo e scoprirlo di persona?
### Perché Questo Libro?
Durante gli ultimi 6 mesi, abbiamo lavorato a [Telescope](http://telesc.pe), un'applicazione Meteor, open-source, che permette a chiunque di creare il proprio sito di notizie (pensa a [Reddit](http://reddit.com) oppure [Hacker news](http://news.ycombinator.com)), in cui le persone possono inviare link e votarli.
Abbiamo imparato un'esagerazione di cose costruendo l'applicazione, ma non sempre è stato facile trovare risposte alle nostre domande. Abbiamo dovuto mettere assieme cose trovate da diverse fonti e in molti casi persino inventare nostre soluzioni. Con questo libro, abbiamo voluto condividere tutte queste lezioni e creare una semplice guida passo passo che ti accompagni nella costruzione di una applicazione Meteor completa partendo da zero.
L'app che costruiremo è una versione un po' semplificata di Telescope, che chiamiamo Microscope. Durante il suo sviluppo, considereremo tutti gli aspetti necessari a costruire un'applicazione Meteor, come gli account utente, le collezioni Meteor, il routing e molto altro.
Quando avrai finito di leggere il libro, se vorrai andare oltre, sarai in grado di capire senza sforzo il codice di Telescope perché rispecchia la stessa struttura.
### Riguardo Gli Autori
Nel caso tu ti stia chiedendo chi siamo e per che motivo dovresti fidarti di noi, ti diamo qualche dettaglio in più su entrambi.
<%= image "tom-photo.jpg", "portrait" %>
**Tom Coleman** è parte di [Percolate Studio](http://percolatestudio.com/), la cui attività di sviluppo web è focalizzata sulla qualità e l'esperienza utente. È anche uno dei creatori di [Meteorite](https://github.com/oortcloud/meteorite) e il repository di pacchetti [Atmosphere](http://atmosphere.meteor.com), ed è anche impegnato in molti altri progetti open-source di Meteor (come il [Router](https://github.com/tmeasday/meteor-router)).
<%= image "sacha-photo.jpg", "portrait" %>
**Sacha Greif** ha lavorato in startup come [Hipmunk](http://hipmunk.com) e [RubyMotion](http://rubymotion.com) come designer di prodotto e web. È il creatore di [Telescope](http://telesc.pe) e [Sidebar](http://sidebar.io) (che è basato su Telescope), ed è anche il fondatore di [Folyo](http://folyo.me).
### Capitoli & Approfondimenti
Abbiamo fatto in modo che questo libro possa risultare utile sia per i novizi di Meteor che per i programmatori più esperti, per questo abbiamo separato i capitoli in due categorie: capitoli regolari (numerati da 1 a 14) e approfondimenti ( mezzi numeri, .5).
I capitoli regolari ti guideranno nella costruzione dell'applicazione, cercando di renderti operativo il più velocemente possibile spiegandoti i passaggi più importanti senza però farti perdere il filo con troppi dettagli.
D'altra parte, gli approfondimenti andranno più nel dettaglio riguardo i meandri di Meteor, aiutandoti a capire meglio cosa succede veramente dietro le quinte.
Quindi, se sei un principiante, alla prima lettura salta pure gli approfondimenti, e riprendili più avanti quando avrai fatto un po' di pratica con Meteor.
### Commit & Istanze Live
Non c'è nulla di peggio che seguire un libro di programmazione e all'improvviso realizzare che il tuo codice non è più sincronizzato con gli esempi e nulla funziona più come dovrebbe.
Per evitarlo, abbiamo predisposto [un repository di Microscope su GitHub ](https://github.com/SachaG/Microscope) e forniremo collegamenti diretti ai commit di git ogni poche modifiche al codice. In più, ogni commit è anche collegato ad un'istanza funzionante dell'applicazione relativa al commit stesso, in modo che tu possa confrontarla con la tua copia locale. Questo è un esempio di come compariranno:
<%= commit "11-2", "Display notifications in the header." %>
In ogni caso, il fatto che mettiamo a disposizione i commit git non vuol dire che tu debba semplicemente saltare da un `git checkout` all'altro. Imparerai molto meglio prendendoti il tempo di scrivere a mano il codice della tua applicazione!
### Altre Risorse
Se volessi approfondire di più qualche aspetto particolare di Meteor, il miglior punto da cui iniziare è la [guida ufficiale di Meteor](http://docs.meteor.com/).
Suggeriamo anche [Stack Overflow](http://stackoverflow.com/questions/tagged/meteor) per domande e possibili soluzioni a problemi, e il [canale IRC](https://webchat.freenode.net/) #meteor se ti serve aiuto immediato.
<% note do %>
### Mi serve Git?
Anche se per seguire questo libro non è strettamente necessario avere familiarità con il sistema Git di controllo versione, lo raccomandiamo vivamente.
Se vuoi fartene un'idea velocemente, raccomandiamo la pagina [Git Is Simpler Than You Think](http://nfarina.com/post/9868516270/git-is-simpler) di Nick Farina.
Se sei un novizio di Git, ti suggeriamo anche l'applicazione [GitHub for Mac](http://mac.github.com/), che ti permette di clonare e gestire i repository senza utilizzare la linea di comando.
<% end %>
### Come Metterci in Contatto
- Nel caso volessi contattarci, puoi inviarci un'email a [hello@discovermeteor.com](mailto:hello@discovermeteor.com).
- In più, se trovi qualche errore tra i contenuti del libro, puoi farcelo sapere [sottomettendo un bug a questo repository GitHub](https://github.com/DiscoverMeteor/book/issues).
- Se hai problemi con il codice di Microscope, puoi [sottomettere un bug nel repository di Microscope](https://github.com/DiscoverMeteor/Microscope/issues).
- In fine, per qualsiasi altra domanda puoi anche lasciarci semplicemente un commento nel pannello laterale di questa app.