-
Notifications
You must be signed in to change notification settings - Fork 0
/
a-vocabulary.md.erb
86 lines (48 loc) · 9.57 KB
/
a-vocabulary.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
---
title: Λεξικό όρων του Meteor
slug: meteor-vocabulary
date: 0099/01/01
number: 99
points: 1
appendix: true
contents: Ανασκόπηση συνηθισμένων όρων του Meteor.
paragraphs: 19
---
#### Πελάτης (Client)
Όταν αναφερόμαστε στον Πελάτη, εννοούμε τον κώδικα που εκτελείται στο *περιβάλλον του χρήστη*, είτε πρόκειται για λογισμικό φυλλομετρητή όπως Firefox ή Safari, είτε κάτι πιο σύνθετο όπως το UIWebView σε μια εφαρμογή iPhone.
#### Συλλογή (Collection)
Μια Συλλογή του Meteor είναι η αποθήκη δεδομένων που συγχρονίζεται αυτόματα μεταξύ Πελάτη και Διακομιστή. Οι Συλλογές έχουν ένα όνομα (πχ `posts`), και συνήθως υπάρχουν τόσο στον Πελάτη όσο και στον Διακομιστή. Παρότι συμπεριφέρονται διαφορετικά, έχουν κοινό API το οποίο βασίζεται στο API του Mongo.
#### Υπολογισμός (Computation)
Ένας Υπολογισμός είναι ένα τμήμα κώδικα που εκτελείται κάθε φορά που αλλάζει κάποια αντιδραστική πηγή δεδομένων από την οποία εξαρτάται. Αν έχετε μια αντιδραστική πηγή δεδομένων (πχ μια μεταβλητή της Συνεδρίας) και θέλετε η εφαρμογή σας να ανταποκρίνεται στις αλλαγές της μεταβλητής, θα πρέπει να τη συσχετίσετε με έναν Υπολογισμό.
#### Δείκτης (Cursor)
Ένας Δείκτης είναι το αποτέλεσμα της εκτέλεσης μιας ερώτησης σε μια Συλλογή Mongo. Στο περιβάλλον του Πελάτη, ο Δείκτης δεν είναι απλά ένας πίνακας με αποτελέσματα, αλλά ένα *αντιδραστικό* αντικείμενο που μπορεί να παρακολουθείται για τυχών προσθήκη, διαγραφή ή τροποποίηση αντικειμένων στη Συλλογή.
#### Πρωτόκολλο Διανομής Δεδομένων (Distributed Data Protocol, DDP)
Το Πρωτόκολλο Διανομής Δεδομένων του Meteor είναι ο αλγόριθμος βάσει του οποίου γίνεται ο συγχρονισμός των Συλλογών και η κλήση Μεθόδων. Το DDP προορίζεται για γενική χρήση, και αντικαθιστά το HTTP στις εφαρμογές πραγματικού χρόνου που μεταφέρουν μεγάλο όγκο δεδομένων.
#### Ανιχνευτής (Tracker)
Ο Ανιχνευτής είναι το σύστημα αντίδρασης του Meteor. Χρησιμοποιείται στο παρασκήνιο για να φροντίζει η HTML να συγχρονίζεται αυτόματα με το υποκείμενο μοντέλο δεδομένων.
#### Έγγραφο (Document)
Το Mongo είναι μια βάση δεδομένων η οποία οργανώνεται σε Συλλογές, οι οποίες περιέχουν Έγγραφα, αντίστοιχα με τον τρόπο που μια SQL βάση δεδομένων θα οργάνωνε τα δεδομένα σε πίνακες που περιέχουν εγγραφές. Συνεπώς όταν κάνουμε μια αναζήτηση σε μια Συλλογή, κάθε αποτέλεσμα που λαμβάνουμε είναι ένα απλό αντικείμενο JavaScript, με μια ειδική ιδιότητα (property) με το όνομα `_id`, την όποία χρησιμοποιεί το Meteor για να παρακολουθεί την πορεία των αντικειμένων μέσω του DDP.
#### Βοηθοί (Helpers)
Όταν ένα πρότυπο (template) χρειάζεται να σχεδιάσει κάτι πιο περίπλοκο από μια ιδιότητα εγγράφου (document property) μπορεί να καλέσει μια συνάρτηση, η οποία ονομάζεται Βοηθός του προτύπου.
#### Αντιστάθμιση Καθυστέρησης (Latency Compensation)
Είναι μια τεχνική που επιτρέπει την εξομοίωση των κλήσεων των Μεθόδων στο περιβάλλον του Πελάτη, προκειμένου να αποφύγει την καθυστέρηση που θα προέκυπτε από την αναμονή για την απάντηση του Διακομιστή.
#### Meteor Development Group (MDG)
Η εταιρεία που αναπτύσσει το Meteor, σε αντίθεση με το ίδιο το Πλαίσιο.
#### Μέθοδοι (Method)
Μια Μέθοδος του Meteor είναι μια απομακρυσμένη κλήση διαδικασίας (remote procedure call) από τον Πελάτη προς τον Διακομιστή, με κάποιες επιπλέον συναρτήσεις για να παρακολουθεί τις αλλαγές των Συλλογών και να επιτρέπει την Αντιστάθμιση της Καθυστέρησης.
#### MiniMongo
Στο περιβάλλον του Πελάτη οι Συλλογές βρίσκονται στη μνήμη, σε μια αποθήκη δεδομένων που παρέχει ένα API παρόμοιο με αυτό του Mongo. Η βιβλιοθήκη που υποστηρίζει αυτή τη λειτουργία λέγεται "MiniMongo", υποδεικνύοντας ότι πρόκειται μια μικρότερη έκδοση του Mongo που εκτελείται εξ' ολοκλήρου στη μνήμη.
#### Πακέτο (Package)
Ένα Πακέτο Meteor μπορεί να αποτελείται από κώδικα JavaScript που εκτελείται στο Διακομιστή, κώδικα JavaScript που εκτελείται στον Πελάτη, οδηγίες για την επεξεργασία πόρων (πχ SASS σε CSS), και πόρους προς επεξεργασία. <br/>Το Πακέτο είναι σαν μια υπερ-βιβλιοθήκη. Το Meteor περιλαμβάνει μια εκτεταμένη συλλογή βασικών πακέτων, και επιπλέον υπάρχει το [Atmosphere](http://atmosphere.meteor.com), το οποίο περιέχει μια μεγάλη συλλογή πακέτων προερχόμενα από την κοινότητα.
#### Δημοσίευση (Publication)
Η Δημοσίευση είναι μια ονομαστική συλλογή δεδομένων η οποία προσαρμόζεται για κάθε χρήστη που δημιουργεί Συνδρομή σε αυτή. Η Δημοσίευση καθορίζεται στο Περιβάλλον του Διακομιστή.
#### Διακομιστής (Server)
Ο Διακομιστής Meteor είναι ένας HTTP και DDP διακομιστής που εκτελείται μέσω του Node.js. Αποτελείται από όλες τις βιβλιοθήκες του Meteor, καθώς και από τον κώδικα JavaScript της εφαρμογής μας που εκτελείται σε περιβάλλον διακομιστή. Όταν ξεκινάμε τον διακομιστή, συνδέεται σε μια βάση δεδομένων Mongo (κατά την ανάπτηξη της εφαρμογής το Meteor ξεκινάει τη βάση δεδομένων αυτόματα).
#### Συνεδρία (Session)
Η Συνεδρία στο Meteor αναφέρεται στην πηγή αντιδραστικών δεδομένων στο περιβάλλον του Πελ΄τη, η οποία χρησιμοποιείται από την εφαρμογή για να παρακολουθεί την κατάσταση του χρήστη.
#### Συνδρομή (Subscription)
Η Συνδρομή συνδέει έναν Πελάτη με μια Δημοσίευση. Πρόκειται για κώδικα που εκτελείται στο περιβάλλον του Πελάτη, επικοινωνεί με τη Δημοσίευση στον Διακομιστή και συγχρονίζει τα δεδομένα.
#### Πρότυπο (Template)
Το πρότυπο είναι μια μέθοδος δημιουργίας HTML στην JavaScript. Εξ' ορισμού το Meteor υποστηρίζει το Spacebars, ένα σύστημα προτύπων logic-less, αλλά υπάρχουν σχέδια να υποστηριχθούν περισσότερα στο μέλλον.
#### Σχετιζόμενα Δεδομένα Προτύπου (Template Data Context)
Όταν ένα πρότυπο αποτυπώνεται, συσχετίζεται με ένα αντικείμενο JavaScript το οποίο παρέχει συγκεκριμένα δεδομένα για την αποτύπωση. Συνήθως πρόκειται για απλά αντικείμενα JavaScript (POJOs), συχνά Έγγραφα κάποιας Συλλογής, αλλά μπορούν να είναι πιο πολύπλοκα και να περιέχουν και συναρτήσεις.