Files
meteor/docs/client/introduction.html
2014-07-08 18:56:02 -07:00

143 lines
5.3 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 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
=&gt; 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>meteor-talk@googlegroups.com</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>meteor-core@googlegroups.com</code></a></nobr>
is for coordinating changes to Meteor core packages and the build
tools.
</dd>
<dt><span>GitHub</span></dt>
<dd>The core code is on <a href="http://github.com/meteor/meteor">GitHub</a>. If you're able to write code or file issues, we'd love to have your help. Please read <a href="https://github.com/meteor/meteor/wiki/Contributing-to-Meteor">Contributing to Meteor</a> for how to get started.
</dd>
<dt><span>The Meteor Manual</span></dt>
<dd>In-depth articles about the core components of Meteor can be found on the <a href="http://manual.meteor.com/">Meteor Manual</a>. The first article is about <a href="http://manual.meteor.com/#deps">Deps</a>, our transparent reactivity framework. More articles (covering topics like Blaze, Unibuild, and DDP) are coming soon!
</dd>
</dl>
{{/markdown}}
</div>
</template>