Files
meteor/docs/client/introduction.html
2012-03-20 16:55:30 -07:00

138 lines
4.9 KiB
HTML

<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 suffiently 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.
&mdash; Geoff, Nick, Matt, and David
## Quick start!
<!-- change colors on these. $ and command output in grey, rest in
white -->
Install Meteor:
<pre>
$ curl install.meteor.com | /bin/sh
</pre>
Create a project:
<pre>
$ meteor create myapp
</pre>
Run it locally:
<pre>
$ cd myapp
$ meteor
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" target="_blank"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://a248.e.akamai.net/assets.github.com/img/e6bef7a091f5f3138b8cd40bc3e114258dd68ddf/687474703a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67" 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>Group</span></dt>
<dd>
If you're using Meteor, please join our
<a target="_blank"
href="http://groups.google.com/group/meteor-users">Google Group</a>!
This would really help &mdash; we need your input to make good
design decisions.</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 target="_blank" 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.</dd>
<dt><span>Direct email</span></dt>
<dd>You can reach the core developers (Nick, Matt, Geoff, and David) at
<code><a href="mailto:contact@meteor.com">contact@meteor.com</a></code>. We read and reply to every email.
</dd>
</dl>
{{/markdown}}
</div>
</template>