forked from meteor/meteor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathintroduction.html
141 lines (106 loc) · 5.21 KB
/
introduction.html
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<template name="introduction">
<div id="introduction">
<!-- clicking this anchor in the left bar should scroll to top of doc,
not here -->
<!-- XXX by: (three headshot thumbnails w names) -->
{{#markdown}}
<b>_Meteor is an ultra-simple environment for building modern websites.
What once took weeks, even with the best tools, now takes hours with
Meteor._</b>
The web was originally designed to work in the same way that mainframes
worked in the 70s. The application server rendered a screen and sent it
over the network to a dumb terminal. Whenever the user did anything,
that server rerendered a whole new screen. This model served the Web
well for over a decade. It gave rise to LAMP, Rails, Django, PHP.
But the best teams, with the biggest budgets and the longest schedules,
now build applications in JavaScript that run on the client. These apps
have stellar interfaces. They don't reload pages. They are reactive:
changes from any client immediately appear on everyone's screen.
They've built them the hard way. Meteor makes it an order of
magnitude simpler, and a lot more fun. You can build a complete
application in a weekend, or a sufficiently caffeinated hackathon. No
longer do you need to provision server resources, or deploy API
endpoints in the cloud, or manage a database, or wrangle an ORM layer,
or swap back and forth between JavaScript and Ruby, or broadcast data
invalidations to clients.
Meteor is a work in progress, but we hope it shows the direction of
our thinking. We'd love to hear your feedback.
## Quick start!
<!-- change colors on these. $ and command output in grey, rest in
white -->
The following works on all [supported
platforms](https://github.com/meteor/meteor/wiki/Supported-Platforms).
Install Meteor:
<pre>
$ curl https://install.meteor.com | /bin/sh
</pre>
Create a project:
<pre>
$ meteor create myapp
</pre>
Run it locally:
<pre>
$ cd myapp
$ meteor
=> Meteor server running on: http://localhost:3000/
</pre>
Unleash it on the world (on a free server we provide):
<pre>
$ meteor deploy myapp.meteor.com
</pre>
<h2 id="sevenprinciples">Seven Principles of Meteor</h2>
<!-- wire with [1,2,3] on it -->
- _Data on the Wire_. Don't send HTML over the network. Send data and
let the client decide how to render it.
<!-- two people, one speech bubble coming out of both of their mouths,
containing '{}' -->
- _One Language._ Write both the client and the server parts of your
interface in JavaScript.
<!-- globe, with the same database icon in US and Russia -->
- _Database Everywhere_. Use the same transparent API to access your
database from the client or the server.
<!-- clock with zero time elapsed. or clock on left with zero time
elapsed, horizontal bold line to a clock with zero time elapsed, but a
line at a 45 degree angle to a a clock in grey with 100 ms
elapsed. like shades of relativity -->
- _Latency Compensation_. On the client, use prefetching and model
simulation to make it look like you have a zero-latency connection to
the database.
<!-- knee getting hit with hammer like in reflex test -->
- _Full Stack Reactivity_. Make realtime the default. All layers, from
database to template, should make an event-driven interface available.
- _Embrace the Ecosystem_. Meteor is open source and integrates,
rather than replaces, existing open source tools and frameworks.
<!-- zen circle -->
- _Simplicity Equals Productivity_. The best way to make something
seem simple is to have it actually _be_ simple. Accomplish this through
clean, classically beautiful APIs.
<h2 id="resources">Developer Resources</h2>
<!-- https://github.com/blog/273-github-ribbons -->
<a href="http://github.com/meteor/meteor"><img class="github-ribbon visible-desktop" style="position: absolute; top: 0; right: 0; border: 0;" src="/forkme_right_red_aa0000.png" alt="Fork me on GitHub"></a>
If anything in Meteor catches your interest, we hope you'll get involved
with the project!
<dl class="involved">
<dt><span>Stack Overflow</span></dt>
<dd>The best place to ask (and answer!) technical questions is on <a href="http://stackoverflow.com/questions/tagged/meteor">Stack
Overflow</a>. Be sure to add
the <code>meteor</code> tag to your question.
</dd>
<dt><span>Mailing lists</span></dt>
<dd>
We have two mailing lists for Meteor. <nobr><a href="http://groups.google.com/group/meteor-talk"><code>[email protected]</code></a></nobr>
is for general questions, requests for help, and new project
announcements.
<nobr><a href="http://groups.google.com/group/meteor-core"><code>[email protected]</code></a></nobr>
is for discussing Meteor internals and proposed changes.
</dd>
<dt><span>IRC</span></dt>
<dd><code>#meteor</code> on <code>irc.freenode.net</code>. The
developers hang out here and will answer your questions whenever they
can.</dd>
<dt><span>GitHub</span></dt>
<dd>The code is on <a href="http://github.com/meteor/meteor">GitHub</a>. The best way to send a patch is with a GitHub pull request, and the best way to file a bug is in the GitHub bug tracker. If the issue contains sensitive information or raises a security concern, email <code>security</code><code>@</code><code>meteor</code><code>.</code><code>com</code> instead, which will page the security team.</dd>
</dl>
{{/markdown}}
</div>
</template>